Real Application Clusters (RAC) auf Linux Low Cost
Transcrição
Real Application Clusters (RAC) auf Linux Low Cost
| Dr. Martin Wunderli, Trivadis AG, November 2002 | Real Application Clusters (RAC) auf Linux Low Cost Systemen www.trivadis.com © © Copyright Trivadis AG 1 Agenda Positionierung Real Application Clusters (RAC) - Grundprinzipien RAC auf Linux – Installation und Konfiguration Multi-Node Systeme mit SCSI Shared Disk Multi-Node Systeme mit Firewire Shared Disk Single Node Systeme Fazit © © Copyright Trivadis AG 2 Positionierung dieses Vortrags Mit Oracle9i wurden massgebliche Performanceprobleme bei Oracle Parallel Server (OPS) beseitigt, daher auch die Umbenennung zu Real Application Clusters (RAC) Oracle empfiehlt RAC Installationen aus Skalierungs- und Verfügbarkeitsgründen (vielleicht auch wegen Lizenzengebühren ☺ ?) Zum Testen war aber bisher teure Hardware notwendig (zum Vergleich: Der 1. Cluster im Trivadis Technology Center bestand aus zwei SUN 250 mit SCSI Disks Array für mehr als 80'000 EUR…) Wie man eine günstige Test-, Entwicklungs- und Schulungsumgebung aufbauen kann, soll dieser Vortrag demonstrieren. Er stellt definitv nicht eine Empfehlung für die Produktion dar! © © Copyright Trivadis AG 3 Agenda Positionierung Real Application Clusters (RAC) - Grundprinzipien RAC auf Linux – Installation und Konfiguration Multi-Node Systeme mit SCSI Shared Disk Multi-Node Systeme mit Firewire Shared Disk Single Node Systeme Fazit © © Copyright Trivadis AG 4 Grundprinzipien (1) Shared Disk Cluster X Data A-Z Vorteil: Bei Knotenausfall keine Reduktion der Datenverfügbarkeit – Datensicherheit obliegt dem Disksubsystem (Raid Technologien) – Disksubsystem muss Zugriff von mehreren Knoten aus erlauben → Disksubsystem ist zentral Nachteil: Konsistenz der SGAs der Instanzen – Die Konsistenzerhaltung erfolgt über den Cluster Interconnect → Netzwerk ist zentral © © Copyright Trivadis AG 5 Grundprinzipien (2) Cache Fusion (hier: Write/Write) Inst A Inst B SGA SGA 1 GCS Lockinfo DBA: 2211 M od e Vers ion ... NULL CR DBA: 2211 U. Lankes M. Wunderli Write Request 3 Current Block Shipping GCS Lockinfo DBA: 2211 M od e Version ... E XCL XCUR DBA: 2211 U. Lankes Y. Neuhaus S. Matiz S. Matiz ... ... LGWR 2 Log Force © Redo DBA: 2211 A. Kisseleff M. Wunderli S. Matiz ... Redo © Copyright Trivadis AG 6 Agenda Positionierung Real Application Clusters (RAC) - Grundprinzipien RAC auf Linux – Installation und Konfiguration Multi-Node Systeme mit SCSI Shared Disk Multi-Node Systeme mit Firewire Shared Disk Single Node Systeme Fazit © © Copyright Trivadis AG 7 Cluster Manager unter Linux Im Gegensatz zu anderen Betriebssystemen (Solaris, HP/UX) wird bei RAC Linux und Windows die Clusterkomponente für die OS Ebene von Oracle geliefert LMON Oracle Instance Cluster Manager Oracle Cluster Managment Oracle provided Software Watchdog Daemon Linux Watchdog Timer © /dev/watchdog (OCMS) OS provided © Copyright Trivadis AG 8 Cluster Manager Installation unter Linux Zuerst den Cluster Manager installieren (ab 9.2.0.1) © © Copyright Trivadis AG 9 Cluster Manager Konfiguration unter Linux (1) Watchdog und Cluster Manager werden über die Kommandozeile und Konfigurationsfiles unter $ORACLE_HOME/oracm/admin konfiguriert Unter $ORACLE_HOME/oracm/bin wird das Script ocmstart.sh aufgerufen, um den Cluster zu starten floyd@root:RACFCB1 floyd@root:RACFCB1 /u00/app/oracle/product/9.2.0/oracm> /u00/app/oracle/product/9.2.0/oracm> bin/ocmstart.sh bin/ocmstart.sh watchdogd -g dba -l 1 -d /dev/null watchdogd -g dba -l 1 -d /dev/null oracm oracm /a:0 /a:0 </dev/null </dev/null 2>&1 2>&1 >/u00/app/oracle/product/9.2.0/oracm/log/cm.out >/u00/app/oracle/product/9.2.0/oracm/log/cm.out && © © Copyright Trivadis AG 10 Cluster Manager Konfiguration unter Linux (2) 2 Konfigurationsdateien unter $ORACLE_HOME/oracm/admin ## Cluster Cluster Manager Manager Paramter: Paramter: cmfg.ora cmfg.ora on on node node chandra chandra ClusterName=RACFCB ClusterName=RACFCB HostName=floyd-local HostName=floyd-local PublicNodeNames=floyd PublicNodeNames=floyd chandra chandra PrivateNodeNames=floyd-local PrivateNodeNames=floyd-local chandra-local chandra-local ## Quorum partition into which Quorum partition into which every every CM CM writes writes timestamps timestamps CmDiskFile=/dev/oraraw/cluster CmDiskFile=/dev/oraraw/cluster ## another another node node is is regared regared as as dead dead after after MissCount*PollIntervall MissCount*PollIntervall (def (def 3) 3) ss MissCount=10 MissCount=10 ## Watchdog Watchdog parameters parameters WatchdogSafetyMargin=5000 WatchdogSafetyMargin=5000 WatchdogTimerMargin=30000 WatchdogTimerMargin=30000 ## ocmargs.ora ocmargs.ora ## Reboot Reboot if if clients clients (e.g. (e.g. cm) cm) do do not not report report watchdogd -l 1 -m 5000 watchdogd -l 1 -m 5000 ## Restart Restart node node if if an an instance instance failes failes oracm /a:0 oracm /a:0 ## Do Do not not restart restart cluster cluster manager manager withing withing 30min 30min of of last last reboot reboot norestart 1800 norestart 1800 © © Copyright Trivadis AG 11 Prozess Überwachung mit OCM Linux Linux Kernel Bootet Knoten, falls watchdog abgestürzt und Kernel Parameter CONFIG_WATCHDOG_NOWAYOUT=Y watchdog Bootet Knoten, falls CM abgestürzt und Parameter –l 1 gesetzt Cluster Manager Bootet Knoten, falls Oracle Prozesse abgestürzt und Parameter /a:1 Oracle Prozesse © © Copyright Trivadis AG 12 RAC Installation Linux (1) Nach Konfiguration und Start des Clusters erkennt der OUI den Cluster und erlaubt die Selektion der RAC Option © © Copyright Trivadis AG 13 RAC Installation Linux (2) Das RAW Device für srvctl © © Copyright Trivadis AG 14 RAC Installation Linux (3) Weitere Knoten im Cluster Besser keine zusätzlichen selektieren... Ansonsten startet der Installer nach der Installation einen Copy Prozess (tar und rsh) auf die anderen Knoten. Es ist wesentlich schneller, parallel auf allen Knoten zu installieren oder den installierten Softwarebaum komprimiert zu übertragen © © Copyright Trivadis AG 15 Gemeinsamkeiten aller folgenden Systeme Oracle 9.2.0.1 Automatisches UNDO Management Default Temporary Tablespace RAW Devices auf LVM Devices Gemeinsam genutzte externe Disk mit Datenfiles und mit archivierten Redo Logs (z.T. auf separater Disk) © © Copyright Trivadis AG 16 Agenda Positionierung Real Application Clusters (RAC) - Grundprinzipien RAC auf Linux – Installation und Konfiguration Multi-Node Systeme mit SCSI Shared Disk Multi-Node Systeme mit Firewire Shared Disk Single Node Systeme Fazit © © Copyright Trivadis AG 17 Notebook Cluster mit externer SCSI Disk Eigentlich sollte man den Mantel des Schweigens über diesen Versuch legen… ☺/ Zwei Notebook Compaq Armada 7800 – – – – 233 MHz Pentium II 384 MByte RAM 3COM PCMCIA 10 MBit Ethernet Karte Adaptec PCMCIA SCSI Karte (2 MByte/s) SuSE Linux 7.2, Kernel 2.4.7 Wegen Kernel/PCMCIA Problemen laufend Verlust der Verbindung zum anderen Knoten (Abschalten der PCMCIA Karte): Reboot! © © Copyright Trivadis AG 18 3 Node Cluster mit identischer HW (1) Ziel: – Einen Cluster aus preiswerten, aber doch qualitativ guten Komponenten zusammenstellen Daher: – Wegen Preis, keine HW Hersteller/Oracle zertifizierte Server Hardware Für ein produktives System empfehlen wir aber unbedingt zertifizerte Hardware. Niemals Eigenbauten Infos zu zertifizierter Linux Hardware: – www.suse.de/en/support/oracle/db/9i_sles7.html (Oracle Linux RAC, Compaq und Linux) – www.dell.com/us/en/esg/topics/products_oracle9i_pedge_000_oracle9i_rac.htm (Oracle Linux RAC, DELL und Linux) – Suche auf www.google.com nach Hersteller, Linux und RAC © © Copyright Trivadis AG 19 3 Node Cluster mit identischer HW (2) Eigenbau: Total weniger als CHF 8700.- (ca. 5800.- EUR) 3 DELL Optiplex GX240, 1 GByte RAM, Intel P4 1.5 GHz – Interne 40 GByte EIDE Harddisk AT 100 – 100 MBit Ethernet Onboard, 100 MBit 3COM Ethernet Karte für Cluster Kommunikation – Adaptec 29160 Ultra160 Controller (64 Bit PCI) für Low Voltage Differential (LVD) SCSI Drives (Ultra160) 2 Seagate ST336752 36 Gbyte, 10000 U/min SCSI Drives in externer Diskbox SuSE Linux Enterprise Server 7, Kernel 2.4.16 © © Copyright Trivadis AG 20 3 Node Cluster mit identischer HW (3) 3 Knoten yin, yang und chi Controller ID 14 yin Controller ID 13 chi HD ID 8 HD ID 9 Controller ID 15 yang Problem: – Einschalten yin: Hängt beim SCSI Bus Scan (yang und chi sind ausgeschaltet) – Einschalten chi: Hängt beim SCSI Bus Scan – Einschalten yang: Bootet – Reset yin: Bootet, Reset chi: Bootet Grund: Abgeschaltete SCSI Controller Karten sind nicht terminiert © © Copyright Trivadis AG 21 3 Node Cluster mit identischer HW (4) 3 Knoten yin, yang und chi Controller ID 14 yin Controller ID 13 , aktive Terminatoren chi HD ID 8 HD ID 9 Controller ID 15 yang Positiv: – Auch ein einzelner Rechner bootet Weniger positiv: – Disks reduzieren automatisch Schreibrate auf 40 MByte/s – Datenbank erstellen führt zu Lockup der Disk – Cluster Manager verabschiedet sich beim Booten eines anderen Knotens © © Copyright Trivadis AG 22 3 Node Cluster mit identischer HW (5) Erkenntnisse zu Terminatoren: Gute Terminatoren ☺ (für gestresste Consultants): Schlechte Terminatoren (für LVD SCSI Disks): © © Copyright Trivadis AG 23 3 Knoten Cluster mit identischer HW (6) 3 Knoten yin, yang und chi LVD Terminator Controller ID 14 yin , LVD Terminatoren Controller ID 13 chi LVD Terminator HD ID 8 HD ID 9 Controller ID 15 yang Positiv: – Alles läuft Weniger positiv: – Disks auf SCSI Controller Ebene mussten auf 80 MByte/s limitiert werden, sonst Lockup bei Datenbank Erzeugen © © Copyright Trivadis AG 24 3 Knoten Cluster: Fazit Nette, schnelle Testumgebung Aber: GX240 – PCI Raiser Card nicht fixiert, rutscht leicht aus Slot – Nur 32 Bit PCI Slots – Ist definitiv ein Desktop PC, kein Server Kombination Seagate Disk Drives und AHA 29160 nicht über alle Zweifel erhaben – Hänger bei Streaming Write und 160 MByte/s trotz offiziellem Treiber von Adaptec – Problem beim RMAN Backup (belastendes gleichzeitiges Lesen- und Schreiben) – Wurden daher durch IBM IC35L036UWPR15-0 ersetzt: Probleme gelöst Kombination paralleler SCSI Bus/Kabel/Terminatoren sehr empfindlich © © Copyright Trivadis AG 25 2 Knoten Cluster mit unterschiedlicher HW (1) Ziel: Die Bastelkiste entrümpeln ☺ Knoten 1 (floyd), ca. 1000 EUR: – Mainboard KT7A, AMD Athlon 1.33 GHz, 1.5 GByte RAM – Zwei 3COM Ethernetkarten für public und private Network – Tekram DC-395 SCSI Controller für interne Disks (OS, Oracle) – QLogic QLA12160 SCSI Adapter (Ultra-160, LVD), 80.- EUR Knoten 2 (chandra), ca. 700 EUR: – Mainboard Gigabyte GA-6BA, Pentium III 450 MHz, 1 GByte RAM – Zwei 3COM Ethernetkarten für public und private Network – Adaptec SCSI Controller mit aic7880 Chip für interne Disks – QLogic QLA12160 SCSI Adapter (Ultra-160, LVD), 80.- EUR Externe Diskbox wie 3 Knoten Cluster SuSE Linux Enterprise Server 7, Kernel 2.4.16 © © Copyright Trivadis AG 26 2 Knoten Cluster mit unterschiedlicher HW (2) Das Hauptproblem waren wieder die externen Disks Obwohl diesmal von Anfang an die richtigen Terminatoren und Kabel bekannt waren, von Anfang an IBM Disks verwendet wurden, litt der Cluster unter gelegentlichen Hängern Erst das Bremsen der Disks auf 40 MByte/s und die Reduktion des Sync Offsets im Controller BIOS von 24 auf 14 brachten ein stabiles System Sync Offset: Maximale Anzahl von Requests während eines synchronen Datentransfers bevor ein Acknowledge empfangen wird © © Copyright Trivadis AG 27 2 Knoten Cluster mit unterschiedlicher HW (3) Performance Test SHUTDOWN STARTUP SQL> select /*+ parallel(sales,1,1) */ sum(QUANTITY_SOLD) from sh.sales; SUM(QUANTITY_SOLD) -----------------13269755 Elapsed: 00:00:05.61 SHUTDOWN STARTUP SQL> select /*+ parallel(sales,1,2) */ sum(QUANTITY_SOLD) from sh.sales; SUM(QUANTITY_SOLD) -----------------13269755 Elapsed: 00:00:03.36 © © Copyright Trivadis AG 28 2 Knoten Cluster: Fazit Auch alte Hardware kann noch für Cluster Tests herhalten Unterschiedliche Performance der Knoten ist kein Problem für RAC Der Betrieb von gemeinsam genutzten SCSI Disks erfordert einiges an Hardware Know How © © Copyright Trivadis AG 29 Agenda Positionierung Real Application Clusters (RAC) - Grundprinzipien RAC auf Linux – Installation und Konfiguration Multi-Node Systeme mit SCSI Shared Disk Multi-Node Systeme mit Firewire Shared Disk Single Node Systeme Fazit © © Copyright Trivadis AG 30 Firewire Cluster Ziel – Ein einfach zu transportierender, 'echter' Cluster – Kein SCSI ☺ Hardware – Zwei Notebook Compaq Armada M700 800 Mhz Pentium III, 384 MByte RAM, 12 GByte HD – Ethernet Controller On Board – 3COM PCMCIA Ethernetkarte für private Network – ATEN PCMCIA IEEE1394 Controller (Firewire), 75.- EUR – Externe Firewire Disk, 80 GByte, Maxtor, 7200 RPM, 300.- EUR Software – SuSE Linux 8.1 Professional, Kernel 2.4.19 © © Copyright Trivadis AG 31 Was ist Firewire? Auch bekannt als IEEE 1394 Standard für die Anbindung von Peripheriegeräten wie z.B. Videokameras. Oder eben Harddisks. Seriell, Peer to Peer, bis zu 400 MBit/s Treiber in den aktuellen Linux Kerneln und Distributionen enthalten Weitere Infos unter www.linux1394.org © © Copyright Trivadis AG 32 Firewire und Linux Disks werden als SCSI Disk erkannt Da Peer-to-Peer erfolgt ein 'Login' des Rechners in das Device (Disk) Dieses Login darf im Falle eines Clusters nicht exklusiv sein! Parameter zum Modul sbp2, einzutragen in /etc/modules.conf: options sbp2 sbp2_exclusive_login=0 © © Copyright Trivadis AG 33 Hardware Detection Kernel erkennt automatisch PCMCIA Karte und Disk Nov 11 22:09:09 localhost [Linux OHCI-1394] Nov 11 22:09:09 localhost [Linux OHCI-1394] Nov 11 22:09:09 localhost [Maxtor ] Nov 11 22:09:10 localhost Nov 11 22:09:10 localhost [2048] Nov 11 22:09:10 localhost Nov 11 22:09:10 localhost Nov 11 22:09:10 localhost Nov 11 22:09:10 localhost Nov 11 22:09:10 localhost Nov 11 22:09:10 localhost Nov 11 22:09:10 localhost Nov 11 22:09:10 localhost kernel: ieee1394: Device added: Node[00:1023] kernel: ieee1394: Host added: Node[01:1023] GUID[001074500050086c] GUID[00107450005007ba] kernel: ieee1394: Device added: Node[02:1023] GUID[0010b9010140ff67] kernel: ieee1394: sbp2: Logged into SBP-2 device kernel: ieee1394: sbp2: Node[02:1023]: Max speed [S400] - Max payload kernel: kernel: kernel: kernel: kernel: kernel: kernel: kernel: scsi0 : IEEE-1394 SBP-2 protocol driver (host: ohci1394) $Rev: 530 $ James Goodwin <[email protected]> SBP-2 module load options: - Max speed supported: S400 - Max sectors per I/O supported: 255 - Max outstanding commands supported: 8 - Max outstanding commands per lun supported: 1 - Serialized I/O (debug): no Nov 11 22:09:10 localhost kernel: - Exclusive login: no Nov 11 22:09:10 localhost kernel: Nov 11 22:09:10 localhost kernel: 06 © Vendor: Maxtor Model: 1394 storage Type: Direct-Access Rev: v1.3 ANSI SCSI revision: © Copyright Trivadis AG 34 Firewire Cluster: Fazit Wenn man den Modul Parameter erst einmal gefunden hat: Sehr einfaches Setup Erstaunlich performant Mein Favorit für den mobilen Cluster! © © Copyright Trivadis AG 35 Agenda Positionierung Real Application Clusters (RAC) - Grundprinzipien RAC auf Linux – Installation und Konfiguration Multi-Node Systeme mit SCSI Shared Disk Multi-Node Systeme mit Firewire Shared Disk Single Node Systeme Fazit © © Copyright Trivadis AG 36 Single-Node RAC Systeme - Varianten Reiner Single Node – Beschrieben in Metalink Note 166830.1 "Setting up Real Application Cluster (RAC) environment on Linux - Single node" – Vorteile: Geringster Resourcen Verbrauch für Single Node RAC – Nachteil: Relativ weit von betrieblicher Realität entfernt (Kein Interconnect, keine RAW Devices etc.) Rechner mit einer VMware Instanz – Shared RAW Devices sind RAW Devices des Wirt Rechners – Vorteil: Kompromiss zwischen Realitätsnähe und Resourcenverbrauch – Nachteil: Fehler beim RAW Device Handling können den Wirt Rechner lahmlegen Rechner mit 2 VMware Instanzen und alle Disks als Files implementiert © © Copyright Trivadis AG 37 Was ist VMware? www.vmware.com Stellt eine virtuelle Hardware (KEIN Betriebssystem) zur Verfügung Auf dieser virtuellen Hardware können dann (fast) beliebige i386 Betriebssysteme laufen Diverse Varianten an Disk und CDROM Support Bei Disks z.B. – 'echte' Disks/Partitionen – wachsende Dateien – Dateien fixer Grösse © © Copyright Trivadis AG 38 VMware Cluster Setup (1) Im wesentlichen Standard Setup eines virtuellen Rechners 256 MByte RAM pro Node SuSE Linux Enterprise Server 7 mit Update CD (Kernel 2.4.18) für Gast OS, SuSE 8.1 Professional für Wirt OS Zu beachten: – Disk-Files müssen komplett voralloziert sein – Kein Write Caching – Essentiell: File Locking ausschalten im CFG jedes Nodes disk.locking=false © © Copyright Trivadis AG 39 VMware Cluster Setup (2) Real Network Virtuelles Public Network Virtuelles Private Network © © Copyright Trivadis AG 40 VMware Cluster Setup (3) © © Copyright Trivadis AG 41 VMware Cluster Setup (4) Angepasste Cluster Manager Optionen, da der verwendete Testrechner relativ schwach war (1 GByte RAM, 1.03 GHz Pentium IV) und die Instanzen oftmals ein Split Brain vermuteten (Network TimeOut) MissCount=30 PollIntervall=2000 WatchdogTimeMargin=30000 Ebenso wurde das softdog Modul mit dem Parameter soft_margin=30 geladen insmod softdog soft_margin=30 © © Copyright Trivadis AG 42 VMware Cluster: Fazit Interessante Möglichkeit, auf einem einzelnen Rechner relativ realistisch RAC zu simulieren Der Resourcenverbrauch ist nicht zu unterschätzen, Überlastung des Rechners führt zu Netzwerk Timeouts und gerade bei Ladejobs, Startup, etc. zu Instance Crashes Die Lizenkosten von VMware Workstation sind ca. 350.- EUR © © Copyright Trivadis AG 43 Agenda Positionierung Real Application Clusters (RAC) - Grundprinzipien RAC auf Linux – Installation und Konfiguration Multi-Node Systeme mit SCSI Shared Disk Multi-Node Systeme mit Firewire Shared Disk Single Node Systeme Fazit © © Copyright Trivadis AG 44 RAC auf Linux Low Cost Systemen: Fazit Betrachtet wurden SCSI, Firewire und virtuelle (VMware) Cluster Jede Variante hat ihre Vor- und Nachteile – SCSI: Schnell, Disks und andere HW oft vorhanden, aber: Schwierig zu konfigurieren – Firewire: Schnell, einfach zu konfigurieren, aber: Hardware oftmals noch nicht vorhanden – VMware Cluster: Benötigt nur einen Rechner, aber: VMware Lizenz, man muss VMware Networking gut beherrschen Alle Varianten haben eins gemeinsam: Preisgünstig, RACeln kann realitätsnah geübt werden © © Copyright Trivadis AG 45