Private Cloud im Eigenbau

Workshop - Private Cloud mit Eucalyptus

19.09.2011
Von Thomas Hümmler

Installation auf bestehendem System

Falls Sie bereits Ubuntu auf den Rechnern installiert haben, müssen Sie es nicht erst wieder löschen. In dem Fall installieren Sie die Eucalytus-Pakete entsprechend. Auf dem Frontend-Rechner geht das ziemlich einfach mit dem Befehl

sudo apt-get install eucalyptus-cloud eucalyptus-cc eucalyptus-walrus eucalyptus-sc

Danach können Sie sich dem Node-Rechner zuwenden und dort den Node-Controller installieren mit

sudo apt-get install eucalyptus-nc

Das sieht zunächst noch einfacher aus. Doch während für das Frontend bereits alle Arbeiten erledigt sind, müssen Sie bei dieser Art der Installation noch einiges auf dem Node-Rechner anpassen. Zunächst müssen Sie die Bridge konfigurieren. Dazu laden Sie die Datei /etc/network/interfaces in einen Editor und kommentieren alle Einträge für vorhandene Schnittstellen wie eth0, eth1 und so weiter aus. Fügen Sie zum Beispiel den folgenden Bridge-Eintrag hinzu, um die Bridge an alle physikalisch vorhandenen Ethernet-Geräte zu binden und per DCHP eine IP-Adresse zu erhalten:

auto br0iface br0 inet dhcp bridge_ports all

Sollte das nach dem Netzwerkneustart mit "/etc/init.d/networking restart" nicht funktionieren, versuchen Sie stattdessen folgende Konfiguration:

auto br0iface br0 inet dhcp bridge_ports eth0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off

Wichtig: Achten Sie darauf, dass die bridge_ports an die richtige eth-Schnittstelle gebunden werden. Wollen Sie die IP-Adresse statt per DHCP statisch zuweisen, dann erledigen Sie das mit einem Eintrag in der Art:

auto br0iface br0 inet static address 192.168.12.20 netmask 255.255.255.0 network 192.168.12.0 broadcast 192.168.12.255 gateway 192.168.12.1 dns-nameservers 192.168.12.1 dns-search foobar foobar.com bridge_ports eth0

Denken Sie daran, bei den Angaben von address bis dns-search Ihre eigenen IP-Adressen und Parameter einzugeben. Anschließend starten Sie das Netzwerk neu. Im Anschluss kontrollieren Sie, ob in der Datei /etc/eucalyptus/eucalyptus.conf in der Zeile VNET_BRIDGE die zuvor definierte Brücke eingetragen ist. Danach starten Sie den Node-Controller neu mit

sudo /etc/init.d/eucalyptus-nc restart

Ziemlich lang: Mit diesem Befehl übertragen Sie den öffentlichen SSH-Schlüssel des Benutzers eucalyptus auf den Node-Rechner.
Ziemlich lang: Mit diesem Befehl übertragen Sie den öffentlichen SSH-Schlüssel des Benutzers eucalyptus auf den Node-Rechner.

Als Nächstes müssen Sie den öffentlichen SSH-Schlüssel des eucalyptus-Nutzers vom Frontend auf den Node-Controller installieren. Das ist am einfachsten, indem Sie zunächst dem Nutzer eucalyptus auf dem Node-Controller ein Passwort zuweisen:

sudo passwd eucalyptus

Anschließend übertragen Sie dieses am Frontend hinüber zum Node-Rechner mit

sudo -u eucalyptus ssh-copy-id -i ~eucalyptus/.ssh/id_rsa.pub eucalyptus@<IP-ADRESSE-DES-NODES>

Den Schlüssel finden Sie danach in der Datei /var/lib/eucalyptus/.ssh/authorized_keys. Nun können Sie das Passwort wieder entfernen mit

sudo passwd -d eucalyptus

Nun starten Sie auf dem Frontend die Publication-Services von Walrus, Cluster- und Storage-Controller:

sudo start eucalyptus-walrus-publicationsudo start eucalyptus-cc-publicationsudo start eucalyptus-sc-publication

Anschließend starten Sie den Service auf dem Node-Rechner:

sudo start eucalyptus-nc-publication

Wechseln Sie wieder zum Frontend-Rechner und starten den Listener für den Cloud- und den Cluster-Controller (sind diese auf unterschiedlichen Maschinen, müssen Sie den Befehl an beiden ausführen):

sudo start uec-component-listener

Im letzten Schritt können Sie sich in der Logdatei /var/log/eucalyptus/registration.log davon überzeugen, dass die Registrierung der einzelnen Komponenten erfolgreich war.