Login
Newsletter
Werbung

Do, 18. Oktober 2007, 00:00

High Availability Computer Center (hacc-) Teil 1

Teil 1: Übersicht, Bootvorgang und Arbeitsknoten

Die Lösung im Einzelnen

Bei den Nodes ist eine Trennung zwischen der Software (Applikationen und Daten eines Nodes) und der konkreten Hardware erreicht worden. Jedem physischen Arbeitsknoten (jeder Hardware) wird fest eine interne IP-Adresse zugeordnet. Diese wird dem Knoten beim Boot mitgeteilt. Sie ist nicht Bestandteil der Boot-»Images« (der Software). Ein Teil dieser internen IP-Adresse wird aber als Link auf das konkret zu bootende »Image« (die Software) genutzt. In diesem »Image« (welches kein Image, sondern eine normale NFS-Ressource ist) sind als IP-Adressen nur die externen IP-Adressen der Applikationen fest hinterlegt. Per symbolischem Link wird also festgelegt, auf welchem physischen Knoten welches Betriebssystem (welche Applikations-Software mit welcher Konfiguration) gestartet wird (Siehe Bild 2).

Die Knoten-Nummer ist Bestandteil der internen IP-Adresse der Knotens. Das Image »XXX« ist dabei ein Platzhalter für defekte Knoten. Bei einer automatischen Erkennung eines Ausfalls eines Knotens und nicht erfolgreichem Reboot wird der Knoten als defekt (»XXX«) gekennzeichnet. Der untere Teil in Bild 1 zeigt die Zuordnung der Applikationsimages, n00 .. n99 zu den physischen Knoten. Die Node-Nummer ist dabei die letzte Stelle der IP-Adresse des Knotens. Es wird das Teilnetz 192.168.100 benutzt.

Bild 1: Darstellung eines Teils der mit Python erstellten Administrationsoberfläche

Josef Müller

Bild 1: Darstellung eines Teils der mit Python erstellten Administrationsoberfläche

Boot

Da wir einen nicht offenen NFS-Server haben, der weder DHCP noch TFTP kann und auch keinen PXE-Boot anstoßen kann, musste das Booten der Arbeitsknoten (Nodes) über die Steuerknoten (Control Nodes) realisiert werden. Dies ist auch der Grund dafür, weshalb auf den Steuerknoten die lokalen Platten für das Betriebssystem genutzt werden müssen.

Als Softwarebasis wurde weitgehend SLES10 benutzt. Darum beziehen sich die folgenden Angaben auf diese Systemplattenform.

Auf den Steuerknoten läuft ein DHCP-Server. Dieser ordnet den MAC-Adressen der Nodes die internen IP-Adressen zu. Die Nodes werden über PXE, also über das Netz, gebootet. Dabei erhält jeder Node seine Boot-Parameter. Dies sind der Kernel, die Initrd und das Root-Dateisystem. Alles sind symbolische Links. Per TFTP wird nun der Kernel und die Initrd geladen. Das Root-Dateisystem wird per NFS-Mount benutzt.

Das Root-Dateisystem des PXE-Satzes (Liste 3) ist ein symbolischer Link auf das Root-»Image« des Applikationsservers (Bild 2). Die PXE-Angaben für den Kernel und die Initrd sind symbolische Links auf der Basis des symbolischen Links zum »Image«. Diese Links verweisen letztendlich auf die standardisierten Links für den Kernel und die Initrd im /boot-Verzeichnis eines SUSE-Linux-Systems.

DHCP

Für die Erstellung des DHCP ist die Ermittlung der MAC-Adresse der Arbeitsknoten erforderlich. Diese werden in die Konfigurationsdatei eingetragen (Siehe Liste 1). Weiterhin muss noch die Konfiguration angepasst werden (/etc/sysconfig/dhcpd: DHCPD_INTERFACE="eth1").

Liste 1: /etc/dhcpd.conf

1:ddns-update-style none;
2:
3:allow booting;
4:allow bootp;
5:
6:not authoritative;
7:DHCPD_INTERFACE = "eth1";
8:
9:filename "pxelinux.0";
10:next-server 192.168.100.101;
11:
12:option pxelinux.reboottime 30;
13:
14:shared-network "Auto DHCP" {
15:
16:
17: subnet 192.168.100.0 netmask 255.255.255.0 {
18: group {
19: host C0A86406 {
20: hardware ethernet 00:C0:9F:99:EB:E7;
21: fixed-address 192.168.100.6;
22: }
23: host C0A86407 {
24: hardware ethernet 00:C0:9F:99:E8:15;
25: fixed-address 192.168.100.7;
26: }
27: host C0A86408 {
28: hardware ethernet 00:C0:9F:99:E9:A1;
29: fixed-address 192.168.100.8;
30: }
...

Liste 1 enthält die DHCP-Konfiguration. Der Hostname (Zeile 19, 23, 27) entspricht der hexadezimalen internen IP-Adresse (Zeile 21, 25, 29) des Knotens. Die interne IP-Adresse repräsentiert den physischen Knoten. Der Name wird für den PXE-Boot benötigt. Der eigentliche Host-Name des »Images« wird über das »Image«-Dateisystem vermittelt (Inhalt der Datei /etc/HOSTNAME). Die DHCP-Konfiguration vermittelt auch die IP-Adresse des TFTP-Servers (Zeile 10), ebenso das Boot-Interface (Zeile 7). Die Angabe in Zeile 9 bezieht sich auf das PXE-Paket.

Diese Konfiguration wird auf jedem Steuerknoten (Control Node) vorgehalten.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung