Hetzner - DokuWiki

OpenStack

Inhaltsverzeichnis

OpenStack / StackOps bei Hetzner installieren (Work in Progress)

In diesem Artikel wird OpenStack auf einem Server von Hetzner installiert, ohne GB-große Festplattenabbilder hochladen zu müssen oder die KVM-Konsole dauerhaft zu quälen.

Der Artikel richtet sich generell an jeden der Interesse hat. Prinzipiell sollte man eine gewisse Grunderfahrung mit einem Betriebssystem haben, welches man in das düstere Meer des Internets wirft. Die hier geschilderte Vorgehensweise ist sicherlich kein Patentrezept und Ideallösung, aber sie funktioniert.

Ich rate dazu, sich das Howto erst komplett durchzulesen und zu verstehen.

Ich übernehme keine Garantie oder Haftung für die hier aufgeführten Anweisungen.

Vorbereitung

Um gleich zu beginnen, benötigt ihr auf eurem lokalem Rechner einen VNC Viewer (z.B. TightVNC) und ein SSH Client (openssh oder putty).

Kurzüberblick

Ich will einen kleinen Überblick geben, was jetzt eigentlich passieren wird:

Wir werden OpenStack mittels qemu direkt auf der ersten Server-Platte installieren und konfigurieren.

Rescue System vorbereiten

Damit es losgehen kann, muss der Server erstmal in den Rescue Mode gebootet werden. Damit es keine Verwechslungen gibt, werde ich die Terminals immer entsprechend Kennzeichnen mit "rescue" und "openbsd". Sobald wir im Rescue System angelangt sind, tun wir das auch gleich:

# PS1="rescue # "

Damit wir mit den beiden Festplatten im Server einzeln arbeiten können, müssen wir erstmal den alten Raid auflösen:

rescue # mdadm --stop /dev/md0
rescue # mdadm --stop /dev/md1
rescue # mdadm --stop /dev/md2

Da im Rescue System nicht allzuviel Platz ist, nutzen wir die zweite Festplatte erstmal als Speicherplatz für das OpenBSD CD-ISO. Wir partitionieren die Festplatte um auf eine Linux-Partition und formatieren diese.

rescue # fdisk /dev/sdb   # o = alles löschen, n = neue partition anlegen
rescue # mkfs.ext3 -j /dev/sdb1
rescue # mount /dev/sdb1 /mnt

Jetzt ziehen wir uns das CD-ISO nach Wahl. Mirrors findest du hier.

rescue # cd /mnt
rescue # wget <stackops download url>

Als nächsten Schritt richten wir das Rescue-System fertig ein. Einen Dank an dieser Stelle an Hetzner dafür, dass das Rescue System schon wesentlich besser is als früher jedoch 1-2 Kleinigkeiten sind "vergessen" worden. Das wollen wir schnell nachholen. Zum einen fehlt die iptables-Regel um den Traffic der virtuellen Maschiene nach aussen weiterzuleiten, zum anderen fehlt das Packet "sudo" für das qemu-ifup Script.

rescue # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
rescue # apt-get install sudo

Wenn qemu gleich startet, gibt es zwei Möglichkeiten es zu nutzen. Entweder man aktiviert bei seiner SSH Verbindung die X11-Weiterleitung (-Y) was allerdings wirklich *sehr* langsam ist oder man nutzt den bei qemu mitgelieferten VNC-Server, welcher ein wenig performanter ist. Ich preferiere Variante 2 ;-) Damit nicht jeder bei unserer Installation mitmacht geben wir den VNC Server lieber nicht der ganzen Welt Preis und steuern ihn verschlüsselt über SSH an. Dazu benötigen wir noch einen Tunnel. Wer auf einem UNIX-artigen System gerade arbeitet, kann das mit folgendem Befehl von seiner lokalen Maschiene aus tun:

lokal # ssh -L 5900:localhost:5900 root@<unsere-server-ip>

Das Äquivalent kann man mit PuTTy auch zusammenklicken, beim Verbindungsmenü gibt es den Unterpunkt "Tunnel".

Jetzt sind wir soweit und können die Installations-CD starten. Dazu führen wir folgenden Befehl aus. Wenn ihr i386 gewählt habt, könnt ihr einfach "qemu" nutzen, i.d.R. habt ihr amd64 gewählt, wozu das entsprechende qemu auch genutzt werden muss:

rescue # qemu-system-x86_64 -m 1024 -hda /dev/sda -net nic -net tap -cdrom /mnt/install46.iso -boot d -vnc localhost:0 &

Bevor wir in qemu einsteigen, benötigen wir noch ein paar Informationen vom Server. Notiert euch IP Adresse und Netzmaske vom eth0- und tap0-Interface. Desweiteren werden die DNS Server benötigt.

rescue # ifconfig tap0
rescue # ifconfig eth0
rescue # cat /etc/resolv.conf

StackOps-Installation

Jetzt können wir die Installation von StackOps beginnen. Dazu startet man den VNC-Viewer seiner Wahl und verbindet sich mit "localhost" (wir haben ja einen Tunnel vorhin erstellt).

lokal # vncviewer localhost

Es sollte der Boot-Bildschirm der StackOps-Distribution erscheinen.

StackOps boot.png

Hier wählst Du je nach persönlicher Vorliebe einen der beiden folgenden Punkte aus:

* Install StackOps node (US Keyboard)
* Install StackOps node (Keyboard selection)

Es findet eine fast normale Ubuntu-Installation statt.

Die wichtigste Einstellung die abgefragt wird ist die nach den Netzwerk-Einstellungen. Diese haben wir uns ja in einem vorherigen Schritt bereits notiert.

Tipp: Bitte unbedingt auf die richtige Netzwerk-Maske achten. Bei Hetzner ist diese meistens nicht 255.255.255.0!

Es werden eine Reihe von Fragen gestellt, deren Beantwortung aber hoffentlich keine Probleme bereiten sollte.

StackOps Installation abgeschlossen.png

Das Herausnehmen der CD (also des ISO-Images) ist im QEMU nicht so einfach. Daher nehmen wir einfach in Kauf, dass noch einmal von dem ISO-Image gebootet wird und wählen dann im Startbildschirm die Option "Boot from first harddisk".

StackOps boot firsthd.png

StackOps für die reale Welt vorbereiten

* Netzwerk-Konfiguration
* root-Password ändern

/etc/udev/rules.d/70-persistent-net.rules

Daumen drücken

Der spannende Moment einer jeden Serverinstallation: ist mein Server nach dem Reboot in da oder nicht.

rescue # reboot
    • daumen drücken*
lokal # ssh root@<server ip>

Fertig

Quellen

Als Inspiration diente der Artikel OpenBSD installieren (mit RAID1) von Tobias Sarnowski, aus dem ich die Vorgehensweise zur Installation einer als ISO-Datei vorliegenden Distribution mit Hilfe von QEMU entnommen habe.

Ende

Danke an das Hetzner-Team für guten Support, ein mittlerweile recht gutes Rescue System (insb. vKVM) und gute Hardware zu super Preisen.

TorstenS 13:43, 13. Jul. 2012 (CEST)



© 2018. Hetzner Online GmbH. Alle Rechte vorbehalten.