Skip to content

Naburak a kadena ti snapshot ti birtual a makina (.VMDK / .VHDX / .QCOW2) ken panangispal ti disk

Agduduma ti bilang ti emerhensia sigun iti pagilian. Daytoy a panid ket agus-usar ti 911, ti numero para iti Estados Unidos ken Canada. Adu pay a pagilian ti agus-usar iti 112, 999, wenno sabali pay a numero. Sapulen ti numero para iti pagilianyo.

No ti maysa a produksion a Birtual a Makina (VM) iti VMware ESXi / Workstation, Microsoft Hyper-V, Proxmox VE / QEMU-KVM, wenno Oracle VirtualBox ket kellaat nga agkedked nga ag-power on kalpasan a mapaay ti maysa a trabaho ti backup, ti maysa a datastore ket maibus ti espasio ti disk (0 bytes free), wenno sagiden ti administrador ti snapshot file, ti maymaysa a panag-click ket mabalin a mangpunas iti adu a bulan wenno tawen a sibibiag a datos ti negosio. Dagiti snapshot ti birtual a makina ket saan a naan-anay nga agwaywayas a backup; dagitoy ket nalaka a madadael Copy-on-Write (CoW) delta a mangiduma a kawar (*-000001-delta.vmdk, . *.avhdx, wenno backing-file .qcow2 overlays) a sadiay ti tunggal maysa a bloke a naisurat manipud idi naala ti snapshot ket agbiag nga eksklusibo iti uneg dagiti ubing a delta a file, bayat a ti orihinal a batayan a disk ket agtugaw a nagyelo iti napalabas.

No makitam dagiti biddut a kas iti "The parent virtual disk has been modified since the child was created (Parent CID does not match)" iti VMware, . "Cannot boot: The chain of virtual hard disks is broken" iti Hyper-V, wenno "Could not open backing file: L1/L2 table corrupted" iti QEMU/Proxmox, panagtudo manen ti VM a Direkta iti Base Disk (flat.vmdk wenno base .vhdx) ken ti panang-boot up iti dayta ket makapapatay. Ti panagaramid iti daytoy ket mang-boot ti serbidor a kas idi 6 a bulan ti napalabas idi ti umuna a snapshot ket naparsua, dagus a mang-invalid ti kriptograpiko a nagannak-anak a GUID/CID a silpo ken mangiparang ti tunggal maysa a delta a snapshot manipud iti dayta a petsa a naulila ken saan a maitipon.

Daytoy a giya ket mangipaay ti addang-addang a saan a makadadael a panagbangon manen ti kadena ti snapshot, panagtarimaan ti ulo ti deskriptor-file, ken dagiti protokol ti panagala ti sangaili a file iti ruar ti banda a naibatay iti VMware babaen ti Broadcom Knowledge Base Articles (KB 1007969 / 316578 ken KB 1002511), Microsoft Hyper-V Merge-VHD ken Set-VHD dagiti espesipikasion ti inhenieria, QEMU qemu-img ken libguestfs (guestmount) dagiti pagalagadan ti forensiko, ken ti Naisangsangayan a Publikasion ti NIST 800-86.

Aramidenyo daytoy ita

No ti maysa a birtual a makina ket agkedked a mangrugi wenno mangipuruak ti naburak a kadena ti snapshot / nadadael a biddut ti birtual a disk:

  1. PULOS PULOS nga i-edit dagiti setting ti VM tapno direkta nga ag-boot manipud iti Base Disk (Server.vmdk wenno Server.vhdx) no dagiti ladawan ti delta ( .-000001.vmdk wenno .avhdx) adda iti folder. Iti kanito a ti sangaili nga operating system ket direkta nga ag-boot manipud iti base parent disk iti uray 2 a segundo, ti sangaili nga OS ket agsurat kadagiti boot timestamp ken NTFS/ext4 journal updates iti base disk, a mangbalbaliw iti Content ID (CID) iti VMware wenno Linkage GUID / Timestamp iti Hyper-V. Dayta a maymaysa a boot ket mangburak ti intero a kadena dagiti child snapshot nga agpannuray iti base disk nga agtalinaed a bit-for-bit frozen. No mapaspasaran ti server room-yo ti aktibo nga uram, pannakapaay ti panagpalamiis, wenno pisikal a peggad, ibakwit ken tawaganyo ti lokal a numero ti emerhensiayo (911 iti Estados Unidos ken Canada, 112 iti intero nga European Union, 999 iti United Kingdom) wenno kitaenyo numero ti emerhensia.
  2. PULOS a di ag-delete .avhdx, . -delta.vmdk, wenno -sesparse.vmdk dagiti file iti Windows Explorer wenno ti ESXi Datastore Browser tapno "mawayawayaan ti espasio ti disk." Saan a kas kadagiti gagangay a temporario a file, . .avhdx ken -delta.vmdk files TI agdama a live hard drive-mo. No ti maysa a snapshot ket naparsua 8 a bulan ti napalabas babaen ti naipit a trabaho ti backup ti Veeam/CommVault ken nabaybay-an nga agtartaray, 100 a porsiento iti tunggal transaksion ti database, invoice, ken file a naparsua bayat ti napalabas a 8 a bulan ket naidulin iti uneg dagitoy .avhdx wenno -delta.vmdk dagiti file. Ti panangikkat kadagitoy ket mangikkat kadagiti amin a datos a naparsua manipud idi nangrugi ti snapshot.
  3. Kopiaen wenno i-clone amin .vmdk, . .vhdx/ ..avhdx, wenno .qcow2 dagiti file iti maysa nga akinruar / sekondario a tomo ti pagipempenan SAKBAY nga ipataray ti ania man a bilin ti panagtipon, panagkumit, wenno panagtarimaan. Ti panagtipon ti kadena ti snapshot ket mangisurat kadagiti amin a bloke ti delta nga agpaatras iti nagannak a disk iti lugar. No ti panagtipon ket mapaay iti kagudua gapu ti dakes a sektor ti disk wenno ti naan-anay a biddut ti datastore, agpada a dagiti nagannak ken anak a disk ket nadadael malaksid no innalam nga umuna ti kopia ti raw a papeles.
  4. No napaay ti hypervisor gapu ta ti host Datastore / Volume ket nadungparna ti 100% Full (No space left on device), PULOS a dikay padasen ti "Ibura / Pagtiponen dagiti Snapshots" agingga a manginayonka iti nawaya nga espasio wenno agklona iti dakdakkel a datastore. Ti panagtitipon ti adu-a-snapshot a kadena ket kasapulan ti temporario nga espasio ti garaw a kapada ti kadakkel ti kadakkelan a delta disk. Ti panagpadas a mangtipon iti 99% a napno a datastore ket mang-crash ti hypervisor mid-commit.
  5. Imapa ti eksakto a Nagannak -> kadena ti panagpannuray ti ubing babaen ti panagusar kadagiti mabasa laeng a bilin ti panagsukimat (vmkfstools -e, . Get-VHD, wenno qemu-img info --backing-chain) sakbay a sagiden ti maymaysa a byte. Tunggal ulo ti papeles ti snapshot ket nalawag a manginaganan ti eksakto a nagannak a nagan ti papeles ken ti nagannak a kriptograpiko nga ID a namnamaenna nga agtugaw a direkta iti ngato daytoy.
flowchart TD
    A["Agkedked ti VM nga Ag-boot: Nadadael a Snapshot Chain, Di Panagtunos ti Nagannak a CID, wenno Nadadael a VMDK/VHDX/QCOW2"] --> B["STOP: SAAN a direkta nga i-boot ti base disk, ken SAAN nga i-delete ti ania man a -delta.vmdk wenno .avhdx a file"]
    B --> C["Addang 1: Sukimaten ti Host Datastore / Volume Free Space (`df -h` / `esxcli storage filesystem list`) ."]
    C --> D["Addang 2: Kopiaen amin a base ken snapshot files iti segundario a backup NAS/SAN/USB drive sakbay a baliwan"]
    D --> E{"Ania a Hypervisor / Virtual Disk Format ti maapektaran?"}
    E -->|"1. VMware ESXi / Estasion ti Trabaho (.vmdk / -patad.vmdk / -delta.vmdk / -separse.vmdk) ."| F["Sukimaten dagiti mangiladawan ti teksto (`cat *.vmdk`) & sukimaten ti kadena (`vmkfstools -e Server-000002.vmdk`)"]
    F --> G{"Ania ti biddut ti VMware VMDK?"}
    G -->|"Di Panagtunos ti CID ti Nagannak (`parentCID .= CID ti nagannak`)"| H["Urnosen ti deskriptor ti teksto ti ubing a `.vmdk` tapno ti `parentCID` ket maipada ti `CID` ti nagannak, WENNO agklona iti aktibo a bulong a disk iti baro a napagtitipon a VMDK (`vmkfstools -i`) ."]
    G -->|"Awan ti 1-KB a deskriptor ti teksto a `.vmdk` (Dakkel laeng a `-flat.vmdk` ti adda)"| I["Karkuloen ti eksakto a kadakkel ti byte / 512 a sektor ken mangpartuat manen ti plain-text a `.vmdk` a mangiladawan babaen ti `vmkfstools -c`"]
    E -->|"2. Microsoft Hyper-V (.vhdx ken .avhdx a kadena) ."| J["Sukimaten ti kadena manipud iti kabarbaro a `.avhdx` nga agpangato: `Get-VHD -Path *.avhdx | Pilien ti Dalan,Dalan ti Nagannak`"]
    J --> K["Isilpo manen ti nadadael a nagannak a puntos (`Itakder-VHD -Dalan anak.avhdx -Nagannak a Dalan.vhdx -IgnoreIdMismatch`) wenno offline a panagtipon (`Itipon-VHD`)"]
    E -->|"3. Proxmox / KVM / QEMU (.qcow2) wenno Birtual a Kahon (.vdi) ."| L["I-check ti `qemu-img info --kadena-ti-panagsuporta`; tarimaanen dagiti lamisaan ti refcount/L2 (`qemu-img check -r amin`) wenno rebase (`qemu-img rebase -u`) ."]
    H --> M["Out-of-Band File Rescue Fallback: I-mount ti ania man a kadena a direkta iti Read-Only a kasasaad babaen ti `guestmount --ro` wenno `7-Zip` / `UFS Explorer`"]
    I --> M
    K --> M
    L --> M

Pannakaawat no kasano nga aktual nga agtrabaho dagiti kawar ti snapshot ti virtual machine

Urayno patarayem ti VMware ESXi, Microsoft Hyper-V, Proxmox/KVM, wenno VirtualBox, tunggal maysa a hypervisor ket mangipatungpal kadagiti snapshot babaen ti panagusar ti eksakto a kapada a batayan nga arkitektura: maysa a unidirectional a naisilpo a listaan dagiti Read-Only Parent Disk ken ti Read-Write Child Leaf Delta Disk.

[Base Disk: Server.vmdk / Server.vhdx]  <-- Frozen Read-Only at Snapshot 1 (e.g., Jan 1)
         ^
         | (Points to Parent Path + Parent CID/GUID: 1234abcd)
[Snapshot 1: Server-000001.vmdk / Server_A.avhdx]  <-- Frozen Read-Only at Snapshot 2 (e.g., June 1)
         ^
         | (Points to Parent Path + Parent CID/GUID: 5678ef01)
[Snapshot 2 (Active Leaf): Server-000002.vmdk / Server_B.avhdx]  <-- Active Read/Write Today (Oct 31)
  • No kayat ti VM ti agsurat iti baro a bloke ita nga aldaw, agsurat LAMANG iti baba a bulong a file (Snapshot 2).
  • No kayat ti VM ti basaen ti maysa a bloke ita nga aldaw, agsukimat ti hypervisor Snapshot 2 umuna. No nabaliwan dayta a bloke sipud pay idi Hunio 1, basaenna dayta manipud Snapshot 2. No saan, kumita dayta iti kawar tapno Snapshot 1. No saan met a nabaliwan sadiay, basaenna ti orihinal a bloke manipud iti Base Disk.
  • Apay a dagiti kawar ket agrupsa: Tunggal maysa nga ubing a snapshot ket mangidulin ti dua a nainget a puntor iti ulona: (1) Ti dalan ti file ti asideg a nagannakna, ken (2) Ti 32-bit nga ID ti Linaon (CID iti VMware) wenno 128-bit a GUID ti Panagsilpo (ParentUniqueId iti Hyper-V) a ma-regenerate tunggal malukatan ti nagannak a disk para iti panagsurat. No adda asinoman a mangyakar ti maysa a file, mangbalbaliw ti nagan ti maysa a folder, wenno apagbiit a mangikabil ti nagannak a disk iti read-write mode, ti nagannak CID / . GUID agbaliw, ken ti hypervisor ket dagus nga agkedked a mangikabil ti child snapshot tapno malapdan ti silent block corruption.
Plataforma ti Hypervisor Dagiti Base a File ti Disk Snapshot / Dagiti File ti Delta Remienta ti CLI ti Inspeksion ti Kadena Natalged a Panagtitipon / Panagtipon ti CLI Tool
VMware ESXi (VMFS-5 / VMFS-6) & Estasion ti Trabaho VM.vmdk (500-byte a mangiladawan ti plain-text) + VM-flat.vmdk (raw a datos ti binary disk) . VM-000001.vmdk (ti deskriptor ti teksto) + VM-000001-sesparse.vmdk (VMFS-6) wenno VM-000001-delta.vmdk (VMFS-5) nga . vmkfstools -e VM-000002.vmdk ken cat VM*.vmdk vmkfstools -i VM-000002.vmdk /vmfs/volumes/NewDS/Merged.vmdk (Saan a makadadael nga out-of-place clone/panagtipon)
Microsoft Hyper-V (Serbidor ti Windows) VM.vhdx (wenno tawid .vhd) . VM_<GUID>.avhdx (wenno .avhd) . PowerShell: Maala-VHD -Dalan *.avhdx \ . | Pilien ti Dalan,Dalan ti Nagannak,VhdType PowerShell ti: Set-VHD -Path child.avhdx -ParentPath parent.vhdx ken Merge-VHD -Path child.avhdx -DestinationPath parent.vhdx
Proxmox VE / QEMU / KVM (Linux) vm-100-disk-0.qcow2 (wenno raw a tomo ti LVM/ZFS) . Pannakaabbong ti ruar .qcow2 nga addaan iti backing file header (wenno akin-uneg a lamisaan ti snapshot ti QCOW2) . qemu-img info --backing-chain top_overlay.qcow2 qemu-img convert -O qcow2 top_overlay.qcow2 flattened_rescue.qcow2 (Kataltalged nga out-of-place flatten) wenno qemu-img commit
Birtual nga Kahon ti Oracle Disk.vdi (iti uneg ti folder ti VM) {UUID}.vdi iti uneg Snapshots/ subfolder + .vbox Rehistro ti media ti XML VBoxManage showmediuminfo disk "{UUID}.vdi" VBoxManage clonemedium disk "{Newest_Snapshot_UUID}.vdi" Flattened_Rescue.vdi

Track 1: Panangisalakan ti VMware ESXi & Workstation .vmdk dagiti kawar ti snapshot

Iti VMware ESXi, ti maymaysa a birtual a disk ket aktual a buklen ti dua a nagsisina a file para iti batayan a disk ken dua a nagsisina a file para iti tunggal maysa a snapshot: 1. Ti bassit (-500-byte) a plain-text a Deskriptor a File (Server.vmdk ken Server-000001.vmdk) nga agtengtengngel ti CID, . parentCID, heometria ti disk, ken ti eksakto a nagan ti papeles ti binaryo a saklaw. (Palagip: Ti stock ESXi Datastore Browser web GUI ket mangilemmeng ti naiparis -flat.vmdk ken -sesparse.vmdk binary files ken mangipakita laeng ti maymaysa a naikaykaysa nga ikono, MASAPUL nga usarem ti SSH terminal session iti ESXi host tapno makitam dagiti pudno a file). 2. Ti adu a gigabyte a binaryo a Data Extent File (Server-flat.vmdk para iti base disk, ken Server-000001-sesparse.vmdk wenno Server-000001-delta.vmdk para iti tunggal snapshot).

Senario 1A: Panagtarimaan "The parent virtual disk has been modified since the child was created (Parent CID mismatch)"

  1. SSH iti ESXi host ken ag-navigate iti direktorio ti datastore ti VM:
    cd /vmfs/volumes/<Datastore_Name>/<VM_Folder_Name>/
    ls -la *.vmdk
    
  2. Imaldit ti CID, . parentCID, ken parentFileNameHint iti ballasiw ti amin a teksto a mangiladawan .vmdk files iti maminsan: (Napateg: Agtaray laeng cat wenno grep iti bassit a 500-byte a teksto a mangiladawan .vmdk files, SAAN nga iti multi-gigabyte -flat.vmdk wenno -sesparse.vmdk dagiti file).
    grep -E "CID|parentFileNameHint|Extent description" -A 2 Server.vmdk Server-00000*.vmdk
    
  3. Idilig ti CID ti tunggal nagannak kontra iti parentCID ti asideg nga anakna: Kitaenyo ti rimmuar:
    Server.vmdk:           CID=1a2b3c4d
                           parentCID=ffffffff   (ffffffff means this is the root Base Disk)
    
    Server-000001.vmdk:    CID=99887766
                           parentCID=55443322   <-- ERROR: Should equal Server.vmdk's CID (1a2b3c4d)
                           parentFileNameHint="Server.vmdk"
    
    Server-000002.vmdk:    CID=aabbccdd
                           parentCID=99887766   <-- OK: Matches Server-000001.vmdk's CID (99887766)
                           parentFileNameHint="Server-000001.vmdk"
    
  4. Itarimaan ti nadadael parentCID iti child descriptor ken paneknekan babaen ti vmkfstools -e:
  5. Umuna, i-back up dagiti text descriptor files (cp Server-000001.vmdk Server-000001.vmdk.bak).
  6. Luktan Server-000001.vmdk in vi ken panagbalbaliw parentCID=55443322 nga parentCID=1a2b3c4d (panagtunos Server.vmdk's agdama CID).
  7. Suboken ti kinatarnaw ti kadena manipud iti kabarbaro (kangatuan-a-numeroan) a snapshot babaen ti panagusar vmkfstools -e:
    vmkfstools -e Server-000002.vmdk
    
  8. No ti kadena ket saan a nadadael, ti ESXi ket mangiruar: Disk chain is consistent.
  9. SAAN A DESTRUKTIBO A PANANGKONSOLIDASYON (vmkfstools -i Klono iti ruar ti Lugar):
  10. No Server.vmdk nabaliwan bassit sakbay nga inlintegmo ti parentCID, saan a pagtitiponen iti lugar iti rabaw ti kakaisuna a kopiam. Imbes ketdi, itudo vmkfstools -i iti kabarbaro a bulong a snapshot (Server-000002.vmdk) ken i-clone ti intero a kadena iti baro a brand, maymaysa a napatapat a VMDK iti datastore nga addaan iti nawaya nga espasio:
    vmkfstools -i Server-000002.vmdk /vmfs/volumes/<Target_Datastore>/Server_Rescue/Server_Merged.vmdk -d thin
    
  11. vmkfstools -i basaenna ti tunggal bloke manipud Server-000002.vmdk agpababa babaen Server-000001.vmdk ken Server-flat.vmdk iti nainget a Read-Only Mode ken agsurat iti nadalus, awanan iti snapshot Server_Merged.vmdk saan a sagiden dagiti orihinal a file-mo.

Senario 1B: Panagpartuat manen ti awan wenno naikkat a 500-byte .vmdk deskriptor ti teksto no Server-flat.vmdk ket intact pay laeng

No dadduma, ag-delete ti administrador wenno nadadael nga iskrip Server.vmdk (wenno madadael dayta iti 0 bytes), a pakaigapuan ti panagsardeng ti Datastore Browser a mangipakita iti birtual a disk, uray no ti dakkel a 500-gigabyte ** .Server-flat.vmdk** file a naglaon iti 100 a porsiento ti aktual a datam ket nakatugaw pay laeng sadiay mismo iti SSH (ls -la *-flat.vmdk).

Mabalinmo a parnuayen manen ti awan a plain-text Server.vmdk descriptor file iti 60 a segundo a saan a mapukaw ti uray maysa a byte ti datos iti uneg Server-flat.vmdk:

# 1. Check the exact byte size of your existing Server-flat.vmdk:
ls -l Server-flat.vmdk
# Example output: -rw------- 1 root root 107374182400 Oct 31 12:00 Server-flat.vmdk  (Exactly 107,374,182,400 bytes)

# 2. Create a temporary dummy VMDK of that EXACT byte size in /tmp or the datastore:
vmkfstools -c 107374182400 -d thin temp_dummy.vmdk

# 3. Delete the dummy binary file (temp_dummy-flat.vmdk) and rename the 500-byte descriptor to Server.vmdk:
rm -f temp_dummy-flat.vmdk
mv temp_dummy.vmdk Server.vmdk

# 4. Edit Server.vmdk in 'vi' and change the filename inside quotes from "temp_dummy-flat.vmdk" to "Server-flat.vmdk":
sed -i 's/temp_dummy-flat.vmdk/Server-flat.vmdk/g' Server.vmdk
# (Also delete the line 'ddb.thinProvisioned = "1"' if the original disk was thick-provisioned)

Senario 1C: Panaglukat ti kandado a .vmdk naikandado babaen ti naibitin nga ESXi host wenno na-crash a backup proxy (Cannot open the disk: Failed to lock the file) .

No agkedked ti VM nga ag-power on with Failed to lock the file wenno Cannot open disk: Resource busy, ti sabali pay nga ESXi a host iti kumpol (wenno ti maysa a Veeam/backup HotAdd nga alikamen a na-crash bayat ti panag-backup) ket mangiggem pay laeng ti SCSI / VMFS a kandado ti papeles -flat.vmdk wenno -sesparse.vmdk: 1. I-check no ti na-crash a backup proxy VM ket addaan pay laeng kadagiti production VM's mo .vmdk naikapet iti birtual nga SCSI a kontroladorna: Urnosen dagiti panagitunos dagiti Veeam/CommVault proxy VM-mo ken ikkaten ti ania man a nadadael a naikapet a disk ti produksion (pilien ti "Ikkaten manipud iti Birtual a Makina," PULOS a PULOS "Ibura dagiti papeles manipud iti datastore"). 2. Sapulen no ania nga ESXi host MAC address ken sangalubongan a proseso ti mangiggem ti VMFS lock:

vmfsfilelockinfo -p /vmfs/volumes/<Datastore>/<VM_Folder>/Server-flat.vmdk
SSH iti espesipiko nga ESXi host a mangiggem ti kandado, sapulen ti naibitin vmx ID ti lubong (esxcli vm process list), ken pagpatinggaen ti naibitin a lubong (esxcli vm process kill --type=force --world-id=<WorldID>).

Track 2: Panangisalakan iti Microsoft Hyper-V .vhdx ken .avhdx dagiti kawar ti snapshot

Iti Microsoft Hyper-V, tunggal maysa a checkpoint (snapshot) ket mangpartuat ti naidumaduma a birtual a hard disk nga addaan iti ekstension a ** ..avhdx** (wenno .avhd iti daan a pormat ti VHD) a naituding ti atiddog a GUID a nagan ti file a kas ProdSQL_A1B2C3D4-E5F6-7890-ABCD-1234567890AB.avhdx.

Addang 1: Mapa ti eksakto a kronolohikal .avhdx kayo ti nagannak-anak iti PowerShell

Sakbay nga agtipon wenno agsilpo manen ti aniaman iti Hyper-V Manager, luktam ti Elevated Administrator PowerShell a tawa iti Hyper-V host, ag-navigate iti folder a naglaon iti... .vhdx ken .avhdx dagiti file, ken tarayen daytoy a one-liner tapno maipakita ti eksakto a kadena ti nagannak-anak manipud iti kabarbaro aginggana iti kadaanan:

# Inspect every .vhdx and .avhdx in the directory, sorted by LastWriteTime:
Get-ChildItem -Filter "*.*vhd*" | ForEach-Object {
    Get-VHD -Path $_.FullName -ErrorAction SilentlyContinue |
    Select-Object Path, ParentPath, VhdType, FileSize, Size
} | Format-List

Kitaenyo ti... Path ken ParentPath dagiti talon. Ipalgakda ti eksakto nga urnos ti kadena: - ProdSQL.vhdx -> ParentPath: (blank) (Root Base Disk, Kadaanan) - ProdSQL_1111.avhdx -> ParentPath: D:\VMs\ProdSQL.vhdx (Ubing 1) - ProdSQL_2222.avhdx -> ParentPath: D:\VMs\ProdSQL_1111.avhdx (Ubing 2) - ProdSQL_3333.avhdx -> ParentPath: D:\VMs\ProdSQL_2222.avhdx (Kabarbaro nga Aktibo a Disko ti Bulong)

Addang 2: Panagtarimaan "The chain of virtual hard disks is broken" wenno "Differencing disk parent ID mismatch" (Set-VHD -IgnoreIdMismatch) .

Kasano no adda nangiyakar iti VM folder manipud C:\VMs\ nga E:\VMs\, wenno aksidente a na-boot ProdSQL.vhdx iti 5 a segundo, a pakaigapuan ti ProdSQL_1111.avhdx tapno mapaay iti: The chain of virtual hard disks is broken. The system cannot locate the parent virtual hard disk for the differencing disk wenno There is a mismatch in the virtual disk identifiers?

Usaren ti opisial a Hyper-V PowerShell cmdlet ** .Set-VHD** nga addaan iti ** .-IgnoreIdMismatch** bandera (kalpasan ti panang-backup nga umuna kadagiti file):

# Relink a child .avhdx to its parent .vhdx/.avhdx (adding -IgnoreIdMismatch if the parent timestamp/GUID shifted):
Set-VHD -Path "E:\VMs\ProdSQL_1111.avhdx" -ParentPath "E:\VMs\ProdSQL.vhdx" -IgnoreIdMismatch

Addang 3: Manual a panagtipon ti maysa nga ulila .avhdx kadena manipud BABARO agingga iti KADAANAN (Merge-VHD) .

No ti maysa a backup agent ket panawanna ti 15 nga ulila .avhdx dagiti file iti foldermo a saanen nga agparang iti uneg ti kayo ti Hyper-V Manager GUI "Checkpoints", masapul nga itiponmo dagitoy a manual iti PowerShell bayat a ti VM ket nai-OFF.

Danger

Ti Landok a Paglintegan ti Hyper-V .avhdx Panagtipon: Masapul a KANAYONAN nga agtipon manipud iti BARO (kaubingan a bulong) . .avhdx iti asideg a nagannakna, nga agtrabaho iti dalanmo nga addang-addang nga agpaatras nga agpangato iti kawar agingga iti batay laeng .vhdx agtalinaed. Kas pagarigan, iti kawar Base.vhdx <- Child1.avhdx <- Child2.avhdx <- Child3_Newest.avhdx: 1. Agtipon Child3_Newest.avhdx -> iti Child2.avhdx. 2. Agtipon Child2.avhdx -> iti Child1.avhdx. 3. Agtipon Child1.avhdx -> iti Base.vhdx. 4. Itudo dagiti setting ti VM iti Base.vhdx ken boot.

Ipataray dagitoy nga eksakto a bilin ti PowerShell iti agtartrabaho a kopia ti folder:

# Step 1: Merge Child 3 (Newest) into Child 2:
Merge-VHD -Path "E:\VMs\ProdSQL_3333.avhdx" -DestinationPath "E:\VMs\ProdSQL_2222.avhdx"

# Step 2: Merge Child 2 into Child 1:
Merge-VHD -Path "E:\VMs\ProdSQL_2222.avhdx" -DestinationPath "E:\VMs\ProdSQL_1111.avhdx"

# Step 3: Merge Child 1 into the Base .vhdx:
Merge-VHD -Path "E:\VMs\ProdSQL_1111.avhdx" -DestinationPath "E:\VMs\ProdSQL.vhdx"

Track 3: Panangisalakan ti Proxmox VE / QEMU / KVM .qcow2 ken VirtualBox ti .vdi kawar

1. Panangsukimat ken panangtarimaan kadagiti nadadael a QCOW2 L1/L2 Cluster & Refcount Tables (qemu-img check) .

No ti Linux KVM wenno Proxmox host ket agsagaba iti kellaat a pannakapukaw ti koriente nga awan ti battery-backed cache, a .qcow2 ti virtual disk masansan a mapaay nga ag-boot iti qcow2: Marking image as corrupt: L2 table offset unaligned wenno Refcount block corrupted. 1. Umuna a kopiaen ti .qcow2 file (cp vm-100-disk-0.qcow2 vm-100-disk-0.qcow2.bak). 2. I-audit ti backing chain ken internal a listaan ti snapshot:

qemu-img info --backing-chain vm-100-disk-0.qcow2
qemu-img snapshot -l vm-100-disk-0.qcow2
3. Tarimaanen dagiti nagruar a cluster ken nadadael a refcount tables iti agtartrabaho a kopiam:
qemu-img check -r all vm-100-disk-0.qcow2

2. Panangtarimaan ti nadadael a QCOW2 Backing File Path (qemu-img rebase -u) .

No ti akinruar a QCOW2 a ladawan (overlay.qcow2) ket mapaay a manglukat gapu ta ti nagannak a backing file-na (base.qcow2) ket nayakar iti baro a direktorio wenno pagidulinan a pool, i-update ti backing file pointer iti saan a natalged (-u, header-only) a wagas nga awan ti panagsurat manen kadagiti bloke ti datos:

qemu-img rebase -u -b /new/path/to/base.qcow2 -F qcow2 overlay.qcow2

3. Panangpatad iti nalaka a madadael a QCOW2 wenno VMDK wenno VHDX chain iti baro a standalone image (qemu-img convert) .

Maysa kadagiti kaaduan ti pakausaranna nga alikamen iti virtual machine rescue ket ti ** .qemu-img convert** (a katutubo a mabasa .qcow2, . .vmdk, . .vhdx, . .vhd, ken .vdi). No itudom qemu-img convert iti kabarbaro a leaf snapshot ti balido a kadena, basaenna ti sibubukel a hirarkia ti nagannak-anak iti strict Read-Only mode ken isuratna ti baro a brand-new, self-contained, snapshot-free a birtual a disk iti pagidulinanmo iti panangispal:

# Non-destructively flatten an entire QCOW2, VMDK, or VHDX chain into a single clean image:
qemu-img convert -p -O qcow2 top_snapshot_leaf.qcow2 /mnt/rescue_storage/flattened_clean.qcow2

Track 4: Out-of-band file rescue (Panangikkat kadagiti file no saan pay laeng nga ag-boot ti VM) .

Kasano no ti sangaili a sistema ti panagpataray iti uneg ti birtual a disk ket saan a mai-boot, wenno ti tengnga a snapshot iti kadena ket paset a nadadael ken kasapulam nga iruar dagiti database ti SQL (.mdf/ ..ldf), Dagiti file ti QuickBooks, . /var/lib/mysql, wenno dokumento ti kompania iti uneg ti sumaganad a 30 a minuto?

Saan a kasapulan nga i-boot ti Virtual Machine tapno makaala kadagiti file iti uneg ti virtual hard drive-na. Usaren ti aniaman kadagitoy tallo a saan a makadadael nga out-of-band mounting tools:

Pamay-an 1: I-mount ti aniaman .vmdk, . .vhdx, . .qcow2, wenno .vdi iti Read-Only Mode iti Linux nga agus-usar libguestfs (guestmount / . qemu-nbd) .

I-install libguestfs-tools (sudo apt install libguestfs-tools qemu-utils iti Ubuntu/Debian/Proxmox) ken i-mount ti kabarbaro a leaf snapshot iti nainget a Read-Only Mode (--ro):

# Option A: Using guestmount (Automatically detects internal guest LVM/partitions and mounts read-only):
sudo mkdir -p /mnt/vm_rescue
sudo guestmount -a /path/to/Newest_Leaf_Snapshot.vmdk -i --ro /mnt/vm_rescue
# (If guest OS partitions fail auto-inspection due to dirty NTFS journal, list partitions with 'virt-filesystems -a disk.vmdk -l'
# and mount the specific partition directly with '-m /dev/sda2 --ro -o norecover')

# Option B: Attaching the virtual disk chain as a Read-Only Network Block Device (/dev/nbd0):
sudo modprobe nbd max_part=16
sudo qemu-nbd --read-only --connect=/dev/nbd0 /path/to/Newest_Leaf_Snapshot.qcow2
sudo partprobe /dev/nbd0
lsblk /dev/nbd0
# Now mount /dev/nbd0p2 read-only (with -o ro,norecover for NTFS or -o ro,noload for ext4):
sudo mount -o ro,norecover /dev/nbd0p2 /mnt/vm_rescue

Pamay-an 2: Instant Read-Only Extraction iti Windows nga agus-usar 7-Zip wenno Disk Management -> Attach VHD (Read-Only)

  • Usar ti 7-Zip (Agtrabaho iti .vmdk, . .vhdx, . .vhd, . .qcow2, ken .vdi): I-right-click ti standalone wenno flattened .vmdk, . .vhdx, wenno .qcow2 file iti Windows ken pilien ti 7-Zip -> Open Archive. Ti 7-Zip ket natibo a mangpars kadagiti lamisaan ti panagbingbingay ti GPT/MBR ken dagiti sistema ti papeles ti NTFS/ext4 iti uneg dagiti birtual a disk iti 100% a mabasa laeng a kasasaad, a mangipalubos kenka a mangiguyod ken mangitumba kadagiti folder ti sangaili a diretso iti desktopmo iti sumagmamano a segundo.
  • Panagusar ti Windows Disk Management (Para iti... .vhdx / . .avhdx): Lumakad diskmgmt.msc -> Action -> I-Attach ti VHD -> Ag-browse iti kabarbaro a bulong .avhdx (wenno .vhdx), SUKEN TI KAHON PARA [X] Read-only (KRITICAL: Dimo pulos liplipatan nga i-check ti Read-only, ta no saan, baliwan ti Windows ti disk header), ken i-click ti OK. Dagus nga agparang dagiti C: ken D: drive ti VM-mo iti Windows File Explorer.

Pamay-an 3: Panangbangon manen kadagiti nakaro ti pannakadadaelna a kawar babaen ti UFS Explorer Professional Recovery

No ti maysa a nagannak a disk iti maysa a kadena ti VMDK wenno VHDX ket aksidente a nai-boot ken nabaliwan, wenno no ti pannakadadael ti datastore ti VMFS/NTFS ket nangpisipisi iti paset ti a -sesparse.vmdk wenno .avhdx file isu a dagiti ramit ti hypervisor ket ilaksidda daytoy, ti UFS Explorer Professional Recovery (wenno R-Studio Technician) ket mangipalubos kenka a manual a mangurnong ti raw base disk ken tunggal maysa nga ubing a ladawan ti delta iti kostumbre a Virtual Delta Stack iti software RAM, a mangliklik iti hypervisor CID/ .GUID header checks tapno mangikitikit ken mangikkat kadagiti intact a sangaili a file.

Track 5: Panagsubli ti naulila a file ti panagisaad ti VM (.vmx, . .xml, wenno <vmid>.conf) .

No dadduma ti virtual hard disk chain a mismo (*.vmdk, . *.vhdx, wenno *.qcow2) ket 100 a porsiento a saan a nadadael iti storage array, ngem ti bassit a file ti panagisaad a mangikeddeng ti layout ti hardware ti Virtual Machine (.vmx iti VMware ESXi, . <GUID>.vmcx / . .xml iti Hyper-V, wenno /etc/pve/qemu-server/<vmid>.conf iti Proxmox VE) ket nadadael, aksidente a naikkat, wenno na-zero out bayat ti panag-crash ti host.

No mangparnuayka manen ti kasukat a VM shell babaen ti di umiso a birtual a kontrolador ti pagipempenan wenno firmware a kasasaad, ti sangaili a sistema ti panagpataray ket dagus a ma-crash iti panag-boot babaen INACCESSIBLE_BOOT_DEVICE (Windows) wenno agdisso iti a dracut / initramfs shell ti emerhensia (Linux). Iparis dagitoy uppat a panagitunos ti hardware iti orihinal a konfigurasion ti sangailimo sakbay nga ikapet ti naisalakan a birtual a diskmo:

Panagituding ti Birtual a Hardware Sintoma No Di Umiso ti Naiset iti Replacement VM Kasano a Maikeddeng ti Umiso a Setting nga Awan ti Daan .vmx / . .vmcx
1. Modo ti Panagrugi ti Firmware (UEFI / OVMF vs Legacy BIOS / SeaBIOS) . Dagiti maiparang ti VM "Operating System Not Found" wenno agtinnag a diretso iti UEFI Interactive Shell (Shell>). Sukimaten ti lamisaan ti panagbingbingay ti birtual a disk (fdisk -l wenno virt-filesystems -a disk.vmdk --partitions --long). No ti disk ket addaan iti 100 MB aginggana iti 512 MB a FAT32 EFI System Partition (ESP) ken agus-usar ti GPT a lamisaan ti panagbingbingay, MASAPUL nga ikeddengmo ti firmware ti VM iti UEFI. No ti disk ket agus-usar ti MBR (dos) a lamisaan ti panagbingbingay nga awan ti EFI a panagbingbingay, ikeddeng ti firmware iti Legacy BIOS.
2. Birtual a Kita ti Kontrolador ti Pagidulin (VMware Paravirtual SCSI - PVSCSI vs LSI Logic SAS vs NVMe vs VirtIO SCSI) . Windows ti mangipuruak a 0x0000007B / INACCESSIBLE_BOOT_DEVICE Asul nga Iskrin; Linux ti agtinnag iti initramfs: /dev/mapper/root does not exist. Iti VMware ESXi, sukimaten ti plain-text .vmdk descriptor file para iti linia ddb.adapterType = "lsilogic" wenno "buslogic" wenno tseke vmware.log iti uneg ti folder ti VM (grep -i "scsi0.virtualDev" vmware.log), a mangimaldit iti eksakto a historikal .vmx diksionario manipud iti naudi a naballigi a boot.
3. Virtual Network Adapter MAC nga Direksyon & Driver (VMXNET3 vs E1000e vs VirtIO-Net) . Ti Guest OS ket ag-boot, ngem mapukawna ti estatiko nga IP a pagtaenganna wenno ti kandado ti lisensia gapu ta daytoy ket makaduktal ti "baro" a network card (eth1 imbes a eth0). Sukisoken ti daan vmware.log iti uneg ti direktorio ti datastore ti VM (grep -i "ethernet0.generatedAddress" vmware.log) tapno makasubli ti eksakto nga 6-byte a MAC address (00:50:56:xx:xx:xx) ken i-paste dayta kadagiti setting ti network ti kasukat a VM.
4. Birtual nga TPM 2.0 (vTPM) & BitLocker / Estado ti LUKS Ti Windows BitLocker ket mangibaga ti 48-digit a tulbek ti panagsubli iti panagrugi no ti .nvram / . vTPM estado ti awan. Iti VMware ESXi, kanayon nga ipreserba ti ** .<VM_Name>.nvram** ken ** ..vmsd** files iti abay ti .vmdk dagiti file; iti Hyper-V, ipreserba ti Virtual Machines\<GUID>.vmgs (Guest State) file isu nga agtalinaed a naisilpo dagiti birtual a tulbek ti TPM.

Masansan a maisaludsod

Ania ti mapasamak no itudok laeng ti VM-ko nga agsubli iti orihinal a base `.vmdk` wenno `.vhdx` file ken boot up tapno makita no ania ti adda iti uneg?

PULOS nga aramiden daytoy no saan nga umuna nga i-backup dagiti file, ken PULOS PULOS nga i-boot ti base disk iti read-write mode no ag-snapshot (`-000001.vmdk` wenno `.avhdx`) adda. Umuna, ti batayan a disk ket na-freeze iti eksakto nga aldaw ken minuto a naparsua ti umuna unay a snapshot, no ti maysa a snapshot ket agtartaray iti 6 a bulan, ti panag-boot ti base disk ket mangirugi ti serbidormo a kas idi 6 a bulan ti napalabas, a nadadael ti tunggal maysa a file a naparsua iti napalabas a kagudua a tawen. Maikadua, ken nakarkaro pay, iti dagus a panag-boot ti sangaili nga operating system manipud iti base disk, agsurat daytoy kadagiti boot log ken journal changes iti base disk, a baliwanna dagiti sektorna ken baliwanna ti Content ID-na (`CID`) wenno GUID ti Panagsilpo. Dayta ti permanente a mangburak iti mapa ti delta block a kasapulan ti amin a snapshot ti anakmo.

Apay nga ipakita ti VMware ESXi datastore-ko `Server-000001.vmdk` kas addaan iti isu met laeng a naan-anay a 500 GB a kadakkel a kas `Server.vmdk` iti web browser?

Daytoy ket maysa a display quirk ti VMware ESXi Web Client Datastore Browser. Iti web browser UI, ti ESXi ket mangilemmeng ti naibatay `-flat.vmdk`, . `-delta.vmdk`, ken `-sesparse.vmdk` dagiti binaryo a papeles ken mangiparang ti *naipaay a lohikal a kapasidad* ti disk imbes a ti aktual a pisikal nga espasio a nabusbos babaen ti delta a papeles. Tapno makita dagiti pudno a pisikal a nagan ti papeles, dagiti eksakto a kadakkel ti byte, ken dagiti papeles ti mangiladawan ti teksto, pagayatan ti SSH iti ESXi a host, aglog-in babaen ti Terminal/PuTTY, ag-navigate iti `/vmfs/volumes///`, ken agtaray `ls -lh *.vmdk`.

Kasano a mapagtitipon dagiti VMware wenno Hyper-V snapshot no ti host datastore ket 100% a napno (0 bytes free)?

No ti maysa a datastore ket mangdungpar iti 0 a byte a nawaya, ti gagangay nga in-place a "Iburas ti Amin a Snapshot / Consolidate" ket mapaay gapu ta ti panagtipon ti Snapshot 2 iti Snapshot 1 ket temporario a mangpaadu ti kadakkel ti Snapshot 1 sakbay a ti Snapshot 2 ket mabalin a maikkat. Addaanka iti tallo a natalged a dalan a rummuar: (1) Sapulen ken burasen wenno iyakar dagiti *sabsabali* a saan a napateg nga ISO file, daan a log file, wenno dagiti naiddep a test VM iti dayta met laeng a datastore tapno mawayawayaan ti 15 agingga iti 20 a porsiento a headroom; (2) No ti storage array ket maysa a SAN/NAS (iSCSI/NFS/FC), palawaen ti LUN ken padakkelen ti tomo ti VMFS/NTFS online babaen ti 100 GB; wenno (3) Ikabil ti external USB drive wenno NFS share iti host ken usaren `vmkfstools -i Server-000002.vmdk /vmfs/volumes/New_NFS_Share/Merged.vmdk` (wenno `qemu-img convert` / . `Merge-VHD` iti sabali a letra ti drive) tapno pagtitiponen ti kadena *out-of-place* iti maikadua a tomo ti pagipempenan babaen ti panagusar kadagiti sero a byte ti espasio ti panagsurat iti naan-anay a datastore.

Kasano a malapdak ti backup software a kas iti Veeam, CommVault, wenno Nakivo a mangibati kadagiti nailemmeng a "naulila a snapshot" a mangpunno iti server-ko kalpasan ti sumagmamano a bulan?

Dagiti aplikasion ti backup ket mangpartuat ti temporario a ladawan ti hypervisor iti rugi ti tunggal maysa a rabii a trabaho ti backup tapno mabasada ti nagyelo a batayan a disk, ken kalpasanna ibilinda ti ESXi wenno Hyper-V a mangbura/mangtipon iti dayta a snapshot no malpas ti backup. Sagpaminsan, ti panagleppas ti panagidulin ket mangpataud ti addang ti panangikkat ti snapshot a mapaay a siuulimek, a mangibati ti nailemmeng `-000001.vmdk` wenno `.avhdx` dumakdakkel iti adu a bulan agingga a makadanon iti 100 a porsiento iti datastore. Mangisaad ti dua nga automated a salaknib: (1) Pagbalinen ti naibangon nga alarma ti vCenter / Hyper-V / Proxmox para iti `"Virtual Machine Snapshot Size > 20 GB or Age > 72 Hours"`, ken (2) Mangiskediul ti linawas a mabasa laeng a PowerCLI wenno PowerShell nga audit (`Get-VM | Get-Snapshot` wenno `Get-ChildItem -Recurse -Filter *.avhdx`) nga ag-email iti admin team-mo tunggal adda aniaman a snapshot file a natataengan ngem 3 nga aldaw iti pagipempenan ti produksion.

Nasukimat dagiti gubuayan

  • VMware babaen ti Broadcom Teknikal a Base ti Pannakaammo: KB 1007969 / 316578 (Panangsolbar ti "Ti nagannak a birtual a disk ket nabaliwan manipud idi naparsua ti ubing" Dagiti Biddut ti Di Panagtunos ti CID), KB 1002511 (Panangpartuat manen ti Napukaw a Deskriptor ti Disko ti Birtual a Makina .vmdk File), ken KB 10051 (Panangawat kadagiti Snapshot ti Birtual a Makina iti ESXi).
  • Microsoft Learn / Windows Server Dokumentasion ti Inhenieria ti Hyper-V: Reperensia ti Hyper-V PowerShell para iti Get-VHD, . Set-VHD -IgnoreIdMismatch, ken Merge-VHD Offline a Panagdumaduma ti Panagtitipon ti Disk.
  • Proyekto ti QEMU & Dokumentasion ti Birtualisasion ti Linux ti Red Hat Enterprise: Opisial qemu-img Manual (info --backing-chain, . check -r all, . rebase -u, . convert) ken libguestfs (guestmount --ro) Mabasa Laeng a Virtual Disk Inspeksion.
  • Teknikal a Dokumentasion ti Oracle VirtualBox: * .VBoxManage showmediuminfo ken clonemedium Panagdumaduma ti Arkitektura ti Ladawan*.
  • Nailian nga Instituto ti Pagalagadan ken Teknolohia (NIST, Estados Unidos): Naisangsangayan a Publikasion ti NIST 800-86: Giya iti Panagtipon kadagiti Teknika ti Forensiko iti Sungbat ti Insidente (Birtual a Panagpreserba ti Ladawan ti Makina).

Mainaig a giya