Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!

vmkfstools Konsoliderung

Moderatoren: irix, Dayworker

Member
Beiträge: 35
Registriert: 04.09.2009, 13:42

vmkfstools Konsoliderung

Beitragvon Hippo02 » 31.03.2015, 10:16

Hallo,

ich habe mit dem vmkfstools eine neue, konsolidierte Platte erstellt und möchte diese zu einer VMware hinzufügen. Leider kann ich die neue Platte unter vSphere nicht auswählen. Woran kann das liegen?

Geclont habe ich die Platte mit folgendem Befehl: vmkfstools -i Name.vmdk neuerName.vmdk.

Experte
Beiträge: 1824
Registriert: 04.10.2011, 14:06

Beitragvon JustMe » 31.03.2015, 10:43

Hmmm, irgendwie fehlt da was...

Fangen wir mal an:

VMware -> Firmenname
vSphere -> Produktbezeichnung einer Virtualisierungsinfrastruktur

Ich nehme im folgenden mal an, dass "VMware" einfach "VM" (Virtuelle Maschine) sein sollte, und "vSphere" fuer vSphere Client (Web Client? C# Client?) stehen sollte.

Was bedeutet dann "kann nicht auswaehlen"? Zeigt der Dialog die neue Platte nicht an, oder gibt's eine Fehlermeldung?

Welchen Zieltyp ("destination disk format") hat vmkfstools ausgegeben?

Zeig' doch mal ein Verzeichnis-Listing von Quelle und Ziel, sowie den Inhalt der die -flat.vmdk beschreibenden vmdk-Descriptor-Dateien, und ggfs. auch den Inhalt der .vmx-Datei, die die HW-Konfiguration der VM beschreibt.

Vielleicht laesst sich daran dann etwas ableiten.

Member
Beiträge: 35
Registriert: 04.09.2009, 13:42

Beitragvon Hippo02 » 31.03.2015, 11:06

Ok, ok, ok, ich werde etwas deutlicher :shock:
Ich habe ein Problem beim Konsolidieren von den Festplatten mit dem vSphere Client. Es erscheint die Fehlermeldung „Zugriff auf eine Datei nicht möglich, weil sie gesperrt ist.“
Nun will ich die Festplatten mittels vmkfstools konsolidieren. Dazu bin ich im Datastore mittels Putty in den Ordner meiner VMware gegangen und habe mit dem Befehl „vmkfstools -i Name.vmdk neuerName.vmdk“ die Festpaltte geclont.
Schaue ich mir nun im Datastorebrowser den Ordner meines Servers an, so erscheinen zwei neue Dateien. Eine die genauso groß ist wie meine Festplatte die aber ein –Flat im Namen hat also neuerName-flat.vdmk und eine Datei die sehr klein ist und neuerName.vdmk heißt. Will ich nun im vSphere Client eine neue HD zum Server hinzufügen, so erkennt er nur die original HD, nicht die geclonte, die neue erscheint gar nicht.

neuerName.vdmk

# Disk DescriptorFile
version=1
encoding="UTF-8"
CID=026a2abf
parentCID=ffffffff
isNativeSnapshot="no"
createType="vmfs"

# Extent description
RW 127926272 VMFS "nsrv-exch01-flat.vdmk"

# The Disk Data Base
#DDB

ddb.virtualHWVersion = "7"
ddb.deletable = "true"
ddb.toolsVersion = "8389"
ddb.longContentID = "a27346547bec44da9ca51602026a2abf"
ddb.uuid = "60 00 C2 9a 30 61 77 50-98 be 52 56 fe 56 1e 22"
ddb.geometry.cylinders = "7963"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.adapterType = "lsilogic"

Ich hoffe es ist jetzt etwas besser zu verstehen .

Experte
Beiträge: 1337
Registriert: 25.04.2009, 11:17
Wohnort: Thüringen

Beitragvon Supi » 31.03.2015, 11:15

Wieso erstellst du die neue VM per console und nicht per Vsphere CLient?
Was verstehst du unter neue, konsolidierte Platte?

Was ist der der Grund der Konsolidierung? Und was verstehst du darunter? kam im Vsphere die Meldung dazu?

Die vmkfstools sollte man doch nur als letzten Schritt wählen und auch nur dann, wenn man sich mit diesen richtig auskennt.

Ich würde die VM auf einen anderen Datastore migrieren und erst mal dein fragmente bereinigen. Dann über den Vsphere Client ein neues Laufwerk der VM zuteilen.
Dabei wird die VMDK im Fileystem doch gleich mit angelegt.
Dein Weg erscheinit mir wie von hinten durch die Brust.

Experte
Beiträge: 1824
Registriert: 04.10.2011, 14:06

Beitragvon JustMe » 31.03.2015, 11:19

Tja, wenn die vmdk tatsaechlich *.vdmk (man beachte die verwurstelten Buchstaben) heisst, wundert mich nicht, dass diese Datei vom Wizard nicht angezeigt wird. ;-)

Ansonsten denke ich, dass zuerst das Problem der "gesperrten Datei" geloest werden sollte. Mit einem Verzeichnislisting und Inhalt der vmx haette man weitere Hinweise, z.B. ob noch Snapshots existieren, z.B. von einer nicht beendeten Backup-Operation...

King of the Hill
Beiträge: 12950
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Beitragvon irix » 31.03.2015, 11:23

Hm... als ich fands eigentlich schon im ersten Post gut erklaert und das Doing sollte dem ein oder anderen auch bekannt vor kommen ;) Warum natuerlich im Client die Platte nicht auswaehlbar ist weis ich nicht.

- Die GUI mit der Auswahl zeigt niemals Snapshots an
- Die GUI zeigt immer eine interpretierte Ansicht an und benoetigt dazu die 2 vmdks.

Fragen:
- Wuerde der Datastorebrowser die Platte in seiner interpretierten Ansicht anzeigen?
- Kannst du die neue Platte in eine andere neue VM hinzufuegen?
- Ist an der VM irgendwan besonders? IDE, RDM, PCI Passthrough?
- Aendert sich was wenn die VM aus ist bzw. welche vHW hat die VM und hast du es mit dem C# und dem Webclient versucht?

Gruss
Joerg

Member
Beiträge: 35
Registriert: 04.09.2009, 13:42

Beitragvon Hippo02 » 31.03.2015, 11:48

Wenn ihr mir bei dem Problem mit der gesperrten Datei helfen würdet wäre es super :-)

Also laut GUI (vShpere) gibt es keine Snapshots mehr.
Versuche ich in der GUI zu konsolidieren, kommt die Fehlermeldung „Zugriff auf eine Datei (unspecified filename) nicht möglich, weil sie gesperrt ist.

Hier kommt der Inhalt der vmx-Datei.

.encoding = "UTF-8"
config.version = "8"
virtualHW.version = "7"
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"
nvram = "Server-Servername (Test).nvram"
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "soft"
powerType.powerOn = "hard"
powerType.suspend = "hard"
powerType.reset = "soft"
displayName = "Server-Servername (Test)"
extendedConfigFile = "Server-Servername (Test).vmxf"
floppy0.present = "true"
scsi0.present = "true"
scsi0.sharedBus = "none"
scsi0.virtualDev = "lsisas1068"
memsize = "4096"
scsi0:0.present = "true"
scsi0:0.fileName = "Server-Servername (Test)-000003.vmdk"
scsi0:0.deviceType = "scsi-hardDisk"
sched.scsi0:0.shares = "normal"
sched.scsi0:0.throughputCap = "off"
scsi0:1.present = "true"
scsi0:1.fileName = "Server-Servername (Test)_1.vmdk"
scsi0:1.mode = "independent-persistent"
scsi0:1.deviceType = "scsi-hardDisk"
sched.scsi0:1.shares = "normal"
sched.scsi0:1.throughputCap = "off"
ide1:0.present = "true"
ide1:0.clientDevice = "TRUE"
ide1:0.fileName = "/usr/lib/vmware/isoimages/windows.iso"
ide1:0.deviceType = "cdrom-raw"
ide1:0.startConnected = "FALSE"
floppy0.startConnected = "false"
floppy0.clientDevice = "true"
ethernet0.present = "true"
ethernet0.virtualDev = "vmxnet3"
ethernet0.networkName = "Prod-Netz"
ethernet0.addressType = "vpx"
ethernet0.generatedAddress = "00:50:56:9f:5d:c2"
svga.vramSize = "33554432"
disk.EnableUUID = "true"
guestOSAltName = "Microsoft Windows Server 2008 (64-Bit)"
guestOS = "longhorn-64"
annotation = "Funktion"
uuid.bios = "42 1f d3 79 7c 25 62 e4-f6 87 02 36 d8 97 58 f0"
vc.uuid = "50 1f a1 ec 5b 6b 50 c4-cc c9 46 f7 9e 15 e7 f4"
snapshot.action = "keep"
sched.cpu.min = "0"
sched.cpu.units = "mhz"
sched.cpu.shares = "normal"
sched.mem.minsize = "0"
sched.mem.shares = "normal"
tools.upgrade.policy = "manual"
deploymentPlatform = "windows"
unity.customColor = "#C0C0C0"
replay.supported = "FALSE"
scsi0:0.redo = ""
vmotion.checkpointFBSize = "33554432"
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "160"
ethernet0.pciSlotNumber = "192"
vmci0.pciSlotNumber = "32"
scsi0.sasWWID = "50 05 05 69 7c 25 62 e0"
hostCPUID.0 = "0000000b756e65476c65746e49656e69"
hostCPUID.1 = "000106a500100800009ce3bdbfebfbff"
hostCPUID.80000001 = "00000000000000000000000128100800"
guestCPUID.0 = "0000000b756e65476c65746e49656e69"
guestCPUID.1 = "000106a500010800809822010febfbff"
guestCPUID.80000001 = "00000000000000000000000128100800"
userCPUID.0 = "0000000b756e65476c65746e49656e69"
userCPUID.1 = "000106a500100800009822010febfbff"
userCPUID.80000001 = "00000000000000000000000128100800"
evcCompatibilityMode = "FALSE"
tools.deployPkg.fileName = ""
scsi0:1.ctkEnabled = "FALSE"
scsi0:1.redo = ""
checkpoint.vmState = ""
unity.wasCapable = "TRUE"
replay.filename = ""
scsi0:0.ctkEnabled = "TRUE"
vmci0.id = "-661169935"
tools.syncTime = "FALSE"
uuid.location = "56 4d 99 c3 8e 4d a4 63-4e 5c 54 02 98 68 6a 33"
cleanShutdown = "FALSE"
migrate.hostlog = "./Server-Servername (Test)-f91a30a6.hlog"
ctkEnabled = "TRUE"
sched.swap.derivedName = "/vmfs/volumes/4a8f0fdc-33f24374-90bf-18a9054bb376/Server-Servername (Test)/Server-Servername (Test)-f91a30a6.vswp"
scsi0:2.deviceType = "scsi-hardDisk"

Experte
Beiträge: 1824
Registriert: 04.10.2011, 14:06

Beitragvon JustMe » 31.03.2015, 11:55

Ehrlich, ich kann mich des Eindrucks weiter nicht erwehren, dass hier immer ein paar Infos fehlen ;-)

Hiess die "vmdk" denn nun tatsaechlich "vdmk", und alles geht sauber, wenn man den korrekten Namen verwendet?

Die abgedruckte .vmx scheint mir vor dem Ende gekuerzt zu sein. Bitte irgendwo gezippt hochladen, und hier nur verlinken.

Und ausserdem das Verzeichnislisting (VON DER KOMMMANDOZEILE) zur Verfuegung stellen.

Der Eintrag scsi0:0.fileName = "Server-Servername (Test)-000003.vmdk" verweist jedenfalls dadrauf, dass hoechstwahrscheinlich fuer die erste Platte dieser VM noch ein Snapshot besteht.

Probier doch mal ein

Code: Alles auswählen

grep Server-Servername /vmfs/volumes/*/*/*.vmx

Das sollte ausgeben, welche VMs denn noch Platten von "Server-Servername" gemountet haben.

Achso: Der Befehl muss auf ALLEN Hosts ausgefuehrt werden, da bei laufenden VMs die *.vmx von dem jeweils ausfuehrenden Hosts gesperrt sind.

King of the Hill
Beiträge: 12950
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Beitragvon irix » 31.03.2015, 11:55

Gruende fuer die Sperrung:

- Eine Appliance oder andere VM hat die Basis VMDK gemountet. Das hat man bei Backuploesungen welche HotAdd verwenden
- Die VM wurde migriert (DRS) und ein anderer ESXi Host haelt den Lock. Hier hilft mal im Event Log zugucken und die VM zurueck zumigrieren
- In einigen Faellen ist es der selbige ESXi und dann hat mir nur ein Reboot des Hosts geholfen.

Gibt nen VMware KB welcher beschreibt wir man den Host identifizieren kann. Letztendlich loesst man eine Aktion aus welche einen Fehler erzeugt um dann im Log innerhalb einer ID die MAC Adresse des Hosts zuermitteln.

Gruss
Joerg


Zurück zu „vSphere 5 / ESXi 5 und 5.1“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste