Seite 1 von 1

VMDK gelöscht - VM Startet nicht mehr

Verfasst: 02.05.2012, 13:35
von Nicho
Hallo Zusammen,

Der ESXi 5.0.0 ist vollgelaufen und es ging gar nichts mehr. Im Eifer des Gefechts wurde via DS zugriff eine VMDK gelöscht.
Jetzt startet die VM nicht mehr.

Noch vorhanden:
SBS-0000001.vmdk
SBS-0000002.vmdk
SBS-0000003.vmdk
SBS-0000005.vmdk (4 gelöscht)

Weiterhin ist die SBS.vmdk (Flat) auch vorhanden.

Wie kann ich das System im ESXi fixen, dass die VM wieder hochfährt?

Backup der VMDK Datei ist nicht vorhanden.

In der Flat müssten doch alle informationen drin sein....

Brauche dringen Hilfe!!!

Danke schonmal im vorraus... Don't Panic ist gar nicht so einfach...

Verfasst: 02.05.2012, 13:45
von irix
Poste bitte die VMX, VMSDB und die kleinen VMDK Descriptor Dateien.

Folgendes:
- Du hast einen Snapshot geloescht (schon mal Datenverlust)
- Was man von aussen nie sehen [1] kann ist ob es der "letzte" Snap ist oder einer aus der Kette. Ist letzteres der Fall so wird der Datenverlust noch groesser

Ein schnellschuss waere nun zu gucken was der letzte Snap in einer Kette ist und diesen in die VMX einzutragen. Wenn man Zeit hat schaut man aber erstmal genauer hin. Unser Ulli ist da der Herr und Meister.

[1] Die Nummerierung gibt keinen Rueckschluss auf die Reihenfolge/Aktualitaet, da diese wiederverwendet werden sofern man einen mittleren/ersten Snap loescht

Das richtige vorgehen waere gewesen unter vSphere 5 ca. 8GB frei zubekommen und dann alle Snaps zu loeschen==Commiten. Schafft man das nicht muss ein weiterer Datastore bereitgestellt werden in dem man die VMDK hineinclont. Hierbei wird der aktuelle Stand genommen und alle Snaps gemerged.

Einen Datastore kann man im Notfall mit einer USB Platte an einem Laptop/PC welcher ein Starwind iSCSI Target realisieren. Wer hat kann auch ein NFS seines Linux Servers hernehmen.

Gruss
Joerg

VMX

Verfasst: 02.05.2012, 13:53
von Nicho
VMX:

.encoding = "UTF-8"
config.version = "8"
virtualHW.version = "8"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
hpet0.present = "TRUE"
nvram = "DC2011.nvram"
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "soft"
powerType.powerOn = "hard"
powerType.suspend = "hard"
powerType.reset = "soft"
displayName = "DC2011"
extendedConfigFile = "DC2011.vmxf"
numvcpus = "8"
cpuid.coresPerSocket = "2"
scsi0.present = "TRUE"
scsi0.sharedBus = "none"
scsi0.virtualDev = "lsisas1068"
memsize = "8192"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "DC2011-000005.vmdk"
scsi0:0.deviceType = "scsi-hardDisk"
ide1:0.present = "TRUE"
ide1:0.fileName = "/vmfs/devices/cdrom/mpx.vmhba0:C0:T0:L0"
ide1:0.deviceType = "atapi-cdrom"
ethernet0.present = "TRUE"
ethernet0.virtualDev = "e1000"
ethernet0.networkName = "VM Network"
ethernet0.addressType = "generated"
chipset.onlineStandby = "FALSE"
disk.EnableUUID = "TRUE"
guestOS = "windows7srv-64"
uuid.location = "56 4d 73 e3 0c a8 ce 7c-16 4a 02 b3 88 14 b6 28"
uuid.bios = "56 4d 73 e3 0c a8 ce 7c-16 4a 02 b3 88 14 b6 28"
vc.uuid = "52 f6 8f 22 95 e9 83 31-3e f4 3a 10 2b 13 86 66"
snapshot.action = "keep"
sched.cpu.min = "0"
sched.cpu.units = "mhz"
sched.cpu.shares = "normal"
sched.mem.min = "0"
sched.mem.shares = "normal"
ethernet0.generatedAddress = "00:0c:29:14:b6:28"
svga.vramSize = "8388608"
vmci0.id = "-2011908568"
cleanShutdown = "TRUE"
replay.supported = "FALSE"
sched.swap.derivedName = "/vmfs/volumes/4f047b8a-c40cf6b2-331b-782bcb71579b/DC2011/DC2011-15066594.vswp"
replay.filename = ""
scsi0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "160"
ethernet0.pciSlotNumber = "32"
vmci0.pciSlotNumber = "33"
scsi0.sasWWID = "50 05 05 63 0c a8 ce 70"
ethernet0.generatedAddressOffset = "0"
hostCPUID.0 = "0000000b756e65476c65746e49656e69"
hostCPUID.1 = "000206c220200800029ee3ffbfebfbff"
hostCPUID.80000001 = "0000000000000000000000012c100800"
guestCPUID.0 = "0000000b756e65476c65746e49656e69"
guestCPUID.1 = "000206c200020800829822031febfbff"
guestCPUID.80000001 = "00000000000000000000000128100800"
userCPUID.0 = "0000000b756e65476c65746e49656e69"
userCPUID.1 = "000206c220200800029822031febfbff"
userCPUID.80000001 = "00000000000000000000000128100800"
evcCompatibilityMode = "FALSE"
vmotion.checkpointFBSize = "8388608"
checkpoint.vmState = ""
tools.remindInstall = "FALSE"
ide1:0.startConnected = "TRUE"
tools.syncTime = "FALSE"
unity.wasCapable = "TRUE"
ethernet0.startConnected = "TRUE"
floppy0.present = "FALSE"

Wo finde ich die Anderen beiden Dateien? (Finde nur die vmsd)

VMSD

Verfasst: 02.05.2012, 13:58
von Nicho
vmsd:

.encoding = "UTF-8"
snapshot.lastUID = "5"
snapshot.current = "1"
snapshot.needConsolidate = "TRUE"
snapshot0.uid = "1"
snapshot0.filename = "DC2011-Snapshot1.vmsn"
snapshot0.displayName = "Installation Updates"
snapshot0.type = "1"
snapshot0.createTimeHigh = "308778"
snapshot0.createTimeLow = "-943122070"
snapshot0.numDisks = "1"
snapshot0.disk0.fileName = "DC2011.vmdk"
snapshot0.disk0.node = "scsi0:0"
snapshot.numSnapshots = "1"

Danke Irix für die erste Hilfe...

Verfasst: 02.05.2012, 14:05
von irix
Die Stelle

Code: Alles auswählen

scsi0:0.fileName = "DC2011-000005.vmdk"

in der VMX ist die welche man nun auf einen anderen Snap zeigen lassen wuerde.

Bitte poste mal den Verzeichnisinhalt mittels ls -alh und den Inhalt der kleinen *.vmdk. In deinem ersten Post sind mehrere Snaps gelistet die vmsd zeigt aber komischerweise nur einen an.

Gruss
Joerg

Verfasst: 02.05.2012, 14:17
von Nicho
Leider komme ich momentan nicht via Terminal auf die Maschine.
Was kann ich sonst tun?

Eigentlich sollten nur die ganzen Snapshots gelöscht werden.
Was ist mit konsolidieren?

Verfasst: 02.05.2012, 14:21
von JustMe
Das duerfte nicht funktionieren, weil ja ein Snapshot in der Kette fehlt.

Wenn man auf die ganzen Snapshots verzichten moechte, dann reicht es aus, in der .vmx-Datei den Anhang -000005 in der scsi0:0 Zeile zu loeschen.

Aber dann sind alle Daten seit dem ersten Snapshot verloren!

Wenn man nicht auf die Shell kommt, dann hilft ein Blick in das DCUI (Direct Console User Interface), oder den vSphere-Client in die Security Options. Dort kann man die ESXi-Shell lokal und remote freischalten.

Ohne Information aus den kleinen .vmdk-Dateien ist keine gesicherte Aussage moeglich.

Verfasst: 02.05.2012, 14:25
von irix
Nicho hat geschrieben:Leider komme ich momentan nicht via Terminal auf die Maschine.
Was kann ich sonst tun?


Einfach SSH Freischalten in den Troubleshootings.

Eigentlich sollten nur die ganzen Snapshots gelöscht werden.
Was ist mit konsolidieren?


Was VMWare mit Loeschen/Delete meint ist das Commit/Merge. Hierbei wird der aktuelle Stand in die Basis Flat eingearbeitet und dann die Snaps entfernt.

Eine Konsolidierung ist das gleiche wie oben, wird aber nur verwendet wenn die VMSD defekt ist und der Snapshotmanager nichts anzeigt. Das funktioniert natuerlich nur solange der Host eiine intakte Snapshotkette hat. Auch er wuerde nun die 00005 suchen und nicht finden.

Unser Forenmitglied Ulli/Contendium findest du unter http://www.sanbarrow.com/sickbay.html . Er behebt hier Snapshotprobleme und kann dir sagen ob evtl. noch was zu retten ist. Wenn du selber sagen koenntest das der Snap noch nicht sehr alt ist und der Datenverlust tolerabel waere so muss nur die VMX angepasst werden.

Gruss
Joerg

Verfasst: 02.05.2012, 14:42
von Nicho
Jörg, danke für Deine Mühe...

Hab SSH freigeschaltet.

Außerdem mittels vi in die DC2011-000005.vmdk reingeschaut:

version=1
encoding="UTF-8"
CID=c51502d6
parentCID=8fe2ab92
isNativeSnapshot="no"
createType="vmfsSparse"
parentFileNameHint="DC2011-000004.vmdk"
# Extent description
RW 524288000 VMFSSPARSE "DC2011-000005-delta.vmdk"

# The Disk Data Base
#DDB

ddb.longContentID = "cc9bf4a2f717b4618fcc014dc51502d6"


DC2011-000001.vmdk:

version=1
encoding="UTF-8"
CID=f49a4342
parentCID=31b86418
isNativeSnapshot="no"
createType="vmfsSparse"
parentFileNameHint="DC2011.vmdk"
# Extent description
RW 524288000 VMFSSPARSE "DC2011-000001-delta.vmdk"

Verfasst: 02.05.2012, 14:53
von Nicho
Ansonsten sind alle File analog. ParentFileName verweist immer auf die darunterliegende Nummer, also die 000002 auf die 000001 usw...

Brauchst Du auch noch die Anderen 4 gepostet?

Wie machen wir jetzt weiter?

Was im vSphere client dick angezeigt wird: Konfigurationsprobleme: Die Festplatten der virtuellen Maschine müssen konsolodiert werden. (Was nach Deiner Aussage nicht funktionieren würde...)

Verfasst: 02.05.2012, 15:00
von irix
In deinem ersten Posting waren in Summe 5 Snaps zusehen und somit must du den Inhalt von 5 *.vmdk posten. Die Wahrscheinlichkeit ist hoch das du eine fortlaufende Kette hast und somit ist der Snap -000003.vmdk den welchen man nehmen koennte. Aber um das Alter zu bestimmen brauchts mal ein Verzeichnislisting (wie oben schon angefragt). Auch kann die Groesse des Snaps Rueckschluesse zulassen.

In den Descriptor Dateien siehst du immer den Verweis auf den vorherigen Stand:

Code: Alles auswählen

parentFileNameHint

Geht man diese Info durch so ergibt sich eine Kette bzw. mehre. Letzteres ist unueblich und nur drin wenn man ein GoTo Snap gemacht hat.

Ob man die Infos aus dem 5er in irgendeiner Form retten kann weis ich leider nicht. Mangels Erfahrung kann ich da nicht helfen. Mein Rat nochmal sich an die Ulli zuwenden. Der macht das Hauptberuflich.

Gruss
Joerg

Verfasst: 02.05.2012, 15:05
von Nicho
Zuersteinmal:

/vmfs/volumes/4f047b8a-c40cf6b2-331b-782bcb71579b/DC2011 # ls -l
-rw------- 1 root root 2231885824 Jan 19 10:45 DC2011-000001-delta.vmdk
-rw------- 1 root root 342 Jan 19 09:04 DC2011-000001.vmdk
-rw------- 1 root root 30719598592 Jan 31 15:02 DC2011-000002-delta.vmdk
-rw------- 1 root root 323 Jan 30 11:37 DC2011-000002.vmdk
-rw------- 1 root root 54862012416 Apr 20 18:23 DC2011-000003-delta.vmdk
-rw------- 1 root root 323 Apr 20 18:07 DC2011-000003.vmdk
-rw------- 1 root root 34024710144 May 2 09:00 DC2011-000005-delta.vmdk
-rw------- 1 root root 323 Apr 22 10:04 DC2011-000005.vmdk
-rw------- 1 root root 8599927564 Jan 10 11:30 DC2011-Snapshot1.vmsn
-rw------- 1 root root 268435456000 Jan 10 11:26 DC2011-flat.vmdk
-rw------- 1 root root 8684 Apr 22 10:04 DC2011.nvram
-rw------- 1 root root 469 Jan 10 10:01 DC2011.vmdk
-rw-r--r-- 1 root root 435 May 2 09:45 DC2011.vmsd
-rwxr-xr-x 1 root root 3002 May 2 09:45 DC2011.vmx
-rw-r--r-- 1 root root 2842 Apr 22 10:13 DC2011.vmxf
-rw-r--r-- 1 root root 12877824 Apr 10 13:34 vmmcores-2.gz
-rw-r--r-- 1 root root 12599296 Apr 20 08:31 vmmcores-3.gz
-rw-r--r-- 1 root root 13352960 Apr 20 14:54 vmmcores-4.gz
-rw-r--r-- 1 root root 12337152 Apr 20 18:04 vmmcores-5.gz
-rw-r--r-- 1 root root 12386304 May 2 09:00 vmmcores-6.gz
-rw-r--r-- 1 root root 41731 May 2 09:12 vmware-25.log
-rw-r--r-- 1 root root 41731 May 2 09:14 vmware-26.log
-rw-r--r-- 1 root root 41664 May 2 09:32 vmware-27.log
-rw-r--r-- 1 root root 41664 May 2 09:34 vmware-28.log
-rw-r--r-- 1 root root 41664 May 2 09:37 vmware-29.log
-rw-r--r-- 1 root root 41664 May 2 09:41 vmware-30.log
-rw-r--r-- 1 root root 41665 May 2 09:45 vmware.log
/vmfs/volumes/4f047b8a-c40cf6b2-331b-782bcb71579b/DC2011 #

Verfasst: 02.05.2012, 15:07
von irix
Nicho hat geschrieben:Ansonsten sind alle File analog. ParentFileName verweist immer auf die darunterliegende Nummer, also die 000002 auf die 000001 usw...

Brauchst Du auch noch die Anderen 4 gepostet?


Dann nicht.

Wie machen wir jetzt weiter?


Wenn du auf den Ulli nicht Warten magst. Mache eine Kopie von der *.vmx. Dann aendere dein Eintrag:

Code: Alles auswählen

scsi0:0.fileName = "DC2011-000005.vmdk"

auf

Code: Alles auswählen

scsi0:0.fileName = "DC2011-000003.vmdk"


Achtung: Der Server startet nun mit Daten aus der Vergangenheit und je nach Alter gibts nun grossen Datenverlust. Ich persoenlich Starte die VM dann gerne von der CMD des Hosts und nicht ueber den Client weil der manchmal seine Konfig drueber buegelt. Zur Sicherheit kannst du den Client aber einfach neustarten.

Aber... wenn der Snapshot -00004 nur 16MB Gross war dann ist der evtl.l Leer gewesen. Wenn man in der 5er Datei als Parent die 3er eingtraegt so kann man den evtl. Auslassen. Aber auch hier verweise ich auf den Ulli.


Was im vSphere client dick angezeigt wird: Konfigurationsprobleme: Die Festplatten der virtuellen Maschine müssen konsolodiert werden. (Was nach Deiner Aussage nicht funktionieren würde...)


Ja, das funktioniert nicht weil die Kette fuer den Host unterbrochen ist.

Gruss
Joerg

Verfasst: 02.05.2012, 15:11
von Nicho
DC2011-000002.vmdk:

version=1
encoding="UTF-8"
CID=4856b2a5
parentCID=f49a4342
isNativeSnapshot="no"
createType="vmfsSparse"
parentFileNameHint="DC2011-000001.vmdk"
# Extent description
RW 524288000 VMFSSPARSE "DC2011-000002-delta.vmdk"



DC2011-000003.vmdk:

version=1
encoding="UTF-8"
CID=0674f46c
parentCID=4856b2a5
isNativeSnapshot="no"
createType="vmfsSparse"
parentFileNameHint="DC2011-000002.vmdk"
# Extent description
RW 524288000 VMFSSPARSE "DC2011-000003-delta.vmdk"

DC2011-000005.vmdk:

version=1
encoding="UTF-8"
CID=c51502d6
parentCID=8fe2ab92
isNativeSnapshot="no"
createType="vmfsSparse"
parentFileNameHint="DC2011-000004.vmdk"
# Extent description
RW 524288000 VMFSSPARSE "DC2011-000005-delta.vmdk"


DC2011.vmdk:

version=1
encoding="UTF-8"
CID=31b86418
parentCID=ffffffff
isNativeSnapshot="no"
createType="vmfs"

# Extent description
RW 524288000 VMFS "DC2011-flat.vmdk"

# The Disk Data Base
#DDB

ddb.virtualHWVersion = "8"
ddb.longContentID = "86e08e4b4801c1706790825e31b86418"
ddb.uuid = "60 00 C2 98 fe 78 71 e1-64 19 26 31 ed 9e 73 6b"
ddb.geometry.cylinders = "32635"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.adapterType = "lsilogic"


Die 0000004 ist nicht mehr vorhanden (wurde mitgelöscht)

Hoffe dies hilft weiter...

Verfasst: 02.05.2012, 15:18
von Nicho
Ich ziehe im Moment noch eine Sicherheitskopie der flat bevor ich irgendetwas mache...

Ansonsten warte ich gerne auf Ulli...

Wenn das Klappt von der 5er auf die 3er zu verweisen... Ulli?!?

...und was ist eigetnlich passiert? Normalerweise müsste man diesen Teil doch ohne weiteres löschen können?

Verfasst: 02.05.2012, 15:21
von irix
Ja die Kette ist Fortlaufend. Neben dem Snap -000004 verlierst du 32GB aus dem Snap -000005.

Gruss
Joerg

Verfasst: 02.05.2012, 15:23
von irix
Nicho hat geschrieben:I..
Wenn das Klappt von der 5er auf die 3er zu verweisen... Ulli?!?


Nein, aus der VMX heraus auf die 3er. Wenn die Kiste dann laeuft und die Traenen getrocknet sind kannst du die 5er loeschen. Anschliessend eine Konsolidierung durchfuehrend und nachgucken ob alle Snaps weg sind.

Gruss
Joerg

Verfasst: 02.05.2012, 16:01
von JustMe
Mit dieser DC2011-000005.vmdk sollte ein Versuch moeglich sein:

version=1
encoding="UTF-8"
CID=c51502d6
parentCID=0674f46c
isNativeSnapshot="no"
createType="vmfsSparse"
parentFileNameHint="DC2011-000003.vmdk"
# Extent description
RW 524288000 VMFSSPARSE "DC2011-000005-delta.vmdk"

Aber wie schon mehrfach angemerkt:
Das muss nicht unbedingt funktionieren!
Schliesslich fehlen all die Daten, die in dem Snap-000004 gespeichert waren.

Die Sicherungskopie darf keinesfalls nur von der -flat gemacht werden! Besser ist es, wenn alle Dateien des Verzeichnisses gesichert werden.

Und selbstverstaendlich kann man nicht einfach ein paar Snapshot-Dateien aus der Mitte loeschen. Wie man hier ja ganz offensichtlich sehen kann. Dazu sei verwiesen auf http://kb.vmware.com/kb/1015180 (Understanding Virtual Machine Snapshots in VMware ESXi and ESX).

Verfasst: 02.05.2012, 16:23
von Nicho
Danke schonmal für die Hilfe. Ich warte das Backup des kompletten Ordners ab und werde später mein Glück Versuchen indem in in der er auf die 3er verweise...

Wenn die Maschine nicht startet werde ich versuchen eine Neue Anzulegen und als Platte die 3er angeben und schauen was passiert.

Das Backup läuft noch bis heut Nacht um 22.00 Uhr als wenn jemand noch ne gute Idee hat bin ich offen dafür...

Verfasst: 02.05.2012, 17:44
von continuum
Hi Nicho

ich hatte dir schon eine email geschrieben - melde dich wenn du noch Fragen hast