1.3. Installation und Konfiguration von Red Hat Enterprise Linux

Nach dem Einrichten der grundlegenden Cluster-Hardware fahren Sie mit der Installation von Red Hat Enterprise Linux auf beiden Cluster-Systemen fort. Stellen Sie dabei sicher, dass diese die verbundenen Geräte erkennen. Folgen Sie diesen Schritten:

  1. Installieren Sie Red Hat Enterprise Linux auf allen Cluster-Systemen. Anweisungen finden Sie unter Red Hat Enterprise Linux Installationshandbuch.

    Zusätzlich dazu ist folgendes bei der Installation von Red Hat Enterprise Linuxdringend empfohlen:

    • Ermitteln Sie die IP-Adressen der einzelnen Cluster-Systeme und der Bonded-Ethernet-Schnittstellen, bevor Sie Red Hat Enterprise Linux installieren. Beachten Sie bitte, dass die IP-Adressen der Bonded-Ethernet Schnittstellen private IP-Adressen (zum Beispiel 10.x.x.x) sein können.

    • Legen Sie keine lokalen Dateisysteme (wie /, /etc, /tmp und /var) auf gemeinsamen Speicher oder auf den gleichen SCSI-Bus wie gemeinsamen Speicher. Dies verhindert, dass ein Cluster-System aus Versehen einen Mount dieser Dateisysteme vornimmt, und reserviert auch die limitierte Anzahl von SCSI-Identifikationsnummern für Cluster-Festplatten auf dem Bus.

    • Legen Sie /tmp und /var auf verschiedene Dateisysteme. Dies kann die Leistung Ihres Systems steigern.

    • Stellen Sie sicher, dass das System während des Hochfahrens die Festplattengeräte in der selben Reihenfolge erkennt, in der diese während der Installation erkannt wurden. Sollten diese nicht in der selben Reihenfolge erkannt werden, kann das System u.U. nicht hochfahren.

    • Bei der Verwendung von RAID-Speichereinheiten, die mit LUNs (aus dem englischen: Logical Unit Number) größer als Null konfiguriert sind, ist es notwendig, folgendes zu der Datei /etc/modules.conf hinzuzufügen:

      options scsi_mod max_scsi_luns=255

      Nach Modifizierung der Datei modules.conf ist es nötig, das anfänglich erzeugte RAM-Laufwerk mit dem Befehl mkinitrd neu zu erzeugen. Im Red Hat Enterprise Linux Handbuch zur System-Administration finden Sie weitere Informationen zur Erzeugung von RAM-Laufwerken mit mkinitrd.

  2. Starten Sie die Systeme neu.

  3. Sollten Sie einen Terminal-Server verwenden, konfigurieren Sie Red Hat Enterprise Linux zum Senden von Konsolen-Meldungen zur Konsolen-Schnittstelle.

  4. Bearbeiten Sie die Datei /etc/hosts auf jedem der Cluster-Systeme und tragen Sie die im Cluster zu verwendenden IP-Adressen ein. Unter Abschnitt 1.3.1 finden Sie weitere Informationen zu speziell dieser Aufgabe.

  5. Verkleinern Sie das Alternate Kernel Boot Timeout Limit, um die Zeit zu verringern, die zum Hochfahren des Cluster-Systems benötigt wird. Weitere Informationen finden Sie unter Abschnitt 1.3.2.

  6. Stellen Sie sicher, dass keine Login (oder getty) Programme mit den seriellen Schnittstellen assoziiert sind, die für die Verbindung zum anderen Stromschalter (falls vorhanden) verwendet werden. Um diese Aufgabe auszuführen, bearbeiten Sie die Datei /etc/inittab und benutzen Sie das #-Symbol, um die Einträge, die sich auf die seriellen Schnittstellen und Stromschalter beziehen, auszukommentieren. Rufen Sie anschließend den init q Befehl auf.

  7. Überprüfen Sie, dass beide Systeme jegliche installierte Hardware erkennen:

    • Benutzen Sie den dmesg-Befehl, um die Startup-Meldungen der Konsole anzuzeigen. Weitere Informationen finden Sie unter Abschnitt 1.3.3.

    • Benutzen Sie den Befehl cat /proc/devices, um die Geräte, die im Kernel konfiguriert sind, anzuzeigen. Weitere Informationen finden Sie unter Abschnitt 1.3.4.

  8. Überprüfen Sie, dass das Cluster-System über alle Netzwerkschnittstellen kommunizieren kann, indem Sie mit dem ping-Befehl Testpakete von einem zum anderen System schicken.

  9. Sollten Sie vorhaben, die Samba-Services zu konfigurieren, überprüfen Sie bitte, dass die Samba-bezogenen RPM-Pakete auf Ihrem System installiert sind.

1.3.1. Bearbeiten der Datei /etc/hosts

Die Datei /etc/hosts enthält die Übersetzungstabelle von IP-Adresse zu Hostname. Die Datei /etc/hosts muss auf jedem der Cluster-Systeme folgende Einträge enthalten:

Als Alternative zur Datei /etc/hosts können namensgebende Services wie DNS oder NIS verwendet werden, um die Hostnamen, die im Cluster verwendet werden, zu definieren. Um jedoch die Anzahl der Abhängigkeiten zu begrenzen und Verfügbarkeit zu optimieren, wirdes strengstens empfohlen, die IP-Adressen für die Netzwerk-Schnittstellen im Cluster in der Datei /etc/hosts anzugeben.

Das folgende ist ein Beispiel der Datei /etc/hosts auf einem Cluster-System:

127.0.0.1         localhost.localdomain   localhost
193.186.1.81      cluster2.example.com      cluster2
10.0.0.1          ecluster2.example.com     ecluster2
193.186.1.82      cluster3.example.com      cluster3
10.0.0.2          ecluster3.example.com     ecluster3

Das vorangegangene Beispiel zeigt die IP-Adressen und Hostnamen zweier Cluster-Systeme (cluster2 und cluster3), und die privaten IP-Adressen und Hostnamen für die Ethernet Schnittstelle, die in der Punkt-zu-Punkt Heartbeat-Verbindung auf den jeweiligen Cluster-Systemen (ecluster2 und ecluster3) verwendet werden.

Überprüfen Sie das korrekte Format des Eintrags für den lokalen Host (local host) in der Datei /etc/hosts, um sicherzustellen, dass keine nicht-lokalen Systeme darin enthalten sind. Ein Beispiel eines falschen Eintrags für den lokalen Host, das ein nicht-lokales System (server1) enthält, ist folgendes:

127.0.0.1     localhost.localdomain     localhost server1

Eine Ethernet-Verbindung funktioniert unter Umständen nicht richtig, wenn das Format der Datei/etc/hosts falsch ist. Prüfen Sie die Datei /etc/hosts und verbessern Sie, falls erforderlich, das Format der Datei durch Entfernen von nicht-lokalen Systemen aus dem Eintrag des lokalen Host.

Beachten Sie, dass jeder Netzwerk-Adapter mit der entsprechenden IP-Adresse und Netmask konfiguriert werden muss.

Das folgende ist ein Beispiel eines Teils der Ausgabe des /sbin/ifconfig Befehls auf einem Cluster-System:

eth0      Link encap:Ethernet  HWaddr 00:00:BC:11:76:93  
          inet addr:192.186.1.81  Bcast:192.186.1.245  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:65508254 errors:225 dropped:0 overruns:2 frame:0
          TX packets:40364135 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          Interrupt:19 Base address:0xfce0

eth1      Link encap:Ethernet  HWaddr 00:00:BC:11:76:92  
          inet addr:10.0.0.1  Bcast:10.0.0.245  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          Interrupt:18 Base address:0xfcc0

Das vorhergehende Beispiel zeigt zwei Netzwerk-Schnittstellen eines Cluster Systems: eth0 (Netzwerk-Schnittstelle für das Cluster System) und eth1 (Netzwerk-Schnittstelle für die Punkt-zu-Punkt Ethernet-Verbindung).

Sie können auch die IP-Adressen für den Cluster-Member zu Ihrem DNS-Server hinzufügen. Sehen Sie das Red Hat Enterprise Linux Referenzhandbuch für Informationen zum Konfigurieren des DNS, oder sprechen Sie mit Ihrem Netzwerk-Administrator.

1.3.2. Verringern des Kernel Boot Timeout Limit

Es ist möglich, die Zeit, die zum Hochfahren eines Cluster-Systems benötigt wird (die Bootzeit) durch Verringern des Kernel Boot Timeout Limit zu verringern. Während der Red Hat Enterprise Linux Boot-Sequenz erlaubt der Bootloader die Eingabe eines alternativ zu benutzenden Kernels. Der Standard für das Timeout Limit zur Eingabe des alternativen Kernel ist zehn Sekunden.

Um das Kernel Boot Timeout Limit eines Systems zu ändern, bearbeiten Sie die entsprechenden Dateien wie folgt:

Bei Verwendung des GRUB Bootloaders sollte der Timeout-Parameter in /boot/grub/grub.conf in die entsprechende Anzahl Sekunden (in Zehntel-Sekunden) für den timeout geändert werden. Um dieses Intervall auf 3 Sekunden festzusetzen, ändern Sie den Parameter in folgender Weise:

timeout = 3

Wenn Sie LILO oder ELILO Bootloader verwenden, bearbeiten Sie die Datei /etc/lilo.conf (auf x86-Systemen) oder die Datei elilo.conf (auf Itanium-Systemen) und geben Sie den gewünschten Wert ein (in Zehntelsekunden) für den timeout-Parameter. Im folgenden Beispiel wir das Timeout-Limit auf drei Sekunden gesetzt:

timeout = 30

Um die Änderungen an der Datei /etc/lilo.conf anzuwenden, führen Sie den Befehl /sbin/lilo aus.

Um die Änderungen bei einem Itanium-System an der Datei /boot/efi/efi/redhat/elilo.conf wirksam werden zu lassen, geben Sie den Befehl /sbin/elilo ein.

1.3.3. Anzeige der Startup-Meldungen der Konsole

Benutzen Sie den dmesg-Befehl, um die Startup-Meldungen der Konsole anzuzeigen. Weitere Informationen finden Sie auf der man-Seite für dmesg(8).

Das folgende Beispiel einer Ausgabe des dmesg-Befehls zeigt, dass zwei externe SCSI-Busse und neun Festplatten auf dem System erkannt wurden (beachten Sie, dass Zeilen mit einem Backslash auf den meisten Bildschirmen als eine Zeile dargestellt werden):

May 22 14:02:10 storage3 kernel: scsi0 : Adaptec AHA274x/284x/294x \
	      (EISA/VLB/PCI-Fast SCSI) 5.1.28/3.2.4 
May 22 14:02:10 storage3 kernel:         
May 22 14:02:10 storage3 kernel: scsi1 : Adaptec AHA274x/284x/294x \
              (EISA/VLB/PCI-Fast SCSI) 5.1.28/3.2.4 
May 22 14:02:10 storage3 kernel:         
May 22 14:02:10 storage3 kernel: scsi : 2 hosts. 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST39236LW         Rev: 0004 
May 22 14:02:11 storage3 kernel: Detected scsi disk sda at scsi0, channel 0, id 0, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdb at scsi1, channel 0, id 0, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdc at scsi1, channel 0, id 1, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdd at scsi1, channel 0, id 2, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sde at scsi1, channel 0, id 3, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdf at scsi1, channel 0, id 8, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdg at scsi1, channel 0, id 9, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdh at scsi1, channel 0, id 10, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdi at scsi1, channel 0, id 11, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: Dell      Model: 8 BAY U2W CU      Rev: 0205 
May 22 14:02:11 storage3 kernel:   Type:   Processor \
                          ANSI SCSI revision: 03 
May 22 14:02:11 storage3 kernel: scsi1 : channel 0 target 15 lun 1 request sense \
	      failed, performing reset. 
May 22 14:02:11 storage3 kernel: SCSI bus is being reset for host 1 channel 0. 
May 22 14:02:11 storage3 kernel: scsi : detected 9 SCSI disks total.

Das folgende Beispiel einer Ausgabe des dmesg-Befehls zeigt, dass eine Quad Ethernet Karte auf dem System erkannt wurde:

May 22 14:02:11 storage3 kernel: 3c59x.c:v0.99H 11/17/98 Donald Becker
May 22 14:02:11 storage3 kernel: tulip.c:v0.91g-ppc 7/16/99 becker@cesdis.gsfc.nasa.gov 
May 22 14:02:11 storage3 kernel: eth0: Digital DS21140 Tulip rev 34 at 0x9800, \
	      00:00:BC:11:76:93, IRQ 5. 
May 22 14:02:12 storage3 kernel: eth1: Digital DS21140 Tulip rev 34 at 0x9400, \
	      00:00:BC:11:76:92, IRQ 9. 
May 22 14:02:12 storage3 kernel: eth2: Digital DS21140 Tulip rev 34 at 0x9000, \
	      00:00:BC:11:76:91, IRQ 11. 
May 22 14:02:12 storage3 kernel: eth3: Digital DS21140 Tulip rev 34 at 0x8800, \
	      00:00:BC:11:76:90, IRQ 10.

1.3.4. Anzeige von im Kernel konfigurierten Geräten

Um sicherzustellen, dass die installierten Geräte einschließlich serieller Schnittstellen und Netzwerkkarten im Kernel konfiguriert sind, benutzen Sie den Befehl cat /proc/devices auf jedem der Cluster-Systeme. Benutzen Sie diesen Befehl auch um festzustellen, ob Support für Raw-Geräte auf dem System installiert ist. Beispiel:

Character devices:
  1 mem
  2 pty
  3 ttyp
  4 ttyS
  5 cua
  7 vcs
 10 misc
 19 ttyC
 20 cub
128 ptm
136 pts
162 raw

Block devices:
  2 fd
  3 ide0
  8 sd
 65 sd

Das vorangehende Beispiel zeigt: