Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
- Starten Sie die
Exchange Verwaltungskonsole
Neuerstellen einer fehlenden VM-Festplattendeskriptordatei
Problem
Dieser Artikel enthält die Schritte zum Neuerstellen einer verloren gegangenen Desktriptordatei der virtuellen Festplatte (VMDK). Sie sollten eine fehlende Header-/Deskriptordatei neu erstellen, wenn Folgendes zutrifft:
- Die im Datenspeicherbrowser aufgeführte VM-Festplattendatei ist die flache Datei Ihrer virtuellen Maschine. Sie verfügt nicht über ein Symbol.
- Wenn eine virtuelle Maschine eingeschaltet wird, wird die Fehlermeldung „Datei wurde nicht gefunden“ (File not found) angezeigt.
- Die flache Datei ist vorhanden, wenn das Verzeichnis der virtuellen Maschine über das Terminal, den VMware vSphere Management Assistant (vMA) oder die Befehlszeilenschnittstelle (vCLI) von VMware angezeigt wird.
- Die Festplattendeskriptordatei für die Festplatte der virtuellen Maschine ist nicht vorhanden oder beschädigt.
So geht's
- Melden Sie sich beim Terminal des ESXi/ESX-Hosts an.
- Navigieren Sie mit folgendem Befehl zu dem Verzeichnis, das die VM-Festplatte mit der fehlenden Deskriptordatei enthält z.B.:
cd /vmfs/volumes/myvmfsvolume/mydir - Ermitteln Sie den Typ des SCSI-Controllers, den die virtuelle Festplatte verwendet, indem Sie die Konfigurationsdatei der virtuellen Maschine untersuchen (.vmx). Der Controller ist in der Zeile scsi#.virtualDev angegeben. Dabei ist # die Controllernummer. Möglicherweise sind mehrere Controller und Controllertypen mit der virtuellen Maschine verbunden, wie beispielsweise lsisas1068 (der LSILogic SAS-Controller), lsilogic oder buslogic. In diesem Beispiel wird lsilogic verwendet:
scsi0.present = "true" scsi0.sharedBus = "none" scsi1.present = "true" scsi1.sharedBus = "virtual" scsi1.virtualDev = "lsilogic"
Ermitteln und notieren Sie die genaue Größe der -flat-Datei mit einem Befehl ähnlich dem folgenden:
# ls -l vmdisk0-flat.vmdk
-rw——- 1 root root 4294967296 Oct 11 12:30 vmdisk0-flat.vmdk
Erstellen Sie eine neue virtuelle Festplatte mit dem folgenden vmkfstools-Befehl:
# vmkfstools -c 4294967296 -a lsilogic -d thin temp.vmdk
In dem Befehl werden die folgenden Flags verwendet:
- c size
Dies ist die Größe der virtuellen Festplatte.
- a virtual_controller
Unabhängig davon, ob die virtuelle Festplatte für den Betrieb mit BusLogic, LSILogic (sowohl lsilogic als auch lsilogic SAS), Paravirtual oder IDE konfiguriert wurde: Verwenden Sie lsilogic für den virtuellen Festplattentyp „lsilogic“ und „lsisas1068“.
- d thin
Hiermit wird die Festplatte im per Thin Provisioning bereitgestellten Format erstellt.
Hinweis: Um Festplattenspeicher zu sparen, wird die Festplatte im per Thin Provisioning bereitgestellten Format mit dem Typ thin erstellt. Die daraus resultierende flache Datei verbraucht nur minimalen Speicherplatz (1 MB), statt sofort die im Switch -c angegebene Kapazität zu übernehmen. Die einzige Folge daraus ist jedoch, dass die Deskriptordatei eine zusätzliche Zeile enthält, die in einem späteren Schritt manuell entfernt werden muss.
Infolgedessen werden die Dateien temp.vmdk und temp-flat.vmdk erstellt.
Löschen Sie die Datei temp-flat.vmdk, da sie nicht benötigt wird. Führen Sie folgenden Befehl aus:
# rm -i temp-flat.vmdk
Benennen Sie temp.vmdk in den Namen um, der erforderlich ist, damit eine Übereinstimmung mit der verwaisten .flat-Datei erzielt wird (oder vmdisk0.vmdk in diesem Beispiel):
# mv -i temp.vmdk vmdisk0.vmdk
Bearbeiten Sie die Deskriptordatei mit dem Texteditor „vi“ (in diesem Beispiel vi vmdisk0.vmdk,)
Gehen Sie im Abschnitt Extent Description wie folgt vor:
Wechseln Sie mithilfe des Befehls „Umschalt + r“ in den Ersetzungsmodus.
Ermitteln und ändern Sie den Namen der .flat-Datei, sodass er der verwaisten .flat-Datei entspricht. Drücken Sie „Esc“, um den Ersetzungsmodus zu verlassen. .flat, Press "Esc" to exit replace mode.
Suchen und entfernen Sie die Zeile ddb.thinProvisioned = "1", wenn die ursprüngliche .vmdk-Datei keine Thin-Festplatte war. War dies jedoch der Fall, behalten Sie diese Zeile bei. Speichern Sie mit dem Befehl „Umschalt + zz“ und beenden Sie den Editor „vi“.
# Disk DescriptorFile version=1 CID=fb183c20 parentCID=ffffffff createType="vmfs"
# Extent description RW 8388608 VMFS "vmdisk0-flat.vmdk"
# The Disk Data Base #DDB
ddb.virtualHWVersion = "4" ddb.geometry.cylinders = "522" ddb.geometry.heads = "255" ddb.geometry.sectors = "63" ddb.adapterType = "lsilogic" ddb.thinProvisioned = "1"
Die virtuelle Maschine kann jetzt eingeschaltet werden. Überprüfen Sie Ihre Änderungen und stellen Sie sicher, dass die Festplattenkette konsistent ist, bevor Sie die virtuelle Maschine starten.
Führen Sie den folgenden Befehl für die Festplattendeskriptordatei aus, um die Festplattenkette auf Konsistenz zu prüfen:
Für ESXi 6.0 und 5.x:
# vmkfstools -e filename.vmdk
Bei einer vollständigen Kette wird eine Ausgabe ähnlich der folgenden angezeigt: Disk chain is consistent
Bei einer beschädigten Kette wird eine Zusammenfassung der Snapshot-Kette und dann eine Ausgabe ähnlich der folgenden angezeigt: Disk chain is not consistent : The parent virtual disk has been modified since the child was created. The content ID of the parent virtual disk does not match the corresponding parent content ID in the child (18)
Änderung über php.ini
Wenn Zugriff auf die php.ini besteht folgende (beispielhafte) Werte festlegen:
upload_max_filesize = 10M post_max_size = 20M
Änderung über .htaccess
Alternativ kann im Anwendungsverzeichnis die Datei .htaccess entsprechend angepasst werden:
php_value upload_max_filesize 10M php_value post_max_size 20M
Änderung über PHP-Funktion ini_set()
Generell besteht natürlich noch die Möglichkeit, innerhalb des PHP-Scripts die Werte über die Funktion ini_set() zu verändern:
<?php ini_set('upload_max_filesize','10M'); ini_set('post_max_size','20M'); ?>
Evtl. besteht auch die Möglichkeit die Werte über eine Verwaltungsoberfläche wie z.B. CONFIXX festzulegen.
Schlagwörter
php ini_set upload_max_filesize post_max_size upload maximale größe max size
