Hängende VDIs aus Citrix XenServer entfernen

Tja,
was soll man da sagen, heute ging ein Move eines LVM-Containers schief.
Ich wollte an sich nur schnell die Platte umkopieren, und musste dann zuschauen, wie das NAS, auf den die Platte lief, einfach mal so abgestürzt ist.
Schlussendlich gab es dann ein Problem, dass ich ein nicht zugeordnetes LVM-Volume hatte, das mich das XenCenter nicht löschen lies.
Nach etlichen versuchen und google-sessions habe, ich nun endlich eine Lösung gefunden:


Zuerst bennen wir das Storage um, so dass wir es nachher finden können:
Dazu unter “Local Storage” -> Storage Tab die Eigenschaften des Storage öffnen und dort den Namen ändern:

xencenter

In meinem Fall nenn ich das ganze “old”
Der nächste Schritt bringt uns auf die Konsole des dom0
Als erstes suchen wir uns die “vdi-uuid” unserer LVM-Partition:

xe vdi-list name-label=old

Wir erhaltenen so etwas als Antwort:

uuid ( RO)             : 77e3a402-d6f7-92c6-66a9-b354840e5277
          vm-uuid ( RO): afe8b542-89b7-1f13-8dfe-cee6f8ff9d54
    vm-name-label ( RO): old
         vdi-uuid ( RO): 606788f0-165a-4f69-81f1-b89dc49b8976
            empty ( RO): false
           device ( RO): xvda

Nachdem nun auch diese Information bekannt ist, benötigen wir die UUID unseres “Local Storage”.
Dabei hilft der folgender Befehl:

vgs

Hier suchen wir also die VolumeGroup, in der unsere Platten hängt.
Hier ein Ausschnitt meines Ergebnisses:

  VG                                                 #PV #LV #SN Attr   VSize VFree  
  VG_XenStorage-0edd0b6e-30c6-786c-1640-28602af2dfb7   1   9   0 wz--n- 4.49T 294.22G

Jetzt haben wir also vdi-uuid und unsere uuid des storages.
Um auf Nummer sicher zu gehen, werden wir noch mal nach den Platten scannen (sicher ist sicher – wir wollen ja nicht etwas löschen, was ggf. gar nicht passt)
Dafür folgenden Befehl auf der Konsole ausführen:

vhd-util scan -m "VHD-*" -f -c -l VG_XenStorage-<volume group id> -p –v

Also mit meiner UUID:

vhd-util scan -m "VHD-*" -f -c -l VG_XenStorage-0edd0b6e-30c6-786c-1640-28602af2dfb -p –v

Wir erhalten eine Liste aller definierten virtuellen Platten inkl. deren Größe etc.
Schaut ob ihr dort die passende Platte in Größe und VDI-UUID findet.
Sollte das der Fall sein, sind wir auf der richtigen Platte.
Der Folgende Befehl löscht jetzt unsere virtuelle, nicht mehr benötigte, Platte.

lvremove /dev/VG_XenStorage-<volume group id>/VHD-<vdi uuid>

In diesem Beispiel also:

lvremove /dev/VG_XenStorage-0edd0b6e-30c6-786c-1640-28602af2dfb7/VHD-606788f0-165a-4f69-81f1-b89dc49b8976

Danach geht in das XenCenter und lasst auf eurem Storage ein “Rescan” durchführen.
Eure Virtuelle Platte ist weg.
Mission erfüllt!

Leave a Reply

Your email address will not be published. Required fields are marked *