Frage Verschieben Sie die VMware ESXi-VM in den neuen Datenspeicher, um Thin Provisioning beizubehalten


Ich suche nach einer guten Lösung für ein VMware ESXi-Umgebungsproblem, für das kein vCenter verfügbar ist.

Was ist der beste Weg, um eine VM auf einem einzelnen ESXi-Host von einem Datenspeicher auf einen anderen zu verschieben und gleichzeitig das VMDK-Thin-Provisioning beizubehalten?

Dies ist ein eigenständiger Server, der mit einem anderen Laufwerksarray / Datenspeicher erweitert wurde. Ich möchte die Daten, die in dem alten Array enthalten sind, auf das neue verschieben.

Bearbeiten: Die Zieldatenspeichergröße ist tatsächlich kleiner als die Quelle. Ich habe nicht genug Platz, um die dicke Datei zu kopieren.


22
2018-03-22 19:03


Ursprung


Denken Sie wirklich, dass es ratsam ist, eine VM in einen Datenspeicher zu verschieben, der zu klein ist, um darauf zu passen? Was passiert mit einem bösartigen Prozess in dieser VM, der den gesamten Speicherplatz belegt? - Zoredache
Im Allgemeinen, nein ... aber das ist ein Sonderfall. Die VM wird nicht wachsen. - ewwhite
Wenn die VM nicht wächst, gibt es keinen Grund, die Thin Provisioning zu halten. - Jim B
Welche Version von ESXi? - Jed Daniels
Dies ist ESXi 5. - ewwhite


Antworten:


Sie können auch Datei -> Exportieren -> OVF-Vorlage exportieren verwenden

und dann importieren Sie es. Das letzte Mal, als ich es ausprobiert habe, glaube ich, dass das das vmdk-Format erhält. Nicht so sicher wie jetzt schon eine ganze Weile.


19
2018-03-22 19:17



Wenn Sie Version 4.1 oder höher verwenden, werden Sie beim Importieren aufgefordert, Thin oder Thick zu verwenden. - Jed Daniels
Du hast es! Der OVF-Export in eine komprimierte Datei war schnell und schmerzlos. Ich bekam eine Option, beim Import dünne oder dicke Vorräte zu bekommen, und der Import war schnell; 5 Minuten für eine virtuelle Maschine mit 72 GB (8 GB). - ewwhite
FWIW, Sie können dies auch über eine Befehlszeile mit ovftool tun. - Jed Daniels


Ich habe gerade einen Weg gefunden, dies selbst zu tun. Hier finden Sie eine hoffentlich leicht zu befolgende Anleitung, wie Sie Ihre VM in einen neuen Datenspeicher verschieben können, während Thin Provisioning während der Übertragung beibehalten wird (wodurch auch die Übertragungszeiten reduziert werden):

Schritt für Schritt Anleitung mit vmkfstools in der CLI

  1. VM ausschalten
  2. (Wahlweise) Konsolidieren Sie Snapshots bei Bedarf.
  3. Entfernen Sie die VM aus der vCenter-Bestandsliste
    • Rechtsklick auf VM und klicke auf "Aus dem Inventar entfernen" enter image description here
  4. Aktivieren Sie SSH auf dem ESXi-Computer
    • Gehen Sie im vSphere-Client zu: Konfiguration -> Sicherheitsprofil -> Eigenschaften (neben Dienstleistungen) -> SSH (In der Liste) -> Optionen -> Start
  5. Logge dich über SSH als root ein
  6. Bereiten Sie ein Verzeichnis im Zieldatenspeicher vor
    • mkdir "/vmfs/volumes/destination_datastore/Some VM"
  7. Klonen Sie die .vmdk-Dateien mit Thin Provisioning
    • vmkfstools -i "/vmfs/volumes/source_datastore/Some VM/Some VM.vmdk" -d thin "/vmfs/volumes/destination_datastore/Some VM/Some VM.vmdk"
  8. Kopieren Sie alle verbleibenden Dateien (vermeiden Sie das Überschreiben der .vmdk Dateien)
    • find "/vmfs/volumes/source_datastore/Some VM" -maxdepth 1 -type f | grep -v ".vmdk" | while read file; do cp "$file" "/vmfs/volumes/destination_datastore/Some VM"; done
  9. Wenn Sie Snapshots in Schritt 2 nicht konsolidiert haben, können Snapshot-.vmdk-Delta-Dateien vorhanden sein. Diese müssen auch kopiert werden (dies kann einige Zeit dauern):
    • find "/vmfs/volumes/source_datastore/Some VM" -maxdepth 1 -type f | grep [0123456789][0123456789][0123456789][0123456789][0123456789][0123456789] | grep ".vmdk" | while read file; do cp "$file" "/vmfs/volumes/destination_datastore/Some VM"; done
  10. Wenn Sie alle erforderlichen Dateien kopiert und kopiert haben, fügen Sie die VM aus dem neuen Datenspeicher wieder in das Inventar ein
    • Gehen Sie im vSphere-Client zu: Konfiguration-> Speicher-> DatenbrowserKlicken Sie mit der rechten Maustaste auf den Zieldatenspeicher, auf den Sie Ihre VM verschoben haben, und klicken Sie auf "Datenspeicher durchsuchen". enter image description here
  11. Navigieren Sie zu Ihrer VM und klicken Sie mit der rechten Maustaste auf .vmx Datei, dann klicken Sie auf "Add to inventory" enter image description here
  12. Starten Sie die VM, um zu sehen, ob sie funktioniert. Wenn Sie gefragt werden, ob Sie sie kopiert oder verschoben haben, antworten Sie einfach, dass Sie sie kopiert haben. (Ich bin mir nicht sicher, was das bedeutet, aber ich denke, es muss zumindest mit der MAC-Adresse der vNIC geändert werden.) enter image description here
  13. Wenn die VM ordnungsgemäß hochfährt, können Sie die VM aus dem alten Datenspeicher entfernen.
    • rm -rf "/vmfs/volumes/source_datastore/Some VM"

Hinweis: Nur mit ESXi 5 getestet

Illustrationen schamlos kopiert von dieser Blog.


24
2018-02-23 02:40



Dies sollte funktionieren, aber sogar Informationen zum Verschieben einer VM mit Snapshots zu liefern, ist albern. Sagen Sie den Leuten, dass sie alle Schnappschüsse entfernen müssen, bevor sie einen solchen Zug versuchen. - pauska
@ ohaals Beitrag oben, in esxi 5.5 u1, musste die -print0 in -print ändern und es funktionierte wie ein Zauber! PS. Ich würde es abstimmen, aber keine Wiederholung. - icereval
@ohaal wurde für die Arbeit an ESXi 6.7 überprüft. Vielen Dank! - Ed of the Mountain


Auschecken diese Antwort. Die gleiche Logik gilt in Ihrer Situation, nämlich dieses Zitat:

Es heißt "Converter", sollte aber wirklich "All-Purpose OS Data Mover" heißen. Zieht aber nicht so gut von der Zunge ab.

Der einzige Unterschied besteht darin, dass Quell- und Zielhost identisch sind, die Datenspeicher jedoch unterschiedlich sind. Dies bedeutet, dass die Dateien vom ESXi-Host zum Converter-Computer und dann zurück zum Host gesendet werden. Es wäre schön, wenn Converter "schlau" wäre und wüsste, dass es derselbe Host ist. Leider kostet das Geld.

CAVEAT: Durch das Konvertieren der VM wird eine neue MAC-Adresse für alle Netzwerkadapter generiert. Die meisten Gastbetriebssysteme interpretieren dies als neues Gerät.


8
2018-03-22 19:11



Ein ausgezeichneter Punkt über die MAC-Adressen. - JamesBarnett


Erstellen Sie einfach den Ordner am Zielort und kopieren Sie dann die Dateien in den Ordner von der Quelle und es bleibt dünn. Wenn Sie den Ordner kopieren, wird er von dünn zu dick konvertiert.


3
2017-11-21 08:41



Das ist falsch. verifiziert mit du -h . Thin wurde dick, wenn es in einen bereits erstellten Ordner im selben Datenspeicher kopiert wurde. cp C* ../newdir - Rowan Hawkins


Ich würde die Datei dann über vmkfstools in Thin konvertieren.


0
2018-03-22 19:10



Die Zieldatenspeichergröße ist tatsächlich kleiner als die Quelle. Ich habe nicht genug Platz, um die dicke Datei zu kopieren. - ewwhite
In diesem Fall funktioniert das Kopieren und Rekonvertieren nicht, aber Sie können vmkfstools auch verwenden, um es direkt in das Ziel zu klonen. Dadurch wird auch die Übertragungszeit verringert, da die zusätzlichen Nullen nicht übertragen werden. Meine Antwort enthält Details dazu. - ohaal