VDISK von Synology VMs verschieben

Kürzlich stand ich vor dem Problem, wie ich auf meiner 6.1.7 Synology die VMs von einem Storage auf einen anderen verschieben kann. Leider bietet die GUI dazu keine Funktion an und so musste ich händisch tätig werden. Glücklicherweise ist der Vorgang aber relativ einfach und schnell erledigt, da nur die VDISK verschoben werden muss.

Die virtuellen Festplatten (VDISK), werden per iSCSI auf den Volumes gespeichert und zwar in folgender Form:

/Volume-Name/@iSCSI/LUN/VDISK_BLUN/vdisk-folder/vdisk.name.xxx

Die Idee ist nun, eine neue VM im Ziel-Volume zu erzeugen, welche die gleichen Eigenschaften besitzt und das Image umzukopieren.

VM erstellen

Der erste Schritt besteht darin eine neue VM zu erzeugen, welche die gleichen Eigenschaften besitzt. Die Anzahl der CPUs, Arbeitsspeicher und Größe der Festplatte sollten also gleich sein. Die MAC-Adresse kann leider nicht gleich sein, da der Virtual Machine Manager dieses nicht erlaubt. In meinen Tests stellt das aber kein Problem dar und die Systeme starteten alle mit aktiver Netzwerkverbindung. Notfalls könnt ihr diese später anpassen, wenn ihr das alte System löscht.

Nun schauen wir uns an, wo die neue VM erzeugt wurde. Ihr verbindet euch per SSH mit eurer Synology und logt euch mit einem Admin-Account ein. Anschließend wechselt ihr mit sudo -i auf den Root Account. Das Passwort ist das Gleiche wie das des Admin-Accounts.

In meine Beispiel habe ich die neue VM auf volume2 erzeugt. Ich wechsel in den VDISK-Ordner und zeige mir den Inhalt an. Hier wurde ein Ordner erstellt, in dem die VDISK der neuen VM abgelegt ist. Diese VDISK wird auch das spätere Ziel werden.

# cd /volume2/@iSCSI/LUN/VDISK_BLUN
# ll
total 0
drwx------ 1 root root 216 Apr 29 12:45 .
drwx------ 1 root root  48 Apr 29 12:45 ..
drwxr-xr-x 1 root root 178 Apr 29 09:15 0b692450-af75-4cff-bc5d-dd8c07b126d9
# cd 0b692450-af75-4cff-bc5d-dd8c07b126d9/
# ll
total 3306460
drwxr-xr-x 1 root root         178 Apr 29 09:15 .
drwx------ 1 root root         216 Apr 29 12:45 ..
-rw-r--r-- 1 root root 42949672960 Apr 30 10:40 vdisk.f1731c12-26c6-4b3b-84a0-ec6ddb5c205a.aef5165b-6950-4662-80a6-45acabe91147.2.0_00000

VDISK auslesen

Mit dem Befehl virsh list, könnt ihr euch die laufenden VMs anzeigen lassen. Die VM, welche ihr migrieren wollt, muss als gestartet sein. Leider sieht man hier unter Name nur kryptische IDs.

# virsh list
 Id    Name                           State
----------------------------------------------------
 3     f1731c12-26c6-4b3b-84a0-ec6ddb5c205a running
 7     8e3b8d4e-863f-45e1-aa3d-646d5b7c1ed2 running

Mittels virsh dumpxml „Name“ könnt ihr euch das Config-File ausgeben lassen. Im Abschnitt <title> seht ihr auch den Namen innerhalb des Virtual Machine Managers. Am Ende könnt ihr den vdisk-folder auslesen, dieser steht bei id=vdisk_xxxx. Damit wisst ihr nun in welchem Ordner das VDISK-File zu eurer VM liegt.

# virsh dumpxml 8e3b8d4e-863f-45e1-aa3d-646d5b7c1ed2
<domain type='kvm' id='7' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>8e3b8d4e-863f-45e1-aa3d-646d5b7c1ed2</name>
  <uuid>8e3b8d4e-863f-45e1-aa3d-646d5b7c1ed2</uuid>
  <title>DSM instance: IoT</title>

  <qemu:commandline>
    <qemu:arg value='-device'/>
    <qemu:arg value='vhost-scsi-pci,max_sectors=16384,wwpn=naa.ec79e7e9-4cab-42b6-b030-70f3059aebf0,boot_tpgt=1,bootindex=1,addr=0xa,id=vdisk_ec79e7e9-4cab-42b6-b030-70f3059aebf0,set_driverok=off'/>
  </qemu:commandline>
</domain>

VDISK umkopieren

Nun beginnt der spannende Teil. Wir werden nun eine VM von volume1 nach volume2 kopieren. Stoppt dazu erst eure Quell-VM und wechselt in ihren VDISK-Ordner nach /volume1/@iSCSI/LUN/VDISK_BLUN/ordner/ Anschließend wird das vdisk-File umkopiert. Quelle ist das alte File und Ziel das vdisk File der neu erstellen VM.

cp vdisk.8e3b8d4e-863f-45e1-aa3d-646d5b7c1ed2.2956b0a3-925e-474d-9084-399d788c92af.2.0_00000 /volume2/@iSCSI/LUN/VDISK_BLUN/0b692450-af75-4cff-bc5d-dd8c07b126d9/vdisk.f1731c12-26c6-4b3b-84a0-ec6ddb5c205a.aef5165b-6950-4662-80a6-45acabe91147.2.0_00000

Je nach Größe. kann dieses etwas dauern. Anschließend könnt ihr die neue VM starten und schauen ob alles läuft. Bisher haben wir noch nichts gelöscht und können somit auch nichts kaputt gemacht haben. Mit dieser Methode habe ich bisher drei VMs umgezogen und keine Probleme feststellen können.

Sollte alles funktionieren, könnte ihr das alte System löschen.

5 Gedanken zu „VDISK von Synology VMs verschieben“

  1. Hallo,

    ich hatte eine virtuelle Win10 Maschine, leider hatte ich eine Systemcrash.
    Die VDisk Datei hab ich jedoch vollständig vorliegen, leider schaffe ich es nicht das System zu starten. Es sagt immer nichts bootfähiges da.

    Muss ich in der neuen virtuellen Maschine vorher Windows 10 installieren?
    Bevor ich die rausgesuchte Datei mit dem vorhanden System überschreibe?

    Lieben Dank für deine Nachricht, würdest mir sehr helfen.

    Viele Grüße
    Daniel

    Antworten
    • Hi,

      Eigentlich solltest du vorher nichts installieren müssen, da du ja eh das Zielimage komplett überschreibst.
      Du musst nur darauf achten, das du den Ziel-Namen der VDISK nicht veränderst. Du kopierst von A nach B und behälst den Namen von B bei.

      Grüße,
      Björn

      Antworten
  2. Moin Björn,

    danke für deine Nachricht.
    Ich habe es tatsächlich geschafft, meine virtuelle Maschine wieder einzubinden, danke für deinen Bericht und dein Kommentar.

    Ursache des Problems war einfach der falsche Ordner. Ich habe die Dateien in den entsprechenden Ordner gepackt, welcher mir durch den Befehl angezeigt wurde. Seltsamerweise ist dies aber nicht der richtige Ordner gewesen.

    Dabei wunderte ich mich schon, dass ich zwei Ordner habe obwohl ich nur eine virtuelle Maschine konfiguriert habe.

    Naja mit try and error Prinzip dann die Dateien in den anderen Ordner kopiert. Hier war auch eine vdisk Datei drin, nun konnte das System gefunden werden 🙂

    Also danke für deinen Artikel, damit konnte ich alle wichtigen Daten wiederherstellen…
    Weshalb dies nicht via Export – Import seitens Synology geht ist mir fraglich.

    Viele Grüße
    Daniel

    Antworten
  3. Hallo, habe folgendes Problem Windows 10 auf VM DS 918 +instaliert alles läuft. Jetzt fehlt mir der Ordner wo der Windows verzeichnis drauf ist genau so habe ich Home Assistant im VW instaliertalle läuft da hab ich den Ordner auch nicht wo die dateien zu sehen sind. Kann da jemand sagen wo das problem bei mir ist ??. Vielen Dank. Mit freundlichen Grüßen J. Wieclaw

    Ps: Frohe Weihnachten

    Antworten
    • Hallo Janusch,

      also ich verstehe deine Frage nicht genau. Die virtuelle Festplatte deiner VM ist ein einzelnes File, welches du nicht über die FileStation findest. Um es zu sehen, musst du dich per SSH mit der Synology verbinden.

      Grüße,
      Björn

      Antworten

Schreibe einen Kommentar