Skip to content

Silsilad sawir qaade ah oo mashiinka farsamada ah ee jabay (.VMDK / .VHDX / .QCOW2) iyo samatabbixinta saxanka

Nambarada deg-degga ahi way ku kala duwan yihiin waddan ahaan. Boggani wuxuu isticmaalaa 911, lambarka Maraykanka iyo Kanada. Wadamo badan oo kale ayaa isticmaala 112, 999, ama nambar kale. U hel lambarka wadankaaga.

Marka wax soo saarka Virtual Machine (VM) ee **VMware ESXi / Workstation ***, ** Microsoft Hyper-V ***, ** Proxmox VE / QEMU-KVM ***, ama ** Oracle VirtualBox ** si lama filaan ah u diido inuu shido ka dib markii shaqada kaydinta ay ku guuldareysato, kaydinta xogta ayaa ka dhammaatay meel disk ah (0 bytes free), ama maamuluhu taabto faylka sawir-qaadista, hal dhagsi oo argagaxsan waxay tirtiri kartaa bilaha ama sannadaha xogta ganacsiga tooska ah. Sawir-qaadista mashiinka Virtual ** ma aha kayd madax-bannaan oo buuxa ***; Way jilicsan yihiin Koobi-ku-qor (CoW) silsiladaha kala duwan ee delta (*-000001-delta.vmdk, *.avhdx, ama faylka-backing .qcow2 dulsaar) halkaas oo hal baloog kasta oo la qoray tan iyo sawirka sawirka la qaaday ayaa si gaar ah ugu nool gudaha faylalka delta ee ilmaha, halka saxanka asalka ah uu ku fadhiyo baraf waagii hore.

Haddii aad aragto khaladaadka sida "The parent virtual disk has been modified since the child was created (Parent CID does not match)" VMware, "Cannot boot: The chain of virtual hard disks is broken" ee Hyper-V, ama "Could not open backing file: L1/L2 table corrupted" gudaha QEMU/Proxmox, ** dib-u-ku-fiiqida VM-ga Tooska ah Disk-ga Saldhigga (flat.vmdk ama saldhig .vhdx) oo kor u qaadistiisu waa dilaa**. Samaynta sidaas oo kale waxay kabaysaa server-ka sidii uu jiray 6 bilood ka hor markii sawirkii ugu horreeyay la sameeyay, ** isla markiiba burinaya isku xirka waalidka-ilmaha GUID/CID iyo samaynta sawir kasta oo delta tan iyo taariikhdaas agoon iyo mid aan la isku dari karin**.

Hagahan waxa uu bixiyaa tillaabo-tallaabo dib-u-dhiska silsiladda sawir-qaadista ee aan burburin, hagaajinta madaxa-fayl-faylka, iyo borotokoolka soo saarista faylka martida ka baxsan ee ku salaysan VMware ee Broadcom Aqoonta Saldhigga Maqaallada (KB 1007969 / 316578 iyo KB 1002511), Microsoft Hyper-V Merge-VHD iyo Set-VHD qeexida injineernimada, QEMU qemu-img iyo libguestfs (guestmountHeerarka dambi baarista, iyo daabacaada gaarka ah ee NIST 800-86.

Hadda samee tan

Haddii mashiinka farsamada gacanta uu diido inuu bilaabo ama uu tuuro silsilad sawir-qaadis ah oo jaban/khalad khaldan oo saxan ah:

  1. ** Waligaa ha tafatiriin jaangooyada VM si aad toos ugala soo baxdo Base Disk-ga (Server.vmdk ama Server.vhdxmarka Delta snapshots (-000001.vmdk ama .avhdxWaa kujiraa galkaCID** gudaha VMware ama ** Linkage GUID / Timestamp ** gudaha Hyper-V. Bootkaas kelida ahi waxa uu jebiyaa dhammaan silsiladda sawir-qaadista carruurta ee ku xidhan saxanka salku in uu yara qaboojiyo. Haddii qolka server-kaagu uu ka socdo dab firfircoon, qaboojin gabowday, ama khatar jireed, bax oo wac lambarkaaga degdega ah (911 gudaha Mareykanka iyo Kanada, 112 guud ahaan Midowga Yurub, 999 gudaha Boqortooyada Ingiriiska) ama hubi nambarada degdega ah.
  2. ** waligaa ha tirtirin .avhdx, -delta.vmdk, ama -sesparse.vmdk faylasha ku jira Windows Explorer ama ESXi Datastore Browser si ay "u xoreeyaan booska diskka."** Si ka duwan faylalka ku meel gaarka ah ee caadiga ah, .avhdx iyo -delta.vmdk faylasha ** WAA darawalkaaga adag ee hadda nool ***. Haddii sawir sawireed uu sameeyay 8 bilood ka hor shaqada kaydinta ee Veeam/CommVault oo shaqada ka tagay, 100 boqolkiiba wax kala iibsiga kaydinta xogta, qaansheegta, iyo faylka la sameeyay 8dii bilood ee la soo dhaafay waxaa lagu kaydiyaa gudaha kuwaas .avhdx ama -delta.vmdk faylasha. Tirtirkooda waxay tirtirtaa dhammaan xogta la abuuray tan iyo markii sawirku bilaabmay.
  3. Koobi ama xidh dhammaan .vmdk, .vhdx/.avhdx, ama .qcow2 faylalka kaydinta mugga dibadda/sare KA HOR inta aan la samayn amarka isku-darka, samaynta, ama hagaajinta. Isku-dubbaridka silsiladda sawir-qaadista waxay dib u qoraan dhammaan baloogyada delta ee saxanka waalidka in-meel. Haddii isku darka ay ku guul darreysato kala badh iyadoo ay ugu wacan tahay qaybta disk-ga xun ama qalad buuxa oo kaydinta xogta, saxannada waalidka iyo ilmaha labadaba waa la kharribmay ilaa aad marka hore qaadatay nuqul fayl cayriin ah mooyee.
  4. ** Haddii hypervisor-ku guuldareysto sababtoo ah kaydiyaha Datastore / Volume wuxuu ku dhuftey 100% Full (No space left on device), Marnaba ha isku dayin in aad "Delete/Consolidate Snapshots" ilaa aad ku darto meel banaan ama clone kaydka xogta weyn.** Isku-xidhka silsiladda sawir-qaadista badan waxay u baahan tahay meel xoqan oo ku meel gaar ah oo le'eg cabbirka saxanka delta ee ugu weyn. Isku dayga in lagu mideeyo kaydka xogta oo dhan 99% waxa ay burburi doontaa qaybta dhexe ee hypervisor.
  5. ** Khariidadda saxda ah ee Waalidka -> Silsiladda ku tiirsanaanta ilmaha adoo isticmaalaya amarrada kormeerka-kaliya (vmkfstools -e, Get-VHD, ama qemu-img info --backing-chain) ka hor intaadan taaban hal byte.** Cinwaanka fayl kasta oo sawir leh wuxuu si cad u magacaabayaa magaca faylka waalidka ee saxda ah iyo aqoonsiga qarsoodiga waalidka ee uu filayo inuu si toos ah u fariisto.
flowchart TD
    A["VM wuu diiday inuu kabo: Silsilad sawir qaade ah oo jaban, iswaafajinta waalidka CID, ama VMDK/VHDX/QCOW2 qudhun"] --> B["JOOJI: Si toos ah ha u xidhin saxanka salka, hana tirtirin faylalka -delta.vmdk ama .avhdx"]
    B --> C["Talaabada 1: Hubi kaydinta xogta martida / booska bilaashka ah ee mugga (`df -h` / `liiska nidaamka kaydinta esxcli`)"]
    C --> D["Talaabada 2: Nuqul ku samee dhammaan saldhigyada iyo faylasha sawir-qaadista kaydka labaad ee NAS/SAN/USB ka hor inta aan wax laga beddelin"]
    D --> E{"Qaabkee Hypervisor/Virtual Disk-ga uu saameeyay?"}
    E -->|"1. VMware ESXi / Goobta shaqada (.vmdk / -flat.vmdk / -delta.vmdk / -sesparse.vmdk)"| F["Hubi sharraxayaasha qoraalka (`cat *.vmdk`) & jeegareynta silsiladda (`vmkfstools -e Server-000002.vmdk`)"]
    F --> G{"Waa maxay khaladka VMware VMDK?"}
    G -->|"Isku-dheelitir la'aanta CID-da waalidka (`parentCID .= CID waalidka`)"| H["Tafatir tilmaanta qoraalka ubadka `.vmdk` si `parentCID` u dhigma waalidka `CID`, AMA ku xidhi saxan caleen firfircoon VMDK cusub oo la isku daray (`vmkfstools -i`)"]
    G -->|"Maqan 1-KB tilmaanta qoraalka `.vmdk` (Kaliya weyn `-flat.vmdk` ayaa jira)"| I["Xisaabi cabbirka baytka saxda ah / 512 waax oo dib u samee qoraalka cad ee `.vmdk` tilmaanta `vmkfstools -c`"]
    E -->|"2. Microsoft Hyper-V (.vhdx iyo .avhdx silsiladda)"| J["Ka eeg silsiladda '.avhdx' cusub ee kor: ` Hel-VHD -Path *.avhdx | Dooro Jidka, Waddada Waalidka'"]
    J --> K["Dib u xidhiidh tusaha waalidka jaban (`Set-VHD -Path child.avhdx -PaarentPath parent.vhdx -IgnoreIdMismatch`) ama isku darka khadka tooska ah (`Mrge-VHD`)"]
    E -->|"3. Proxmox/KVM/QEMU (.qcow2) ama VirtualBox (.vdi)"| L["Hubi `qemu-img info --backing-chain'; dib u habeynta miisaska L2 ('qemu-img check -r all`) ama dib udhig (`qemu-img rebase -u`)"]
    H --> M["Soo laabashada Badbaadinta Faylka-Band-ka-baxsan: Si toos ah ugu dheji silsilad kasta qaabka Akhriska-Kaliya adigoo isticmaalaya 'guestmount --ro' ama '7-Zip' / 'UFS Explorer'"]
    I --> M
    K --> M
    L --> M

Fahamka sida silsiladaha sawir-qaadista ee mashiinka farsamada ay dhab ahaantii u shaqeeyaan

Haddii aad maamusho VMware ESXi, Microsoft Hyper-V, Proxmox/KVM, ama VirtualBox, hypervisor kastaa wuxuu hirgeliyaa sawir-qaadis isagoo isticmaalaya qaab dhismeedka aasaasiga ah ee saxda ah: ** liis aan jiho lahayn oo ku xidhan Disks-ka Waalidka-Akhri-Kaliya iyo Wax-akhriska Caleenta Ilmaha ee 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)
  • Marka VM uu rabo inuu ** qoro *** baloog cusub maanta, waxay u qortaa KALIYA faylka caleenta hoose (Snapshot 2).
  • Marka VM uu rabo inuu akhriyo *** block maanta, hypervisor-ga ayaa hubinaya Snapshot 2 marka hore. Haddii balooggaas wax laga beddelay laga soo bilaabo Juun 1, way akhrinaysaa Snapshot 2. Haddaysan ahayn, waxay kor u eegaysaa silsiladda Snapshot 1. Haddii aan la beddelin sidoo kale, waxay akhridaa block asalka ah ee ka Base Disk.
  • Waa maxay sababta silsiladuhu u jabaan: Sawirka sawir-qaadista ee ilmo kasta waxa uu madaxiisa ku kaydiyaa laba tilmaamood oo adag: **(1) Waddada faylka ee waalidkii dhowaa, iyo ** (2) Aqoonsiga 32-bit (2)CID gudaha VMware) ama 128-bit Linkage GUID (ParentUniqueId Hyper-V) oo dib u soo cusboonaada mar kasta oo diskka waalidka loo furo si loo qoro **. Haddii qof uu guuro fayl, beddelo galka, ama uu si kooban ugu dhejiyo saxanka waalidka qaab-qoraal, waalidka CID / GUID isbeddelo, iyo hypervisor-ku isla markiiba diido inuu ku dhejiyo sawirka ilmaha si uu uga hortago musuqmaasuqa aamusan.
Hypervisor Platform Faylasha Disk-ga Saldhigga Sawir qaade / Delta Files Qalabka Kormeerka Silsiladda ee CLI Isku-dhafka Badbaadada ah / Isku-dhafka Qalabka CLI
VMware ESXi (VMFS-5 / VMFS-6) & Goobta Shaqada VM.vmdk (500-byte sharaxaad qoraal ah oo cad) + VM-flat.vmdk (xogta diskka binary ceeriin) VM-000001.vmdk (Qoraalka sharaxa) + VM-000001-sesparse.vmdk (VMFS-6) ama VM-000001-delta.vmdk (VMFS-5) vmkfstools -e VM-000002.vmdk iyo cat VM*.vmdk vmkfstools -i VM-000002.vmdk /vmfs/volumes/NewDS/Merged.vmdk (isku-darka/isku-darka meel-ka-baxsan ee aan burburinayn)
Microsoft Hyper-V (Windows Server) VM.vhdx (ama dhaxal .vhd) VM_<GUID>.avhdx (ama .avhd) PowerShell: Hel-VHD -Path *.avhdx \ | Dooro Jidka,Wadada Waalidka,VhdType PowerShell: Set-VHD -Path child.avhdx -ParentPath parent.vhdx iyo Merge-VHD -Path child.avhdx -DestinationPath parent.vhdx
** Proxmox VE / QEMU / KVM (Linux)** vm-100-disk-0.qcow2 (ama mugga LVM/ZFS cayriin) Dusha sare ee dibadda .qcow2 oo leh madaxa faylka gadaal ka riixaya (ama gudaha QCOW2 miiska sawirka) qemu-img info --backing-chain top_overlay.qcow2 qemu-img convert -O qcow2 top_overlay.qcow2 flattened_rescue.qcow2 (Meesha ugu badbaadsan ee bannaanka ka baxsan ayaa la simi) ama qemu-img commit
Oracle VirtualBox Disk.vdi (gudaha VM-ga) {UUID}.vdi gudaha Snapshots/ folder hoose + .vbox Diiwaanka warbaahinta XML VBoxManage showmediuminfo disk "{UUID}.vdi" VBoxManage clonemedium disk "{Newest_Snapshot_UUID}.vdi" Flattened_Rescue.vdi

Raadka 1: Badbaadinta VMware ESXi & Goobta Shaqada .vmdk silsilado sawir leh

Gudaha VMware ESXi, hal disk Virtual wuxuu runtii ka kooban yahay ** laba fayl oo kala duwan ** oo ah saxanka salka iyo ** laba fayl oo kala duwan ** sawir kasta: 1. ** Fayl qoraal ah oo cad (- 500-byte)Server.vmdk iyo Server-000001.vmdk)** kaas oo haya CID, parentCID, joomatari diskka, iyo magaca faylka saxda ah ee xadka binary. * (Fiiro gaar ah: Mareegta ESXi Datastore Browser ee GUI waxay qarisaa lamaanayaasha -flat.vmdk iyo -sesparse.vmdk faylalka binary oo muujiya hal sumamood oo la isku daray, waa inaad isticmaashaa SSH terminal session ee martida ESXi si aad u aragto faylasha dhabta ah)* 2. ** Faylka Xogta Dheeraadka ah ee laba-gigabyte ah (Server-flat.vmdk loogu talagalay saxanka salka, iyo Server-000001-sesparse.vmdk ama Server-000001-delta.vmdk sawir kasta)**

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

  1. ** SSH geli martida ESXi oo u gudub tusaha kaydinta xogta VM:**
    cd /vmfs/volumes/<Datastore_Name>/<VM_Folder_Name>/
    ls -la *.vmdk
    
  2. ** daabac CID, parentCIDiyo parentFileNameHint guud ahaan dhammaan sharraxaha qoraalka .vmdk fayl hal mar:**
  3. (Muhiim: Orod kaliya cat ama grep ku dul sharraxaha qoraalka yar ee 500-byte .vmdk faylal, AAN ku jirin gigabyte-badan -flat.vmdk ama -sesparse.vmdk faylasha)*
    grep -E "CID|parentFileNameHint|Extent description" -A 2 Server.vmdk Server-00000*.vmdk
    
  4. Is barbar dhig CID waalid kasta oo ka soo horjeeda parentCID ilmaheeda dhow: Fiiri wax soo saarka:
    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"
    
  5. ** Hagaaji wixii jabay parentCID oo ku jira sharaxaadaha ilmaha oo ku xaqiiji vmkfstools -e:**
  6. Marka hore, dib u celi faylalka qoraalka qoraalkacp Server-000001.vmdk Server-000001.vmdk.bak).
  7. Furan Server-000001.vmdk gudaha vi iyo isbedel parentCID=55443322 ku parentCID=1a2b3c4d (is waafajin Server.vmdkhadda CID).
  8. Tijaabi daacadnimada silsiladda ka ugu cusub (tirada ugu badan) sawirka adoo isticmaalaya vmkfstools -e:
    vmkfstools -e Server-000002.vmdk
    
  9. Haddii silsiladdu ay sax tahay, ESXi waxay soo saartaa: Disk chain is consistent.
  10. ** ISKU DIR AAN BURBUR lahayn (vmkfstools -i Meel-ka-baxsan Clone):**
  11. Hadii Server.vmdk wax yar baa wax laga beddelay ka hor intaadan hagaajin parentCID, ha ku darin goobtaada koobiga kaliya ee aad leedahay. Halkii, tilmaan vmkfstools -i ** sawirka caleenta ugu cusub (Server-000002.vmdk** oo xidh silsiladda oo dhan ka dhig mid cusub, VMDK oo fidsan oo ku yaal kayd xogeed oo bannaan:
    vmkfstools -i Server-000002.vmdk /vmfs/volumes/<Target_Datastore>/Server_Rescue/Server_Merged.vmdk -d thin
    
  12. vmkfstools -i block kasta ka akhriyaa Server-000002.vmdk hoos loo marayo Server-000001.vmdk iyo Server-flat.vmdk si adag Habka-Akhri-Kaliya oo qora nadiif ah, sawir-qaadasho-la'aan ah Server_Merged.vmdk adigoon taaban faylashaada asalka ah.

Muuqaalka 1B: Dib-u-abuurista 500-byte ee maqan ama la tirtiray .vmdk tilmaanta qoraalka marka Server-flat.vmdk wali waa sax

Mararka qaarkood maamulaha ama qoraalka jaban ayaa tirtira Server.vmdk (ama ay ku xumaato 0 bytes), taasoo keenaysa Browser-ka Datastore-ka inuu joojiyo muujinta saxanka farsamada, in kasta oo 500-gigabyte ee weyn Server-flat.vmdk faylka ka kooban 100 boqolkiiba xogtaada dhabta ah ayaa wali ku dhex fadhiya SSHls -la *-flat.vmdk).

Waxaad dib u abuuri kartaa qoraalka-cad ee maqan Server.vmdk fayl sifayn ah 60 ilbiriqsi gudahood adiga oo aan lumin hal bayt oo xog gudaha ah 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)

Dhacdada 1C: Furitaanka a .vmdk waxaa qufulay martigaliyaha ESXi oo laadlaadsan ama wakiil gurmad ah oo shil galay (Cannot open the disk: Failed to lock the file)

Haddii VM uu diido inuu ku shido Failed to lock the file ama Cannot open disk: Resource busy, martigeliyaha kale ee ESXi ee kutlada (ama qalabkii Veeam/backup HotAdd ee shil dhacay intii lagu jiray kaydinta) ayaa wali haysta quful faylka SCSI/VMFS -flat.vmdk ama -sesparse.vmdk: 1. ** Hubi haddii wakiil kayd ah oo burburay VM uu weli leeyahay VM-gaaga wax soo saarka .vmdk ku dheggan kontoroolka SCSI ee dalwaddii:** Tafatir hab-dhisyada wakiilkaaga VMs ee Veeam/CommVault oo ka saar wixii saxannada wax soo saarka ee hadhsan ee ku xidhan (** dooro "Ka saar Mashiinka Virtual," WELIGAA "Ka tirtir faylasha kaydinta xogta"). 2. ** Soo hel ciwaanka ESXi martigeliyaha ee MAC iyo nidaamka aduunka ee haya qufulka VMFS:

vmfsfilelockinfo -p /vmfs/volumes/<Datastore>/<VM_Folder>/Server-flat.vmdk
SSH geli martigeliyaha gaarka ah ee ESXi ee haya qufulka, hel midka laadlaadsan vmx aqoonsiga aduunka (esxcli vm process list), oo meesha ka saara dunidii suldaanka ahayd (esxcli vm process kill --type=force --world-id=<WorldID>).

Raadka 2: Badbaadinta Microsoft Hyper-V .vhdx iyo .avhdx silsilado sawir leh

Gudaha Microsoft Hyper-V, bar-koontarool kasta (sawir sawir) waxay abuurtaa disk adag oo macmal ah oo kala duwan oo leh kordhinta .avhdx (ama .avhd Qaabka hore ee VHD) loo qoondeeyay magac dheer oo GUID ah sida ProdSQL_A1B2C3D4-E5F6-7890-ABCD-1234567890AB.avhdx.

Talaabada 1: Khariidad u samee taariikhda saxda ah .avhdx geedka waalidka iyo ilmaha ee PowerShell

Kahor intaadan ku darin ama dib u xidhin wax kasta oo ku jira Hyper-V Manager, fur ** Maamulaha Sare PowerShell** daaqada martida Hyper-V, u gudub galka ka kooban kaaga .vhdx iyo .avhdx faylal, oo socodsii kan hal-liner si aad u muujiso silsiladda saxda ah ee waalidka iyo ilmaha laga bilaabo kan ugu cusub ilaa kan ugu da'da weyn:

# 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

Bal eeg Path iyo ParentPath beeraha. Waxay daaha ka qaadi doonaan nidaamka silsiladda saxda ah: - ProdSQL.vhdx -> ParentPath: (blank) (Xiddidada Disk-ga, ugu da'da weyn) - ProdSQL_1111.avhdx -> ParentPath: D:\VMs\ProdSQL.vhdx (** Ilmaha 1**) - ProdSQL_2222.avhdx -> ParentPath: D:\VMs\ProdSQL_1111.avhdx (** Ilmaha 2**) - ProdSQL_3333.avhdx -> ParentPath: D:\VMs\ProdSQL_2222.avhdx (Diskiska Caleenta Firfircoon ee Ugu Cusub)

Tallaabada 2: Hagaajinta "The chain of virtual hard disks is broken" ama "Differencing disk parent ID mismatch" (Set-VHD -IgnoreIdMismatch)

Ka warran haddii qof ka guuro galka VM C:\VMs\ ku E:\VMs\, ama si lama filaan ah bootinta ProdSQL.vhdx 5 ilbiriqsi, taasoo keentay ProdSQL_1111.avhdx inaad ku guul dareysato: The chain of virtual hard disks is broken. The system cannot locate the parent virtual hard disk for the differencing disk ama There is a mismatch in the virtual disk identifiers?

Isticmaal cmdlet-ka rasmiga ah ee Hyper-V PowerShell Set-VHD leh -IgnoreIdMismatch Calan (kadib marka hore marka hore la xoojiyay):

# 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

Talaabada 3: Gacan ku isku darka agoon .avhdx silsilad laga bilaabo CUSUB ilaa UGU WEYN (Merge-VHD)

Marka wakiil kayd ahi ka tago 15 agoon ah .avhdx Faylasha ku jira galkaaga oo aan hadda ka muuqan gudaha Hyper-V Manager GUI "Checkpoints" geed, ** waa inaad ku dhex milmaan iyaga gacanta PowerShell inta VM uu dansan yahay ***.

Danger

** Xeerka Birta ee Hyper-V .avhdx Isku darka:** Waa inaad mar walba ka mid noqotaa **KA CUSUB (caleemaha ugu da'da yar) .avhdx u gal waalidkeeda ugu dhow ***, adigoo u shaqeynaya si tallaabo-tallaabo gadaal u ah silsiladda ilaa saldhigga kaliya .vhdx haray. Tusaale ahaan, silsilad Base.vhdx <- Child1.avhdx <- Child2.avhdx <- Child3_Newest.avhdx: 1. Isku dar Child3_Newest.avhdx -> galay Child2.avhdx. 2. Isku dar Child2.avhdx -> galay Child1.avhdx. 3. Isku dar Child1.avhdx -> galay Base.vhdx. 4. Ku tilmaan dejimaha VM Base.vhdx iyo boot.

Ku socodsii amarradan saxda ah ee PowerShell ** nuqul shaqo ** ee galka:

# 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"

Raadka 3: Badbaadinta Proxmox VE/QEMU/KVM .qcow2 iyo VirtualBox .vdi silsilado

1. Hubinta iyo hagaajinta QCOW2 L1/L2 Kutlada & Miisaska dib-u-celinta (qemu-img check)

Marka Linux KVM ama Proxmox martida loo yahay ay ku dhacdo koronto degdeg ah oo aan lahayn kayd batari ku xiran, .qcow2 diskooga Virtual inta badan wuu ku guuldareystaa inuu ku rakibo qcow2: Marking image as corrupt: L2 table offset unaligned ama Refcount block corrupted. 1. ** Nuqulka koowaad .qcow2 fayl (cp vm-100-disk-0.qcow2 vm-100-disk-0.qcow2.bak)** 2. ** Xisaabi silsiladda dhabarka iyo liiska sawirka gudaha:**

qemu-img info --backing-chain vm-100-disk-0.qcow2
qemu-img snapshot -l vm-100-disk-0.qcow2
3. Ku hagaaji rucubyada soo daatay iyo miisaska xisaabinta ee xumaaday ee koobigaaga shaqada ah:
qemu-img check -r all vm-100-disk-0.qcow2

2. Hagaajinta Jidka Faylka Taageerada QCOW2 jabay (qemu-img rebase -u)

Haddii sawir QCOW2 dibadda ah (overlay.qcow2way ku guul daraysatay inay furto sababtoo ah faylka taageerada waalidka (base.qcow2) waxaa loo raray hagaha cusub ama barkadda kaydinta, cusboonaysii tilmaame faylka taageeraya oo aan badbaado lahayn (-u, madax-kaliya) qaabka iyada oo aan dib loo qorin xogta blocks:

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

3. Ku dhejinta jilicsan ee QCOW2 ama VMDK ama VHDX silsilad muuqaal cusub oo taaganqemu-img convert)

Mid ka mid ah aaladaha ugu badan ee samatabbixinta mashiinka farsamada waa qemu-img convert (oo si asal ah u akhriya .qcow2, .vmdk, .vhdx, .vhdiyo .vdi). Markaad tilmaanto qemu-img convert ** sawirka caleenta ugu cusub *** ee silsilad sax ah, waxay akhrinaysaa dhammaan madaxda sare ee waalidka iyo ilmaha ee qaab-Akhris-Kaliya oo waxay ku qortaa saxan-cusub, is-ka kooban, sawir-qaadasho-la'aan ah disk-ga kaydintaada:

# 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

Raadka 4: Badbaadinta faylka ka baxsan band (Soo saarista faylasha marka VM-gu aanu wali bootin)

Ka waran haddii nidaamka hawlgalka martida ee ku dhex jira saxanka farsamada uu yahay mid aan la kicin karin, ama sawirka dhexe ee silsiladda uu qayb ahaan dhaawacmay oo aad u baahan tahay inaad ka soo saarto xogta SQL (.mdf/.ldf), faylasha QuickBooks, /var/lib/mysql, ama dukumeenti shirkadu 30ka daqiiqo ee soo socda gudahooda?

** Uma baahnid inaad shido Mishiinka Virtual si aad u soo saarto faylalka ku jira dariiqa adag ee dalwadda ah.** Isticmaal mid ka mid ah saddexdan qalab ee kor ka-baxsan ee band:

Habka 1: Ku dhaji wax kasta .vmdk, .vhdx, .qcow2, ama .vdi Habka Akhriska-Kaliya ee Linux adoo isticmaalaya libguestfs (guestmount / qemu-nbd)

Ku rakib libguestfs-tools (sudo apt install libguestfs-tools qemu-utils on Ubuntu/Debian/Proxmox) oo ku dheji ** sawirka caleenta ugu cusub ** si adag ** Habka-Akhri-Kaliya--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

Habka 2: Soo saaridda-Kaliya Akhriska degdega ah ee Daaqadaha iyadoo la isticmaalayo 7-Zip ama Disk Management -> Attach VHD (Read-Only)

  • ** Isticmaalka 7-Zip (wuxuu ku shaqeeyaa .vmdk, .vhdx, .vhd, .qcow2iyo .vdi):** Midig ku dhufo mid taagan ama fidsan .vmdk, .vhdx, ama .qcow2 Fayl gareeya Windows oo dooro **7-Zip -> Furan Kaydka ***. 7-Zip wuxuu asal ahaan u kala saaraa miisaska qaybta GPT/MBR iyo nidaamyada NTFS/ext4 ee ku dhex jira saxanadaha farsamada ee 100% habka akhrinta-keliya, taasoo kuu ogolaanaysa inaad jiiddo oo aad ku rido faylalka martida si toos ah ugu dheji miiskaaga ilbidhiqsiyo gudahood.
  • Isticmaalka Maaraynta Disk-ga Windows (For .vhdx / .avhdx): Furan diskmgmt.msc -> ** Ficil -> Ku dheji VHD** -> Ka baadh ** caleenta ugu cusub .avhdx** (ama .vhdx), ** U calaamadee sanduuqa [X] Read-only (XASAASI AH: Weligaa ha iloobin inaad hubiso Read-only, haddii kale Windows waxay wax ka beddeli doontaa madaxa diskka)**, oo guji ** OK ***. VM's C: iyo D: wadisyadaada isla markiiba waxay ka soo muuqdaan Windows File Explorer.

Habka 3: Dib u dhiska silsiladaha aadka u burburay UFS Explorer Professional Recovery

Haddii saxanka waalidka ee silsiladda VMDK ama VHDX si lama filaan ah loo raray oo wax laga beddelay, ama haddii kaydinta xogta VMFS/NTFS ay burburisay qayb ka mid ah -sesparse.vmdk ama .avhdx Fayl gareeya aaladaha hypervisor-ku way diidaan, ** UFS Explorer Soo-kabashada Xirfadlaha *** (ama ** Farsamayaqaanka R-Studio ***) wuxuu kuu oggolaanayaa inaad gacanta ku ururiso saxanka ceyriinka ah iyo sawir kasta oo ilmo delta ah oo caado u ah ** Virtual Delta Stack ** gudaha softiweerka, adoo ka gudbaya hypervisor CID/GUID jeegaga madaxa si loo xardho oo loo soo saaro faylasha martida ee sugan.

Raadka 5: Soo kabashada faylka qaabeynta VM ee agoonta ah (.vmx, .xml, ama <vmid>.conf)

Mararka qaarkood silsiladda hard diskka lafteeda*.vmdk, *.vhdx, ama *.qcow2) waa 100 boqolkiiba sida saxda ah ee kaydinta kaydinta, laakiin faylka qaabeynta yar ee qeexaya naqshadaynta qalabka mashiinka Virtual (.vmx gudaha VMware ESXi, <GUID>.vmcx / .xml ee Hyper-V, ama /etc/pve/qemu-server/<vmid>.conf gudaha Proxmox VE) waa la kharribmay, si lama filaan ah loo tirtiray, ama eber laga saaray inta lagu jiro shil martigaliyaha.

Haddii aad dib u abuurto qolofka VM beddelka leh kantaroolaha kaydinta farsamada ee khaldan ama qaabka firmware-ka, nidaamka hawlgalka martida ayaa isla markiiba ku burburi doona kabaha INACCESSIBLE_BOOT_DEVICE (Daaqadaha) ama ku rid a dracut / initramfs qolof degdeg ah (Linux). Ku dhig afartan qalab ee habaynta martidaada asalka ah ka hor intaadan ku xidhin saxankaaga farsamada gacanta ee la badbaadiyey:

Dejinta Hardware Virtual Calaamadaha Haddii si khaldan loogu dejiyay Beddelka VM Sida loo Go'aamiyo Dejinta Saxda ah La'aantii hore .vmx / .vmcx
1. Habka Boot Firmware (UEFI / OVMF vs Legacy BIOS / SeaBIOS) bandhigyada VM "Operating System Not Found" ama si toos ah ugu dhacda Shell Interactive UEFI (Shell>). Kormeer shaxda qaybinta disk-ka farsamadafdisk -l ama virt-filesystems -a disk.vmdk --partitions --long). Haddii saxanku leeyahay 100 MB ilaa 512 MB FAT32 EFI System Partition (ESP) oo uu isticmaalo GPT miiska qaybinta, WAA INAAD VM firmware u dejisaa UEFI. Haddii saxanku isticmaalo MBR (dos) miiska qaybinta oo aan lahayn qayb EFI, u deji firmware ** Legacy BIOS**.
2. Nooca Xakamaynta Kaydinta VirtualVMware Paravirtual SCSI - PVSCSI vs LSI Logic SAS vs NVMe vs VirtIO SCSI) Daaqadaha tuura a 0x0000007B / INACCESSIBLE_BOOT_DEVICE Shaashada buluuga ah; Linux hoos u dhaco initramfs: /dev/mapper/root does not exist. Gudaha VMware ESXi, ku baadh qoraalka cad .vmdk faylka sharraxa ee khadka ddb.adapterType = "lsilogic" ama "buslogic" ama hubi vmware.log gudaha galka VM (grep -i "scsi0.virtualDev" vmware.log), kaas oo daabacaya taariikhda saxda ah .vmx qaamuuska bootkii ugu dambeeyay ee guulaysta.
3. Adreeska Shabakadda Virtual Adapter MAC Cinwaanka & Darawalka (VMXNET3 vs E1000e vs VirtIO-Net) Martida OS kabaha, laakiin waxay luminaysaa ciwaanka IP-ga ee taagan ama qufulka shatiga sababtoo ah waxay ogaataa kaarka shabakad "cusub"eth1 halkii eth0). Baadh kuwii hore vmware.log gudaha VM's directory directory (grep -i "ethernet0.generatedAddress" vmware.log) si loo soo celiyo ciwaanka saxda ah ee 6-byte MAC00:50:56:xx:xx:xx) oo ku dheji beddelka goobaha shabakadda VM.
4. Virtual TPM 2.0 (vTPM) & BitLocker/LUKS State Windows BitLocker waxay ku boorinaysaa furaha soo kabashada ee 48-god ah ee boot haddii .nvram / vTPM gobol baa maqan. Gudaha VMware ESXi, had iyo jeer ilaali <VM_Name>.nvram iyo .vmsd feylasha ay weheliyaan .vmdk faylasha; gudaha Hyper-V, ilaali Virtual Machines\<GUID>.vmgs (Gobolka Martida) fayl gareeya si furayaasha TPM-ga casriga ahi ay ugu xidhnaadaan.

Su'aalaha soo noqnoqda

Maxaa dhacaya haddii aan kaliya u tilmaamo VM-gayga asalka asalka ah `.vmdk` ama `.vhdx` fayl garee oo kor u qaad si aad u aragto waxa ku jira?

Weligaa tan ha samayn adoon kaydin faylalka marka hore, oo waligaa ha ku xidhin saxanka salka qaab-qoraal marka sawir-qaadid`-000001.vmdk` ama `.avhdx`) jira. Marka hore, saxanka salka ayaa la barafeeyay maalintii iyo daqiiqaddii ugu horreysay ee sawirka ugu horreeya ee la sameeyay, haddii sawirku socday muddo 6 bilood ah, bootinta kabaha diskka saldhigga ah ee server-kaaga sidii uu jiray 6 bilood ka hor, waxaa maqan fayl kasta oo la sameeyay nuskii sano ee la soo dhaafay. Marka labaad, oo aad uga sii daran, isla markaaba nidaamka hawlgalka martida ee kabo kabitaannada saldhigga, waxay qortaa diiwaannada boot iyo isbeddellada joornaalka ee saxanka saldhigga, wax ka beddelka qaybihiisa oo beddela aqoonsiga Content (`CID`) ama Linkage GUID. Taasi waxay si joogto ah u jebisa khariidadda xannibaadda delta ee ay u baahan yihiin dhammaan sawirada ilmahaaga.

Waa maxay sababta VMware ESXi datastore-kaygu u muujiyo `Server-000001.vmdk` isagoo leh cabbir buuxa oo ah 500 GB oo la mid ah `Server.vmdk` browserka mareegaha?

Kani waa soo bandhigida VMware ESXi Web Client Datastore Browser. Shabakadda UI ee biraawsarkaaga, ESXi waxay ku qarisaa waxa hoose `-flat.vmdk`, `-delta.vmdk`iyo `-sesparse.vmdk` faylalka binary oo soo bandhigay * awoodda macquulka ah ee la bixiyay* ee diskka halkii ay ka ahaan lahaayeen booska dhabta ah ee dhabta ah ee uu isticmaalo faylka delta. Si aad u aragto magacyada faylalka dhabta ah ee saxda ah, cabbirada byte-ga saxda ah, iyo faylalka qoraalka tilmaame, awood SSH martigeliyaha ESXi, ka gal Terminal/PuTTY, u gudub `/vmfs/volumes///`, oo orod `ls -lh *.vmdk`.

Sideen u xoojin karaa VMware ama Hyper-V snapshots marka kaydka xogta martida loo yahay 100% buuxa (0 bytes bilaash ah)?

Marka kaydka xogta ku dhaco 0 bytes lacag la'aan, goobta caadiga ah "Delete All Snapshots / Consolidate" waa fashilantay sababtoo ah isku darka Sawirka 2 ee Sawirka 1 waxay si ku meel gaar ah u kordhisaa cabbirka Sawirka 1 ka hor inta aan sawirka 2 la tirtirin. Waxaad haysataa saddex dariiqo oo badbaado leh: (1) Soo hel oo tirtir ama dhaqaaq *kale* aan muhiim ahayn faylalka ISO, galkii hore ee log, ama VM-yada tijaabada tamarta ka baxay ee isla kaydinta xogta si aad u xorayso 15 ilaa 20 boqolkiiba qolka hore; (2) Haddii kaydinta kaydinta ay tahay SAN/NAS (iSCSI/NFS/FC), balaadhi LUN oo kori mugga VMFS/NTFS ee khadka 100 GB; ama (3) Ku lifaaq USB drive dibadda ah ama wadaaga NFS martigeliyaha oo isticmaal `vmkfstools -i Server-000002.vmdk /vmfs/volumes/New_NFS_Share/Merged.vmdk` (ama `qemu-img convert` / `Merge-VHD` Xarafka kale ee wadista) si loo xoojiyo silsiladda *meel kabaxsan* ee mugga kaydinta labaad iyadoo la isticmaalayo eber meel wax lagu qoro kaydka xogta buuxda.

Sideen uga hortagaa software-ka kaydka ah sida Veeam, CommVault, ama Nakivo inay ka tagaan "muuqaalka agoonta ah" ee qarsoon ee buuxinaya server-kayga bilo ka dib?

Codsiyada kaabta waxay abuuraan sawir-qaade ku-meel-gaar ah oo ku-meel-gaar ah bilawga shaqo kasta oo habeennimo ah si ay u akhriyaan saxanka la qaboojiyey, ka dibna ku amar ESXi ama Hyper-V inay tirtiraan/ xoojiyaan sawirkaas marka kaydku dhammaado. Marmar, wakhtiga kaydinta ayaa sababa in tillaabada ka saarista sawirku ay si aamusnaan ah u fashilanto, taasoo ka tagta mid qarsoon `-000001.vmdk` ama `.avhdx` koraya muddo bilo ah ilaa ay gaadho boqolkiiba 100 kaydka xogta. Samee laba ilaalin oo otomaatig ah: (1) U sahli gudaha vCenter / Hyper-V / Proxmox alaarmiga `"Virtual Machine Snapshot Size > 20 GB or Age > 72 Hours"`, iyo (2) Jadwalka akhriska-kaliya PowerCLI todobaadle ama PowerShell (2)`Get-VM | Get-Snapshot` ama `Get-ChildItem -Recurse -Filter *.avhdx`) oo iimayl u direysa kooxdaada maamulka mar kasta oo fayl sawir-qaadis ah oo ka weyn 3 maalmood uu ku jiro kaydinta wax soo saarka.

Ilaha la hubiyay

  • VMware ee Saldhigga Aqoonta Farsamada ee Broadcom: KB 1007969/316578 .vmdk Faylka), iyo KB 10051 (Fahamka Sawirada Mashiinka Farshaxanka ee ESXi).
  • Microsoft Learn / Windows Server Hyper-V Dukumentiyada Injineerka: Tixraaca Hyper-V PowerShell ee Get-VHD, Set-VHD -IgnoreIdMismatchiyo Merge-VHD Isku-dhafka Disk-yada Kala duwanaanta Khadka Tooska ah.
  • Mashruuca QEMU & Ganacsiga Koofiyada Cas ee Linux Dukumentiyada Farsamaynta: * Rasmi ah qemu-img Buugga (info --backing-chain, check -r all, rebase -u, convert) iyo libguestfs (guestmount --ro) Baadhitaanka Disk-Kaliya Akhriska*.
  • Dukumentiga Farsamada ee Oracle VirtualBox: VBoxManage showmediuminfo iyo clonemedium Kala Duwanaanshaha Sawirka Dhismaha.
  • Machadka Qaranka ee Heerarka iyo Farsamada (NIST, Mareykanka): Daabacaadda Gaarka ah ee NIST 800-86: Hagaha Isku-Darka Farsamooyinka Forensic-ka ee Jawaabta Dhacdada (Ilaalinta Sawirka Mashiinka Farshaxanka).

Tilmaamaha la xidhiidha