11. Sep
Post

Early-Bird: openSUSE 12.2 aus SUSE Studio auf Hetzner-Dedi-Server

Heute Abend habe ich mich spontan dazu entschlossen, auf einem meiner Dedicated Server bei meinem Provider Hetzner nun doch Ubuntu LTS 12.04 zu löschen und openSUSE mit dem brandneuen openSUSE 12.2 noch eine Chance zu geben. Ich bin vor einiger Zeit umgestiegen, weil ich die ewigen Distributions-Updates satt hatte. Ubuntu LTS bietet eine stabile und gepflegte Basis für Jahre – für mich schien es genau richtig, denn ich lasse einige virtuelle Maschinen darauf laufen und hatte keine Lust mehr, “Beta-Tester” für neue Versionen zu spielen. Mittlerweile muss ich jedoch sagen, dass Ubuntu openSUSE für meine Zwecke nicht das Wasser reichen kann. Ich spare mir an dieser Stelle die Details. Ich hab nämlich was anderes vor:

Hetzner bietet Server-Kunden die Möglichkeit, aus dem Admin-Panel heraus einen Server mit einem gewünschten Betriebssystem neu zu betanken. Hier hätte ich auch openSUSE 12.2 auswählen können. Da ich aber eine Festplatten-Konfiguration mit LVM bevorzuge, boote ich meine Server lieber in den Rescue-Modus und führe die Installation dann mittels “installimage”-Skript durch.

Leider bietet das “installimage”-Skript noch nicht die Version 12.2 von openSUSE an und die ältere 12.1-Version wollte ich natürlich nicht. Glücklicherweise gibt es noch die Möglichkeit, ein “custom-image” für die Installation zu wählen. Das ist nichts anderes als ein tar.gz-Archiv mit den Verzeichnissen und Dateien eines fertigen Linux-Systems. “installimage” bekommt hier die Festplatten-/LVM-Konfiguration vorgegeben und entpackt dann das Image selbstständig von einem HTTP- oder FTP-Server.

dister-waiterDer Clou an der ganzen Sache ist, dass ich mir das Image nicht selbst zusammenbaue, sondern es mir aus dem SUSE Studio generieren lasse. Das SUSE Studio ist ein Appliance Toolkit, mit dem man sich sein maßgeschneidertes (open)SUSE-Linux zusammen-klickern kann, um es dann für verschiedene Ziele zu deployen. Ich erkläre hier jetzt mal auf die Schnelle, wie ich das alles angestellt habe. Dies soll keine Anleitung für Dummies darstellen – die sollten einfach warten, bis Hetzner soweit ist. Aber für die Admins unter Euch, die wissen, wovon ich spreche, können vielleicht davon profitieren, dass ich über die ein oder andere Hürde zunächst gestolpert bin. Vielleicht weicht Ihr auch von der Anleitung ab, weil’s bei Euch Sinn macht, aber die Grundidee bleibt. Los geht’s:

  1. SUSE Studio: openSUSE-12.2-Image nach eigenenen Wünschen mit fester LAN-Konfiguration (passend zum Server) erstellen und als “USB Stick / hard disk image” bauen lassen.
  2. Nach Fertigstellung wird das tar.gz-Image mit “wget” auf einen Linux-Server im Hetzner-Netz temporär heruntergeladen und ausgepackt.
  3. Die ausgepackte raw-Datei beinhaltet eine einzige Partition. Diese wird mit “kpartx -a /irgendwo/image-xyz-0.0.1.raw” mountbar gemacht.
  4. Mit “mount /dev/mapper/loop0p1 /mnt” wird das Image dann eingehangen. Jetzt wird in das “/mnt”-Verzeichnis gewechselt.
  5. tar czf /irgendwo/opensuse-12.2.tar.gz * .kconfig .profile” erstellt dann ein echtes komprimiertes Tarball-Archiv. Wichtig scheint zu sein, im Namen “suse” unterzubringen, da ansonsten die Hetzner-Skripte nicht richtig laufen.
  6. Nach Fertigstellung können der Mountpunkt und das Mapper-Device wieder entfernt werden (“cd /“, “umount /mnt“, “kpartx -d /irgendwo/image-xyz-0.0.1.raw“).
  7. Jetzt wird das Archiv auf den zu jedem Hetzner-Server gehörenden Backup-Space hochgeladen, z.B. mit sftp.
  8. Dann kann der Zielserver in den Rescue-Modus gebootet werden. Danach wieder per SSH einloggen (das Passwort in der Admin-Konsole gut merken!).
  9. Jetzt ruft man das Kommando “installimage” auf und hangelt sich durch den Assistenten bis zur Bearbeitung der Konfigurationsdatei. Zwischendurch muss natürlich “custom image” als Image-Typ gewählt werden.
  10. Meine Konfiguration sieht so aus:
    DRIVE1 /dev/sda
    DRIVE2 /dev/sdb
    SWRAID 1
    SWRAIDLEVEL 1
    BOOTLOADER grub
    HOSTNAME meinhostname
    PART /boot ext2 512M
    PART lvm data all
    LV data root / ext4 10G
    LV data var /var ext4 10G
    LV data tmp /tmp ext4 10G
    LV data home /home ext4 10G
    LV data swap swap swap 32G
    IMAGE ftp://user:password@xyz.your-backup.de/opensuse-12.2.tar.gz
  11. In der Zeile IMAGE müssen natürlich noch die Daten des “Image-Servers” angepasst werden. Dann fährt man mit dem Assistenten fort, bis die Installation startet. Ein paar Mal trat eine Fehlermeldung (“integer expression expected”) auf, die scheint aber keine Probleme zu bereiten.
  12. Am Ende heißt es dann hoffentlich “INSTALLATION COMPLETE”. Jetzt ist es fast geschafft. Es fehlt nur noch das neue root-Passwort. Man kann es zwar bereits im SUSE Studio setzen, aber ich habe während des installimage-Durchlaufs gesehen, dass es dort scheinbar nochmal überschrieben wird.
  13. Die Neuerstellung des Passworts erfolgt in einer chroot-Umgebung:
    mount /dev/data/root /mnt
    mount -o bind /dev/ /mnt/dev/
    chroot /mnt
    passwd
    Changing password for root.
    New Password:
    Reenter New Password:
    Password changed.
    exit
    umount /mnt/dev
    umount /mnt
  14. Und das war’s bei mir auch schon. Ich konnte das System rebooten und kurze Zeit später war der Login in meinem neuen openSUSE 12.2 – Hetzner-Server möglich.

Ich hoffe, ich habe jetzt im Eifer des Gefechts keine Info unterschlagen, es handelt sich hier nämlich weitestgehend um ein Gedächtnis-Protokoll. Dieser Installationsweg ist natürlich nicht auf openSUSE 12.2 beschränkt, sondern kann natürlich mit einer Vielzahl von SUSE Studio Appliances durchgeführt werden.

Abschließend bleibt noch zu sagen, dass ich mir wünschen würde, SUSE Studio würde zusätzlich zur RAW-Partition auch den Typ Tarball-Archiv anbieten. Dadurch würde man sich den Zwischenschritt auf dem Linux-Server sparen… es hat ja nicht jeder von uns gleich mehrere Büchsen zur Verfügung. :-)

GD Star Rating
lädt…

Das könnte Dich ebenfalls interessieren:

Veröffentlicht in: IT / Technology

Über den Autor:

Beruflich arbeite ich als Premium Support Engineer bei Novell. Seit 2008 schreibe ich in diesem privaten Blog über Linux, Software, Programmierung, Suchmaschinen-Optimierung und über alles, was mir außerdem an IT-Themen begegnet. Darüber hinaus blogge ich hier auch über meine Hobbies, meine Meinung zu Filmen, Musik und was mir sonst so vor die Flinte kommt.

5 Kommentare zu "Early-Bird: openSUSE 12.2 aus SUSE Studio auf Hetzner-Dedi-Server"

Trackback | Kommentar RSS Feed

  1. Michael sagt:

    Do solltest endlich mal der Suse treu bleiben und den Quatsch mit Ubuntu und Co. lassen. An wen soll ich mich sonst wenden, wenn ich mit einer Suse Kiste mal ein Problem habe .. oder soll ich etwa auch zu Ubuntu wechseln?

  2. Paul sagt:

    Hallo Thomas,
    erstmal vielen Dank.
    Da versuche ich doch deine HA Anleitung mit ubuntu 12.04 lts. Klappte nur bedingt gut und die sehr alten versionen corosync pacemaker stoerten mich / testete dann mit 13.10 / kein pacemaker support fuer ofcs2 / hetzner hat nur 13.1 suse – mist / denke schon, ich muss mir ein eigenes custom image bauen / suche im Netz / finde wieder deinen Blog / SUSE Studio ist ja klasse !! / probiere es gerade aus / WOW nach 1 h opensuse 12.3 auf beiden Kisten / wirklich grosse Klasse!! / nochmals vielen Dank!
    Paul
    der, der vormals Ubuntu auf seinen Servern hatte …

    • Hallo Paul!

      Freut mich, dass ich gleich 2x helfen konnte! So klein ist die Welt bzw. das Internet. :-)

      Lass doch bei Gelegenheit mal hören, ob das HA-Setup bei Dir ebenfalls funktioniert. openSUSE 12.3 war übrigens eine gute Entscheidung. Ich habe das Update auf 13.1 auf einem Node probiert und musste dann einen kompletten Rollback machen (Mein Dank geht an btrfs!), da sich der ganze Pacemaker / OpenAIS Kram geändert hat. Früher oder später werde ich das allerdings erneut in Angriff nehmen.

      Viele Grüße,
      Thomas

  3. Paul sagt:

    Hallo Thomas,
    na ja, bis vor einer Stunde ging es gut – da habe ich mich mit zypper angefreundet (gefaellt mir bisher sogar besser als apt/dpkg – wobei ich noch nicht gefunden habe, wie ich einfach alle installierten pakete anzeigen kann :-/)
    Jetzt jedoch will mein kleiner cluster noch so gar nicht miteinander reden (das ging in ubuntu 13.1 sofort)…
    Mal sehen / Auch die default Suse Firewall ist doch recht umfangreich – erstmal abgeschalten – bin ja von Haus aus eher mit Programmierung beschaeftigt … muss da noch einiges nachlesen …
    In diesem Sinne bis spaeter
    Gruss
    Paul

Schreibe einen Kommentar