Virtual Machines in VMware vSphere hebben veel voordelen. Ze werken betrouwbaar met hoge prestaties als de juiste hardware gebruikt wordt en de juiste softwareconfiguratie wordt toegepast. Soms wordt de status virtual machine consolidation needed getoond in de VMware vSphere Client, en moet een systeembeheerder deze fout corrigeren. Deze blogpostexplicieteerde waarom de consolidering van de schijven van VMware virtuele machines nodig is en hoe deze fout kan worden opgelost.
Wat Is VMware Schijf Consolidatie?
Virtuele schijfconsolidatie is het proces van het samenvoegen van virtuele schijfbestanden die zijn aangemaakt nadat VM-snapshots zijn genomen. U kunt de schijfconsolidatie op verzoek in gang zetten om prestatiedaling en andere problemen te voorkomen. Bij het maken van een snapshot worden delta-schijven aangemaakt en worden wijzigingen geschreven naar de betreffende delta-schijf (de laatste delta-schijf door default, tot een van de vorige snapshots wordt gekozen om de virtuele machine te herstellen). Daardoor is er in de virtuele machineopslag redundant data aanwezig omdat elke delta-schijf alle wijzigingen bevat die zijn aangebracht ten opzichte van de vorige delta-schijfstatus, en de moederschijf blijft onveranderd.
Als deketting van snapshots en gerelateerde virtuele schijfbestanden groot wordt, duikt de prestatie af. Bij het uitvoeren van VMware schijfconsolidatie wordt degevens van de delta-schijven samengevoegd tot een enkele schijf, en blijft geen redundant data aanwezig op de datastore waar de bestanden van deze VM zijn gelegen. Na het consolideren van de virtuele machineschijven wordt de opslagruimte geleegd. Onthoud dat VMware aanbeveling is om maximaal 32 snapshotten per VM te gebruiken.
Mogelijke Redenen voor de VMware Schijf Consolidatie Fout
Het foutbericht Consolidatie van VMware virtuele machine schijven is nodig wordt weergegeven in het tabblad VM-overzicht in de VMware vSphere Client (screenshot hieronder). Een van de veelvoorkomende redenen voor dit foutbericht is het incorrect verwijderen van een VM-snapshot, waardoor VMDK-bestanden gerelateerd aan snapshots en logbestanden op de datastore kunnen achterblijven (bijvoorbeeld nadat u de Alles verwijderen of Verwijderen operatie voor VM-snapshots hebt uitgevoerd).
De meest voorkomende oorzaken voor de vereiste consolidatie van virtuele machines status:
- Niet genoeg schijfruimte op de VMFS-datastore om VM-snapshots te consolideren en virtuele schijfbestanden te consolideren. Als er minder dan 1 GB vrije ruimte op de datastore is, kan deze fout optreden.
- Lage prestaties van een opslagsysteem gekoppeld aan een ESXi-host waarop een VM wordt uitgevoerd. Als de snapshotgrootte groot is of time-outs heeft, kan consolidatie van snapshots mislukken.
- Verbindingsproblemen tussen een ESXi-host en vCenter.
- Snapshotbestanden zijn vergrendeld door een applicatie van een derde partij, bijvoorbeeld een back-upapplicatie. Dit kan voorkomen als een back-upapplicatie geen back-uptaak heeft voltooid en de snapshot heeft vergrendeld (back-upapplicaties kunnen een tijdelijke snapshot van een virtuele machine maken bij het uitvoeren van een back-up). Back-upapplicaties kunnen schijven niet stilleggen zonder gebruik te maken van snapshots om een consistente back-up te maken van een draaiende VM.
U moet in feite de consistentie van VM-schijfbestanden herstellen.
Hoe het fout oplossen?
Om de status virtual machine consolidation needed op te lossen, klik met de rechtermuisknop op de naam van de VM in de VMware vSphere Client en klik in het menu dat wordt geopend op Snapshots > Consolideren.
A confirmation message is displayed:
Deze operatie consolideert alle overbodige redo-logs op uw virtuele machine. Weet u zeker dat u wilt doorgaan?
Klik op Ja om de virtuele machine diskbestanden te bevestigen en te consolideren.
Opmerking: Als er zorgen zijn dat sommige gegevens verloren kunnen gaan tijdens het consolideren van VMware-schijven, maak dan een back-up van de VMware-VM, kopieer bijvoorbeeld alle VM-bestanden naar een andere map op een datastore en voer vervolgens VMware-diskconsolidatie uit.
Wacht tot de VMware-diskconsolidatie is voltooid en de logs zijn gewist. U kunt de voortgang van de taak zien in het taakvenster onderaan de interface van de VMware vSphere Client. Als de VM actief is, kan de VM-prestatie tijdens deze operatie verminderen. De tijd die nodig is om deze operatie te voltooien, hangt af van de grootte van de VM, het aantal snapshots en de VM-belasting.
Nadat de taak voor het consolideren van VMware-schijven is voltooid, zou de waarschuwing dat VMware-virtuele machine-schijven consolidatie nodig is, moeten verdwijnen.
Fouten die kunnen optreden
Soms kan een andere fout optreden tijdens het consolideren van VMware-schijven en wordt het volgende foutbericht weergegeven:
Kan het bestand niet openen omdat het vergrendeld is. Er is een fout opgetreden tijdens het consolideren van schijven: Mislukt om het bestand te vergrendelen. Consolidatie mislukt voor schijfknooppunt ‘scsi0:0’.
Sloten kunnen ook worden gemaakt wanneer back-upapplicaties de optie voor het toevoegen van een schijf tijdens een back-up gebruiken wanneer snapshots worden gebruikt. Het VM-bestandsslot is bedoeld om gelijktijdige schrijfbewerkingen naar het bestand door meerdere ESXi-hosts te voorkomen.
Probeer de volgende acties uit te voeren om deze fout op te lossen.
- Herstart de beheeragents op de ESXi-server waarop de VM zich bevindt. Open ESXi-shell of maak verbinding met de ESXi-host via SSH en voer het volgende commando uit als root:
services.sh restart
of
/etc/init.d/hostd restart
/etc/init.d/vpxa restart
U kunt ook de directe console van ESXi openen, ga naar Probleemoplossingsopties, en selecteer Beheeragenten herstarten (druk op Enter om de benodigde optie te activeren, druk vervolgens op F11 om te bevestigen).
- Controleer het vergrendelde bestand met het commando:
vmfsfilelockinfo -p /vmfs/volumes/vm_datastore/vm_name/vm_name.vmx
- Controleer het hostd-logbestand als u het pad op de datastore moet identificeren waar de VM-bestanden zich bevinden.
cat /var/log/hostd.log |grep -i vm_name
- Ga naar de VM-map op de datastore wanneer u de locatie van de VM-bestanden kent:
cd /vmfs/volumes/datastore_name/vm_name
- Voer het commando uit om een lijst weer te geven van ESXi-hosts die de VM-bestanden vergrendelen:
for i in `ls`; do vmfsfilelockinfo -p $i ;done|grep 'is locked in\|Host owning the lock\|Total time taken' | sed 's|Host owning the lock on file is||g'|sed 's|Total time|---|g' | awk '{print $1}' |uniq
- Herstart de ESXi-beheeragenten, inclusief hostd en vpxa zoals geexpliceerd boven, of voer deze commando’s uit op de ESXi-host die de VM-bestanden vergrendelt:
/etc/init.d/hostd restart
/etc/init.d/vpxa restart
Een andere methode om VM-bestanden te ontgrendelen
Als alternatief, probeer deze stappen om een fout te repareren die optreedt tijdens de consolidering van schijven: Mislukt om het bestand te vergrendelen.
- Schakel de virtuele machine uit.
- Nemen een nieuwe VM-schijffoto.
- Verwijder alle bestaande VM-foto’s. Klik rechts op de naam van de virtuele machine in de vSphere Client, selecteer Snapshots en klik op All Snapshots Delete.
- Klonen van de virtuele machine of verplaatsen van de virtuele machine naar een andere ESXi-host met vMotion als de fout nog steeds niet is opgelost.
- Probeer de foto’s opnieuw te consolideren, zoals hierboven uitgelegd.
Als deze acties geen resultaat opleverden, probeer dan de VM af te sluiten, open de VM-instellingen, selecteer de tab VM-opties, vervolgens uitbreiden je de sectie Geavanceerd, en klik op Bewerken van de configuratie. In het configuratieparameters venster, klik op Toevoegen van configuratieparameters. Voeg de parameter asyncConsolidate.forceSync toe en stel deze parameter in op WAREN.
Soms kan de status van nodig is voor de samenvoeging van de virtuele machine worden veroorzaakt door on consistente -ctk.vmdk bestanden die zijn aangemaakt voor veranderd blokvolgorderegistratie (bijvoorbeeld door VM-backupsoftware). Probeer de CTK-bestanden te verwijderen. Ze zijn niet nodig voor de samenvoeging van snapshotten. Vergeet niet om de bestanden van de VM te back-uppen voor je de CTK-bestanden verwijderd. Probeer dan opnieuw de samenvoeging van de schijvenbestanden van de virtuele machine te proberen.
De Samenvoegen optie is inactief
Als de optie voor de VMware samenvoegen snapshot grijs is (inactief), kan er nu een actieve taak zijn die op de VM draait. Als je de foutmelding “detected an invalid snapshot configuration” ziet, kunnen sommige snapshotten kapot zijn of bestaan er split-kettingen van snapshotten. In dat geval, probeer de volgende acties uit.
- Maak een verbinding met de ESXi-server via SSH en ga naar het directory waar de VM-bestanden zijn gelegen op de datastore.
cd vmfs/volumes/DatastoreName/VMFolderName
U kunt de locatie van de VM-bestanden controleren in de VMware vSphere Client en de locatie van de virtuele schijven vinden door de VM-instellingen te bekijken.
- Identificeer naar welke schijfsnapshots wordt verwezen:
cat VM-name.vmx | grep scsi*
Bekijk de uitvoer om virtuele schijfbestanden inclusief virtuele schijfsnapshotbestanden te controleren. Bijvoorbeeld, de naam van het virtuele schijfbestand wordt weergegeven in de regel. Dit is geen snapshot:
scsi 0:0.fileName = “VM-Name.vmdk”
In de uitvoerregel wordt de naam van het virtuele schijfsnapshotbestand weergegeven en wordt er verwezen naar de snapshot:
scsi 0:0.fileName = “VM-Name-000002.vmdk”
A SCSI virtual disk controller is used in VM configuration in this example.
- De volgende opdracht controleert waarnaar elke snapshot verwijst. Gebruik deze opdracht om te detecteren welke snapshot verwijst naar het volgende schijfbestand (het snapshot-vmdk-bestand of een basisdisk-vmdk-bestand) in de snapshotsketen.
cat VM-Name-000002.vmdk | grep parentFileNameHint
Je moet deze opdracht mogelijk opnieuw uitvoeren voor andere vmdk-bestanden (zoals VM-Name-000001.vmdk in dit voorbeeld) totdat je de benodigde basisdisk vindt. Deze methode helpt je om de inconsistentie te vinden.
- Als je de inconsistentie hebt gevonden, bijvoorbeeld, VM-Name-000002.vmdk verwijst naar VM-Name-000001.vmdk die verwijst naar VM-Name.vmdk, voer vmkfstools uit op het hoogste punt van de schijfsnapshotsketen (VM-Name-000002.vmdk in dit geval):
vmkfstools -q -v10 VM-Name-000002.vmdk
Deze opdracht probeert alle vmdk-bestanden in de keten te openen en te sluiten en meldt waar een fout optreedt.
Met PowerCLI
Als alternatief voor het uitvoeren van de VMware schijfconsolidatie in de grafische gebruikersinterface van de VMware vSphere Client, kun je vSphere PowerCLI met de commandoregelinterface gebruiken.
- Maak verbinding met de vCenter Server die de ESXi host beheert die de VM bevat die de status ‘virtual machine consolidation needed’ heeft. Voer wanneer gevraagd de aanmachtigingen in.
Connect-VIServer vcenter01.test.com
- Verkrijg de lijst van VMs met de status ‘virtual machine consolidation needed’:
Get-VM | Where-Object {$ _. Extensiondata.Runtime.ConsolidationNeeded}
- Voer de VMware schijfconsolidatie uit.
Get-VM | Where-Object {$ . Extensiondata.Runtime.ConsolidationNeeded} | foreach {$ . ExtensionData.ConsolidateVMDisks_Task ()}
Conclusie
Dit blogbericht heeft aanbevelingen gepubliceerd die kunnen helpen de status ‘virtual machine consolidation needed’ op te lossen. VMware schijfconsolidatie van virtuele machine schijven is meestal nodig wanneer een van de snapshots beschadigd is, een snapshotketen onjuist is of een snapshot wordt vergrendeld door een andere ESXi host.
Voer regelmatig een VM-back-up uit in uw VMware vSphere-omgeving. Als u een back-up van gegevens heeft, kunt u de gegevens herstellen en doorgaan met werken als gegevens zijn verwijderd, beschadigd, versleuteld door ransomware of als u een foutmelding ziet tijdens de vCenter-operatie. De VMware vCenter Server moet worden geback-upt, net als andere belangrijke VM’s. Overweeg om NAKIVO Backup & Replication te gebruiken – een professioneel back-upproduct dat het maken van back-ups van virtuele machines in VMware vSphere ondersteunt.
Source:
https://www.nakivo.com/blog/fix-vmware-error-virtual-machine-disks-consolidation-needed/