Einen virtuellen Server von netcup „zuhause“ starten

Netcup bietet als einer der wenigen Provider die Möglichkeit an von seinen Server nicht nur Snapshots zu machen, sondern diese auch zu exportieren.
Und was macht man dann damit? Eine Kurzanleitung…

Zuallererst erstellen wir im Server-Controlpanel (VCP) von Netcup einen Snapshot. Da ich gerne sichergehen will dass alle Daten richtig da sind fahre ich den Server vorher runter – habe somit also einen Offline-Snapshot.

Ein Klick auf „Snapshot exportieren“ sorgt dafür dass Netcup den Snapshot auf seinem FTP-Server für mich bereitstellt.
netcup_snapshot
Das bereitstellen kostet ordentlich Traffic und dauert auch ein paar Minuten – deshalb ist es leider nicht umsonst, aktuell kostet ein Snapshot-Export 1.50 €.
Weiter unten im VCP stehen die Zugangsdaten für den FTP-Server:

netcup_ftpNun nehmen wir uns einen Linux-Server unserer Wahl. Windows mit Virtualbox geht nicht direkt, denn das Image ist im gcow2-Format und das kann Virtualbox nicht lesen. Zum konvertieren hat notfalls qemu ein Programm uder Befehlsaufruf hierfür ist:

 qemu-img convert meinimage.qcow2 myimage.img

Wir nehmen jedenfalls unseren Linux-Server und verbinden uns auf den FTP von Netcup:
netcup_ftp_get
Nachdem wir das Image haben und nachdem wir qemu installiert haben (Hier erklärt) können wir nun das Image direkt starten und uns per VNC verbinden. Der Startaufruf (den man evtl. in einem Screen machen sollte, damit man sich disconnecten kann ohne dass die VM gekillt wird) lautet so:

qemu -enable-kvm -hda ./v22015123182729980_sav.qcow2 -m 1024 -nographic -vnc 123.123.123.123:1,password -monitor stdio -k de

(wobei 123.123.123.123 die IP unseres Servers ist auf dem QEMU läuft!)

Nach dem starten müssen wir noch mittels „change vnc password“ ein Passwort für die VNC-Verbindung vergeben:
netcup_qemuNun werfen wir einen VNC-Client unserer Wahl an und verbinden uns auf Port 5901 zu unserem QEMU-Server, und schon haben wir einen Login:
netcup_vnc

Da soll einer sagen das war schwer!

So, und als kleines Schmankerl noch die Frage: Wie kommen wir denn an die Dateien im Image ran?
In meinem Fall ist die Platte mit Linux-LVM partitioniert – so wie es bei vielen Linuxen Standard ist, qemu kann das Image bereitstellen, und das geht so:

modprobe nbd max_part=16
qemu-nbd -c /dev/nbd0 ./v22015123182729980_sav.qcow2
partprobe /dev/nbd0

Damit ist das Image als Device /dev/nbd0 „gemountet“ – wir können nun nach der VolumeGroup suchen:

vgscan

Und hier ist sie, vom Server ‚mail‘:

  Reading all physical volumes.  This may take a while...
  Found volume group "mail-vg" using metadata type lvm2

So können wir die VolumeGroup aktiv schalten:

vgchange -ay

Antwort:

  2 logical volume(s) in volume group "mail-vg" now active

Nun suchen wir die Logical Volums innerhalb der VolumeGroup:

lvscan

Antwort:

  ACTIVE            '/dev/mail-vg/root' [221.48 GiB] inherit
  ACTIVE            '/dev/mail-vg/swap_1' [12.00 GiB] inherit

Wir möchten die root-Group, diese mounten wir nach /myimage:

mkdir /myimage
mount /dev/mail-vg/root /myimage

Und schon haben wir unter /myimage alle unsere Dateien:

drwxr-xr-x  22 root root  4096 Apr  7 07:47 ./
drwxr-xr-x  24 root root  4096 Apr  7 11:14 ../
drwxr-xr-x   2 root root  4096 Apr  2 21:23 bin/
drwxr-xr-x   2 root root  4096 Mar 31 11:03 boot/
drwxr-xr-x   4 root root  4096 Mar 31 11:03 dev/
drwxr-xr-x 105 root root  4096 Apr  4 13:07 etc/
drwxr-xr-x   3 root root  4096 Mar 31 11:08 home/
drwxr-xr-x  23 root root  4096 Mar 31 11:49 lib/
drwxr-xr-x   2 root root  4096 Mar 31 11:03 lib64/
drwx------   2 root root 16384 Mar 31 11:03 lost+found/
drwxr-xr-x   3 root root  4096 Mar 31 11:03 media/
drwxr-xr-x   2 root root  4096 Mar 25 02:07 mnt/
drwxr-xr-x   2 root root  4096 Mar 25 02:07 opt/
drwxr-xr-x   2 root root  4096 Nov 27 14:59 proc/
drwx------   5 root root  4096 Apr  5 09:57 root/
drwxr-xr-x   2 root root  4096 Mar 31 11:21 run/
drwxr-xr-x   2 root root 12288 Apr  2 21:24 sbin/
drwxr-xr-x   2 root root  4096 Mar 25 02:07 srv/
drwxr-xr-x   2 root root  4096 Feb  5 10:48 sys/
drwxrwxrwt   7 root root  4096 Apr  7 11:00 tmp/
drwxr-xr-x  10 root root  4096 Mar 31 11:03 usr/
drwxr-xr-x  13 root root  4096 Mar 31 11:44 var/

(Dateiliste leicht gekürzt!)

Das war ja einfach – zum Glück ist nix verschlüsselt 🙂

Und so lösen wir das mounten wieder auf:

umount /myimage
rmdir /myimage
vgchange -an mail-vg
qemu-nbd -d /dev/nbd0
killall qemu-nbd

Ich hoffe die Anleitung hilft dem einen oder anderen wenn wirklich mal Not am Mann ist. Natürlich garantiere ich nicht dafür dass die Befehle euren Server nicht in einen Flammenmeer verwandeln – aber bei mir hat das alles problemlos funktioniert.

Quelle der Befehle zum mounten von QEMU-Images:
https://en.wikibooks.org/wiki/QEMU/Images#Mounting_an_image_on_the_host

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.