Skip to content

Kua pakaru te mekameka whakaahua miihini mariko (.VMDK / .VHDX / .QCOW2) me te whakaora kōpae

He rereke nga nama ohorere i ia whenua. Ka whakamahia e tenei wharangi te 911, te nama mo te United States me Canada. He maha nga whenua e whakamahi ana i te 112, 999, tetahi atu nama ranei. Kimihia te nama mo to whenua.

I te wa e whakangaotia ana e tetahi Miihini Mariko (VM) i runga i VMware ESXi / Taumahimahi, Microsoft Hyper-V, Proxmox VE / QEMU-KVM, ranei Oracle VirtualBox ka kore ohorere ki te whakakaha i muri i te korenga o te mahi taapiri, ka pau te mokowā kōpae (0 bytes free), ka pa ranei tetahi kaiwhakahaere ki tetahi konae whakaahua, ka taea e te pawhiri ohorere te whakakore i nga marama, tau ranei o nga raraunga pakihi ora. Ko nga whakaahua miihini mariko ** ehara i te tino taapiri motuhake**; he pakarukaru Tapa-i-Tuhituhi (CoW) nga mekameka rerekee momo (*-000001-delta.vmdk, *.avhdx, konae-tuarua ranei .qcow2 whakakikoruatia) kei reira nga poraka kotahi i tuhia mai i te tangohanga o te hopukanga ka ora anake i roto i nga konae delta tamariki, i te wa e noho toka ana te kopae turanga taketake i mua.

Mena ka kite koe i nga hapa penei "The parent virtual disk has been modified since the child was created (Parent CID does not match)" i roto i te VMware, "Cannot boot: The chain of virtual hard disks is broken" i te Hyper-V, ranei "Could not open backing file: L1/L2 table corrupted" i roto i te QEMU/Proxmox, tohu ano i te VM ki te Kopae Turanga (flat.vmdk turanga ranei .vhdx) me te whakaara ake he mate. Ma te mahi pera ka whakapouri i te tūmau i te 6 marama ki muri i te waihangatanga o te whakaahua tuatahi, ka whakakorea te hononga GUID/CID matua-tamariki cryptographic me te whakaputa i nga whakaahua delta katoa mai i taua ra he pani me te kore e taea te whakakotahi.

Ko tenei aratohu e whakarato ana i nga taahiraa-i-te-taahiraa i te hangahanga mekameka hopu whakaahua-kore, te whakatika pane-whakaahua-whakaahua, me nga kawa tangohanga konae manuhiri-waho i runga i te VMware na Broadcom Knowledge Base Articles (KB 1007969 / 316578 me KB 1002511), Microsoft Hyper-V Merge-VHD a Set-VHD nga whakaritenga hangarau, QEMU qemu-img a libguestfs (guestmount) nga paerewa mo te whakawakanga, me te Whakaputa Motuhake NIST 800-86.

Mahia tenei inaianei

Ki te kore te mihini mariko ki te timata, ka makahia ranei he mekameka whakaahua pakaru / hapa mariko kua pakaru:

  1. KAWA rawa e whakatika i nga tautuhinga VM kia tika mai i te Kopae Turanga (Server.vmdk ranei Server.vhdx) i te wa ka hopukina nga whakaahua (-000001.vmdk ranei .avhdx) kei roto i te kōpaki. I te wa ka peke tika te punaha whakahaere manuhiri i te kōpae matua mo te 2 hēkona, ka tuhia e te OS manuhiri nga tohu tohu wa me nga whakahōu hautaka NTFS/ext4 ki te kōpae turanga, me te whakarereke i te Ihirangi ID o te kōpae matua (CID) i roto i te VMware, i te ** GUID Hononga / Timetamp** kei Hyper-V. Ka pakaruhia e taua peke kotahi te mekameka katoa o nga whakaahua tamariki e whakawhirinaki ana ki te kopae turanga e noho tio-mo-moka ana. Mēnā kei te pā tō rūma tūmau i te ahi kaha, te korenga o te whakamatao, te morearea tinana ranei, whakatahi ka waea atu ki to nama whawhati tata (911 i te United States me Canada, 112 puta noa i te Kotahitanga o Europi, 999 i te United Kingdom) tirohia ranei tau ohorere.
  2. ** KAUA e mukua .avhdx, -delta.vmdk, ranei -sesparse.vmdk i roto i te Windows Explorer, i te ESXi Datastore Browser ranei hei "whakawatea mokowā kōpae."** Kaore i rite ki nga konae rangitahi noa, .avhdx a -delta.vmdk ngā kōnae KO to puku mārō ora o nāianei. Mēnā i waihangahia he whakaahua 8 marama ki muri e te mahi pūrua Veeam/CommVault ka mau tonu, ka 100 ōrau o ia tauwhitinga pātengi raraunga, nama, me te konae i hangaia i roto i nga marama 8 kua hipa ka penapena ki roto .avhdx ranei -delta.vmdk kōnae. Ma te whakakore i a raatau ka mukua nga raraunga katoa i hangaia mai i te tiimatanga o te whakaahua.
  3. Tapahia, katahi ranei te katoa .vmdk, .vhdx/.avhdx, ranei .qcow2 kōnae ki te rōrahi rokiroki waho / tuarua I mua i te whakahaere i tetahi whakahau hanumi, mahi, whakatika ranei. Ko te hanumi i te mekameka hopu whakaahua ka tuhi whakamuri i nga paraka delta katoa ki roto i te kōpae matua i te waahi. Ki te rahua te hanumi i te hauruatanga na te kino o te wahanga kōpae, te putunga raraunga ranei i te hapa katoa, ka kino nga kōpae matua me nga kōpae tamaiti mena ka tangohia e koe he kape konae i te tuatahi.
  4. Mena i rahua te kaitirotiro i te mea i pa te Kaihautu Raraunga / Volume 100% Katoa (No space left on device), KAUA E ngana ki te "Muku / Whakakotahi i nga Whakaahua" tae noa ki te taapiri mokowātea, ki te kati ranei ki te toa raraunga nui ake. Ko te whakakotahi i te mekameka whakaahua-maha ka hiahia mokowhiti mokowhiti kia rite ki te rahi o te kōpae delta nui rawa atu. Ko te ngana ki te whakakotahi i runga i te 99% te katoa o te toa raraunga ka tukitukia te hypervisor i waenga o te mahi.
  5. Maherehia te matua tika -> mekameka whakawhirinaki tamariki ma te whakamahi i nga whakahau tirotiro-anake (vmkfstools -e, Get-VHD, ranei qemu-img info --backing-chain) i mua i te pa ki te paita kotahi. Ka whakaingoatia e ia pane whakaahua whakaahua te ingoa ingoa matua me te ID cryptographic matua e tika ana kia noho ki runga ake.
flowchart TD
    A["Ka Whakakahore a VM ki te Whakaara: He Maena Whakaahua Whatiwhati, Maatua CID Tauritenga, he kino ranei te VMDK/VHDX/QCOW2"] --> B["KAOTI: KAUA e whakaoho tika i te kōpae turanga, kaua hoki e mukua nga konae -delta.vmdk, .avhdx ranei"]
    B --> C["Hipanga 1: Tirohia te Toa Raraunga Kaihautū / Mokowā Kore Rorohiko (`df -h` / `rarangi punaha putunga rokiroki esxcli`)"]
    C --> D["Hipanga 2: Tāruahia nga konae turanga me nga konae whakaahua ki te puku tuarua NAS/SAN/USB i mua i te whakarereketanga"]
    D --> E{"Ko tehea Kaitirotiro / Hōputu Kōpae Mariko e pa ana?"}
    E -->|"1. VMware ESXi / Taupunimahi (.vmdk / -flat.vmdk / -delta.vmdk / -sesparse.vmdk)"| F["Tirotirohia nga kaiwhakaahua kuputuhi (`cat *.vmdk`) & tirohia mekameka (`vmkfstools -e Server-000002.vmdk`)"]
    F --> G{"He aha te he o VMware VMDK?"}
    G -->|"CID Maatua Taurite (`parentCID .= CID o matua`)"| H["Whakatikahia te whakamaarama kupu kupu tamariki `.vmdk` kia taurite ai a `parentCID` ki te `CID' a te matua, RĀNEI ka kii i te kōpae rau hohe ki te VMDK whakatōpū hou (`vmkfstools -i`)"]
    G -->|"Kei te ngaro te whakamaarama kupu 1-KB `.vmdk` (Kei te `-flat.vmdk` nui anake)"| I["Tātaihia te rahi o te paita / 512 rängai ka waihangahia te tuhinga-tokau `.vmdk` whakaahua me te `vmkfstools -c`"]
    E -->|"2. Microsoft Hyper-V (.vhdx me .avhdx mekameka)"| J["Tirotirohia te mekameka mai i te mea hou `.avhdx` whakarunga: `Tikina-VHD -Ara *.avhdx | Tīpakohia te Ara,ParentPath`"]
    J --> K["Honoa ano te atatohu matua kua pakaru (`Tautuhi-VHD -Ara child.avhdx -ParentPath parent.vhdx -IgnoreIdMismatch`) ranei hanumi tuimotu (`Hanumi-VHD`)"]
    E -->|"3. Proxmox / KVM / QEMU (.qcow2) ranei VirtualBox (.vdi)"| L["Takina `qemu-img info --backing-chain`; whakatikahia nga ripanga kaute/L2 (`qemu-img taki -r katoa`) ranei rebase (`qemu-img rebase -u`)"]
    H --> M["Whakaora Whakaora Kōnae i waho o te Roopu: Whakauhia nga mekameka ki te aratau Panui-anake ma te `guestmount --ro` ranei `7-Zip` / `UFS Explorer`"]
    I --> M
    K --> M
    L --> M

Te maarama me pehea te mahi a nga mekameka whakaahua miihini mariko

Ahakoa kei te whakahaere koe i te VMware ESXi, Microsoft Hyper-V, Proxmox/KVM, VirtualBox ranei, ka mahia e ia hypervisor nga whakaahua ma te whakamahi i te ahua rite tonu te hoahoanga: he raarangi hono kotahi o nga Kopae Maatua Panui-anake me tetahi Kopae Delta Rau-Tuhituhi Tamariki.

[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)
  • Ina hiahia te VM ki te tuhi he poraka hou i tenei ra, ka tuhi ANAKE ki te konae rau o raro (Snapshot 2).
  • Ina hiahia te VM ki te panui poraka i tenei ra, ka tirohia e te hypervisor Snapshot 2 tuatahi. Mena i whakarereketia taua poraka mai i te 1 o Hune, ka panuitia mai Snapshot 2. Ki te kore, titiro ake te mekameka ki Snapshot 1. Mena kaore i whakarereketia ki reira, ka panuihia te poraka taketake mai i te Base Disk.
  • He aha te take ka pakaru ai nga mekameka: Ka penapenahia e ia tamaiti nga whakaahua e rua nga tohu tohu ki tona pane: (1) Ko te ara konae a tona matua tonu, me (2) He ID Ihirangi 32-bit (CID i roto i te VMware) ranei 128-bit Hononga GUID (ParentUniqueId i roto i te Hyper-V) ka whakahouhia i nga wa katoa ka whakatuwherahia te kōpae matua hei tuhi. Ki te nekehia e te tangata he konae, ka whakaingoa ano i tetahi kōpaki, ka whakairi poto ranei te kōpae matua ki te aratau panui-tuhi, CID / GUID ka huri, ka kore tonu te kaitirotiro e whakaae ki te whakairi i te whakaahua o te tamaiti hei aukati i te pirau paraka wahangu.
Pūharaharaitua Kōnae Kōpae Tuāpapa Whakaahuatanga / Kōnae Delta Utauta CLI Tirohanga mekameka Utauta Whakakotahi Haumaru / Hanumi CLI
VMware ESXi (VMFS-5 / VMFS-6) me te Taupunimahi VM.vmdk (500-paita-whakaahua kupu-tokau) + VM-flat.vmdk (raraunga kōpae rua raw) VM-000001.vmdk (whakaahua kupu) + VM-000001-sesparse.vmdk (VMFS-6) ranei VM-000001-delta.vmdk (VMFS-5) vmkfstools -e VM-000002.vmdk a cat VM*.vmdk vmkfstools -i VM-000002.vmdk /vmfs/volumes/NewDS/Merged.vmdk (Karekau-whakangaromanga ki waho-wahi-waahi clone/hanumi)
Microsoft Hyper-V (Tumau Matapihi) VM.vhdx (he taonga tuku iho ranei .vhd) VM_<GUID>.avhdx (ranei .avhd) PowerShell: Tikina-VHD -Ara *.avhdx \ | Tīpakohia te Ara,ParentPath,VhdType PowerShell: Set-VHD -Path child.avhdx -ParentPath parent.vhdx a Merge-VHD -Path child.avhdx -DestinationPath parent.vhdx
Proxmox VE / QEMU / KVM (Linux) vm-100-disk-0.qcow2 (rōrahi LVM/ZFS mata ranei) Paparua o waho .qcow2 me te pane pane tautoko (me te ripanga whakaahua QCOW2 o roto ranei) qemu-img info --backing-chain top_overlay.qcow2 qemu-img convert -O qcow2 top_overlay.qcow2 flattened_rescue.qcow2 (Te haumaru atu i waho o te waahi papatahi) ranei qemu-img commit
Oracle VirtualBox Disk.vdi (i roto i te kōpaki VM) {UUID}.vdi roto Snapshots/ kōpakiroto + .vbox Rēhita pāpāho XML VBoxManage showmediuminfo disk "{UUID}.vdi" VBoxManage clonemedium disk "{Newest_Snapshot_UUID}.vdi" Flattened_Rescue.vdi

Track 1: Whakaorangia VMware ESXi & Tauihana Mahi .vmdk mekameka whakaahua

I roto i te VMware ESXi, kei roto i te kōpae mariko kotahi e rua nga konae motuhake mo te kopae turanga me e rua nga konae motuhake mo ia whakaahua: 1. He iti (-500-paita) Kuputuhi-Tonu Kōnae Whakaahua (Server.vmdk a Server-000001.vmdk) e mau ana te CID, parentCID, āhuahanga kōpae, me te ingoa kōnae pū o te whānuitanga ā-rua. (Tuhipoka: Ko te taonga ESXi Datastore Browser web GUI e huna ana i te takirua -flat.vmdk a -sesparse.vmdk ko nga konae rua me te whakaatu i te ata kotahi kua hanumi, ME whakamahi koe i te SSH terminal session i runga i te kaihautu ESXi kia kite i nga konae pono). 2. He Kōnae Roonga Raraunga-rua-kipaita-rua (Server-flat.vmdk mo te kopae turanga, me Server-000001-sesparse.vmdk ranei Server-000001-delta.vmdk mo ia whakaahua).

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

  1. SSH ki te kaihautu ESXi ka whakatere ki te raarangi toa raraunga a VM:
    cd /vmfs/volumes/<Datastore_Name>/<VM_Folder_Name>/
    ls -la *.vmdk
    
  2. Tia te CID, parentCID, a parentFileNameHint puta noa i nga kaiwhakaahua kuputuhi katoa .vmdk kōnae i te wā kotahi: (He mea nui: Rere anake cat ranei grep i runga i te whakamaarama kuputuhi 500-paita iti .vmdk kōnae, KAUA i runga i te maha-kipaita -flat.vmdk ranei -sesparse.vmdk kōnae).
    grep -E "CID|parentFileNameHint|Extent description" -A 2 Server.vmdk Server-00000*.vmdk
    
  3. Whakatauritehia te CID o ia matua ki te parentCID o tana tamaiti tata: Tirohia te putanga:
    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. ** Whakatikahia te pakaru parentCID i roto i te whakaahua tamaiti me te manatoko ki vmkfstools -e:**
  5. Tuatahi, tāruatia ngā kōnae whakamārama kuputuhi (cp Server-000001.vmdk Server-000001.vmdk.bak).
  6. Tuwhera Server-000001.vmdk i roto vi me te huri parentCID=55443322 ki parentCID=1a2b3c4d (taurite Server.vmdko nāianei CID).
  7. Whakamatautauria te tika o te mekameka mai i te hou (tino-nui) whakaahuatanga kei te whakamahi vmkfstools -e:
    vmkfstools -e Server-000002.vmdk
    
  8. Mena kei te mau tonu te mekameka, ka puta a ESXi: Disk chain is consistent.
  9. KORE-KORE WHAKATOKANGA (vmkfstools -i Kawa-waho-waho):
  10. Mehemea Server.vmdk i whakarereke paku i mua i to whakatika i te parentCID, Kaua e whakakotahi ki runga i to kape anake. Engari, tohu vmkfstools -i i te whakaahua rau hou (Server-000002.vmdk) ka whakakaohia te mekameka katoa ki roto i te VMDK hou, kotahi te papatahi i runga i te toa raraunga me te mokowā wātea:
    vmkfstools -i Server-000002.vmdk /vmfs/volumes/<Target_Datastore>/Server_Rescue/Server_Merged.vmdk -d thin
    
  11. vmkfstools -i panui ia poraka mai Server-000002.vmdk ki raro Server-000001.vmdk a Server-flat.vmdk i roto i te Aratau Panui-anake ka tuhia he ma, he whakaahua-kore Server_Merged.vmdk me te kore e pa ki o konae taketake.

Tauari 1B: Te hanga ano i te 500-paita kua ngaro, kua mukua ranei .vmdk whakamārama kuputuhi ina Server-flat.vmdk kei te mau tonu

I etahi wa ka mukua e te kaiwhakahaere, te tuhinga pakaru ranei Server.vmdk (ka pirau ranei ki 0 bytes), na te Pūtirotiro Raraunga Raraunga ka mutu te whakaatu i te kōpae mariko, ahakoa te 500-kipaita nui Server-flat.vmdk ko te konae kei roto 100 ōrau o ō raraunga tūturu kei te noho tonu ki reira i SSH (ls -la *-flat.vmdk).

Ka taea e koe te hanga ano i te kupu-tokau kua ngaro Server.vmdk whakaahua i roto i te 60 hēkona me te kore e ngaro te paita kotahi o nga raraunga kei roto 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)

Scenario 1C: Wewete a .vmdk kua maukatihia e te kaihautu ESXi i whakairihia, kua takatakahia ranei te takawaenga (Cannot open the disk: Failed to lock the file)

Mena ka kore te VM e kaha ki te mahi Failed to lock the file ranei Cannot open disk: Resource busy, ko tetahi atu kaihautu ESXi kei roto i te tautau (he taputapu Veeam/backup HotAdd ranei i tuki i te wa o te taapiri) kei te pupuri tonu i te raka o te konae SCSI / VMFS. -flat.vmdk ranei -sesparse.vmdk: 1. Tirohia mena kei te VM te takawaenga takawaenga kua pakaru tonu to VM mahi .vmdk kua piri ki tana kaiwhakahaere SCSI mariko: Whakatikahia nga tautuhinga o o Veeam/CommVault takawaenga VMs ka tango i nga kopae whakaputa kua piri (whiria "Tangohia mai i te Miihini Mariko," KAUA "Mukua nga konae mai i te toa raraunga"). 2. Kimihia ko tehea wahitau MAC kaihautu ESXi me te mahinga o te ao e mau ana te raka VMFS:

vmfsfilelockinfo -p /vmfs/volumes/<Datastore>/<VM_Folder>/Server-flat.vmdk
SSH ki te kaihautu ESXi motuhake e mau ana i te raka, kimihia te whakairi vmx ID ao (esxcli vm process list), ka whakamutua te ao whakairi (esxcli vm process kill --type=force --world-id=<WorldID>).

Riu 2: Whakaorangia a Microsoft Hyper-V .vhdx a .avhdx mekameka whakaahua

I roto i te Microsoft Hyper-V, ka hangaia e ia waahi tirotiro (whakaahua) he kopae mariko rereke me te toronga .avhdx (ranei .avhd i runga i te whakatakotoranga VHD tawhito) kua tohua he ingoa ingoa GUID roa penei ProdSQL_A1B2C3D4-E5F6-7890-ABCD-1234567890AB.avhdx.

Hipanga 1: Maherehia te wa tika .avhdx rakau matua-tamariki i PowerShell

I mua i te hanumi, te hono ano ranei i tetahi mea i roto i te Kaiwhakahaere Hyper-V, whakatuwheratia he matapihi Elevated Administrator PowerShell ki te kaihautu Hyper-V, whakatere ki te kōpaki kei roto to .vhdx a .avhdx kōnae, ka whakahaere i tenei rarangi-kotahi hei whakaatu i te mekameka matua-tamariki mai i te mea hou ki te mea tawhito:

# 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

Titiro ki te Path a ParentPath mara. Ka whakaatuhia e ratou te raupapa mekameka tika: - ProdSQL.vhdx -> ParentPath: (blank) (Kopae Putake Putake, Tawhito) - ProdSQL_1111.avhdx -> ParentPath: D:\VMs\ProdSQL.vhdx (Tamaiti 1) - ProdSQL_2222.avhdx -> ParentPath: D:\VMs\ProdSQL_1111.avhdx (Tamaiti 2) - ProdSQL_3333.avhdx -> ParentPath: D:\VMs\ProdSQL_2222.avhdx (Kopae Rau Hohe Hou Hou)

Hipanga 2: Whakatika "The chain of virtual hard disks is broken" ranei "Differencing disk parent ID mismatch" (Set-VHD -IgnoreIdMismatch)

He aha mena ka nekehia e tetahi te kōpaki VM mai C:\VMs\ ki E:\VMs\, i poka noa ranei ProdSQL.vhdx mo te 5 hēkona, ka puta ProdSQL_1111.avhdx ki te kore: The chain of virtual hard disks is broken. The system cannot locate the parent virtual hard disk for the differencing disk ranei There is a mismatch in the virtual disk identifiers?

Whakamahia te cmdlet Hyper-V PowerShell mana Set-VHD me te -IgnoreIdMismatch kara (i muri i te tautoko i nga konae i te tuatahi):

# 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

Hipanga 3: Hanumi ā-ringa i te pani .avhdx mekameka mai i NEWEST ki OLDEST (Merge-VHD)

I te wa e waiho pani ana e tetahi kaihoko tautoko 15 .avhdx nga konae kei roto i to kōpaki kua kore e puta i roto i te rakau "Tirotiro" Kaiwhakahaere Hyper-V, me hanumi a ringa ki PowerShell i te wa e whakawetohia ana te VM.

Danger

Te Ture Rino o Hyper-V .avhdx Hanumi: Me hanumi tonu koe mai i te NEWEST (rau nohinohi) .avhdx ki tona matua tonu, me mahi i to huarahi ma te hikoi whakamuri ki runga i te mekameka tae noa ki te turanga anake .vhdx noho tonu. Hei tauira, i roto i te mekameka Base.vhdx <- Child1.avhdx <- Child2.avhdx <- Child3_Newest.avhdx: 1. Hanumi Child3_Newest.avhdx -> ki roto Child2.avhdx. 2. Hanumi Child2.avhdx -> ki roto Child1.avhdx. 3. Hanumi Child1.avhdx -> ki roto Base.vhdx. 4. Tohua nga tautuhinga VM ki Base.vhdx me te potae.

Whakahaerehia enei whakahau PowerShell tika i runga i te kape mahi o te kōpaki:

# 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: Whakaorangia Proxmox VE / QEMU / KVM .qcow2 me VirtualBox .vdi mekameka

1. Te arowhai me te whakatika i nga Ripanga QCOW2 L1/L2 Cluster & Refcount kua pakaru (qemu-img check)

I te wa ka mate te kaihautu Linux KVM, Proxmox ranei i te mate ohorere kaore he keteroki e tautokohia ana e te pākahiko, a .qcow2 He maha nga wa karekau te kōpae mariko ki te whawhai qcow2: Marking image as corrupt: L2 table offset unaligned ranei Refcount block corrupted. 1. Tuatahi kape te .qcow2 kōnae (cp vm-100-disk-0.qcow2 vm-100-disk-0.qcow2.bak) 2. Whakaarohia te mekameka tuara me te raarangi whakaahua o roto:

qemu-img info --backing-chain vm-100-disk-0.qcow2
qemu-img snapshot -l vm-100-disk-0.qcow2
3. Whakatikahia nga tautau ka patai me nga ripanga kaute kua kino ki to kape mahi:
qemu-img check -r all vm-100-disk-0.qcow2

2. Te whakatika i te ara Kōnae Whakamuri QCOW2 kua pakaru (qemu-img rebase -u)

Mena he whakaahua o waho QCOW2 (overlay.qcow2) ka rahua te tuwhera na te mea ko tana kōnae tautoko matua (base.qcow2) i nukuhia ki te whaiaronga hou, ki te puna rokiroki ranei, whakahōuhia te atatohu konae tuara ki te kore haumaru (-u, pane-anake) aratau me te kore tuhi ano i nga paraka raraunga:

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

3. Te whakapati i te mekameka QCOW2, VMDK, VHDX ranei, ki roto i te ahua motuhake hou (qemu-img convert)

Ko tetahi o nga taputapu tino pai ki te whakaora miihini mariko ko qemu-img convert (e panui maori .qcow2, .vmdk, .vhdx, .vhd, a .vdi). Ina tohu koe qemu-img convert i te whakaahua rau hou o te mekameka whaimana, ka panuihia te katoa o nga rarangi matua-tamariki i roto i te ** aratau Panui-anake** me te tuhi i tetahi kōpae mariko hou-hou, whai-whaiaro, karekau he whakaahua i runga i to rokiroki whakaora:

# 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

Riu 4: Whakaorangia nga konae i waho-o-ropu (Te tango i nga konae ka kore tonu te VM e puhipuhi)

Ka pewhea mena ka kore e taea te whakahaere i te punaha whakahaere manuhiri i roto i te kōpae mariko, ka pakaru ranei tetahi whakaahua o waenga o te mekameka ka hiahia koe ki te tango i nga papaa raraunga SQL (.mdf/.ldf), nga konae QuickBooks, /var/lib/mysql, nga tuhinga kamupene ranei i roto i nga meneti 30 e whai ake nei?

Kaore koe e hiahia ki te whakaara i tetahi Miihini Mariko hei tango i nga konae kei roto i tana puku mariko mariko. Whakamahia tetahi o enei taputapu whakapuru-waho-waho e toru e kore e whakamate:

Tikanga 1: Maunga tetahi .vmdk, .vhdx, .qcow2, ranei .vdi i te Aratau Panui-anake i runga i te Linux ma te whakamahi libguestfs (guestmount / qemu-nbd)

Tāuta libguestfs-tools (sudo apt install libguestfs-tools qemu-utils i runga i te Ubuntu/Debian/Proxmox) ka whakairihia te whakaahua rau hou i roto i te Panui-anake Aratau (--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

Tikanga 2: Tangohanga Panui-anake Inamata i runga i te Matapihi e whakamahi ana 7-Zip ranei Disk Management -> Attach VHD (Read-Only)

  • Ma te whakamahi i te 7-Zip (Kei te mahi .vmdk, .vhdx, .vhd, .qcow2, a .vdi): Pāwhiri-matau i te tūkotahi, kua papatahi ranei .vmdk, .vhdx, ranei .qcow2 kōnae i runga i Windows ka tīpako 7-Zip -> Tuwhera Pūranga. Ko te 7-Zip ka poroporoaki i nga ripanga wehewehe GPT/MBR me nga punaha konae NTFS/ext4 ki roto i nga kōpae mariko i roto i te aratau panui-anake 100%, ka taea e koe te toia me te tuku i nga kōpaki manuhiri ki runga i to papamahi i roto i nga hēkona.
  • Ma te Whakahaere Kopae Windows (Mo .vhdx / .avhdx): Tuwhera diskmgmt.msc -> Mahi -> Whakapiri VHD -> Tirotiro ki te rau hou .avhdx (ranei .vhdx), Tirohia te pouaka mo [X] Read-only (KORERO: Kaua rawa e wareware ki te taki Pānui-anake, ka whakarerekētia e Windows te pane kōpae), ka paato i te OK. Ka puta tonu nga puku C: me D: o VM ki Windows File Explorer.

Tikanga 3: Te hanga ano i nga mekameka kua tino pakaru ki te UFS Explorer Professional Recovery

Mena he kopae matua i roto i te mekameka VMDK, VHDX ranei i poka noa, ka whakahurihia, ki te mea kua kowhatu te pirau o te toa raraunga VMFS/NTFS i tetahi wahi o te -sesparse.vmdk ranei .avhdx ka whakakorehia e nga taputapu hypervisor, UFS Explorer Professional Recovery (ranei R-Studio Technician) ka taea e koe te whakahiato-a-ringa i te kōpae taketake me ia whakaahua delta tamaiti ki roto i te tikanga Virtual Delta Stack i roto i te rorohiko RAM, ma te karo i te hypervisor CID/GUID he arowhai pane ki te whakairo me te tango i nga konae manuhiri.

Riu 5: Te whakaora i te konae whirihora VM pani (.vmx, .xml, ranei <vmid>.conf)

I etahi wa ko te mekameka kōpae mariko tonu (*.vmdk, *.vhdx, ranei *.qcow2) he 100 paiheneti kei runga i te rarangi rokiroki, engari ko te konae whirihoranga iti e whakaatu ana i te tahora taputapu a te Miihini Mariko (.vmx i roto i te VMware ESXi, <GUID>.vmcx / .xml i te Hyper-V, ranei /etc/pve/qemu-server/<vmid>.conf i roto i te Proxmox VE) kua kino, kua mukua ohorere, kua kore ranei i te wa o te tukinga kaihautu.

Mena ka hanga ano e koe he anga whakakapinga VM me te he o te kaiwhakahaere rokiroki mariko, aratau firmware ranei, ka pakaru tonu te punaha whakahaere manuhiri i runga i te whawhai. INACCESSIBLE_BOOT_DEVICE (Windows) taka ranei ki roto i te dracut / initramfs anga ohorere (Linux). Whakaoritehia enei tautuhinga taputapu e wha ki to whirihoranga manuhiri taketake i mua i te taapiri i to kōpae mariko i whakaora:

Tautuhinga Pūmārō Mariko Tohu Ki te He te Tautuhi i runga i te Whakakapi VM Me pehea te whakatau i te Tautuhinga Tika me te kore te Tawhito .vmx / .vmcx
1. Aratau Whakaara Rorohiko (UEFI / OVMF vs Legacy BIOS / SeaBIOS) Ko nga whakaaturanga VM "Operating System Not Found" ka taka tika ranei ki roto i te UEFI Interactive Shell (Shell>). Tirotirohia te ripanga wehewehenga o te kōpae mariko (fdisk -l ranei virt-filesystems -a disk.vmdk --partitions --long). Mena he 100 MB to te kōpae ki te 512 MB FAT32 EFI System Wehewehenga (ESP) me te whakamahi i te ripanga wehewehenga GPT, ME tautuhi koe i te VM firmware ki UEFI. Mena ka whakamahia e te kōpae he ripanga wehewehe MBR (dos) kaore he wehewehenga EFI, tautuhia te firmware ki Legacy BIOS.
2. Momo Kaiwhakahaere Rokiroki Mariko (VMware Paravirtual SCSI - PVSCSI vs LSI Logic SAS vs NVMe vs VirtIO SCSI) Ka maka e Matapihi a 0x0000007B / INACCESSIBLE_BOOT_DEVICE Mata Kahurangi; Ka taka a Linux ki roto initramfs: /dev/mapper/root does not exist. I roto i te VMware ESXi, tirohia te kuputuhi-maama .vmdk kōnae whakaahua mo te raina ddb.adapterType = "lsilogic" ranei "buslogic" tirohia ranei vmware.log kei roto i te kōpaki VM (grep -i "scsi0.virtualDev" vmware.log), e tuhi ana i nga korero o mua .vmx papakupu mai i te whawhai angitu whakamutunga.
3. Wāhitau MAC Pūurutau Whatunga Mariko me te Atekōkiri (VMXNET3 vs E1000e vs VirtIO-Net) He putu OS manuhiri, engari ka ngaro tana wahitau IP pateko, raka raihana ranei na te mea ka kitea he kaari whatunga "hou" (eth1 hei utu mo eth0). Rapua nga mea tawhito vmware.log kei roto i te raarangi toa raraunga a VM (grep -i "ethernet0.generatedAddress" vmware.log) ki te whakaora i te wahitau MAC 6-paita tika (00:50:56:xx:xx:xx) ka whakapiri ki nga tautuhinga whatunga a VM whakakapi.
4. TPM Mariko 2.0 (vTPM) & BitLocker / LUKS State Ka tono a Windows BitLocker mo te kii whakaora 48-mati i te wa e whawhai ana te .nvram / vTPM kei te ngaro te kawanatanga. I roto i te VMware ESXi, tiakina tonu te <VM_Name>.nvram me .vmsd nga konae kei te taha o te .vmdk kōnae; i te Hyper-V, tiakina te Virtual Machines\<GUID>.vmgs (Whahanga Manuhiri) kia hono tonu nga taviri TPM mariko.

Pātai auau

Ka aha mena ka tohu noa taku VM ki te turanga taketake `.vmdk` ranei `.vhdx` konae ka whakaara ake kia kite he aha kei roto?

KAUA rawa e mahi i tenei me te kore e tautoko i nga konae i te tuatahi, KAUA rawa e puhipuhi i te kopae turanga ki te aratau panui-tuhi i te wa e hopukina ana (`-000001.vmdk` ranei `.avhdx`) kei te noho. Tuatahi, i whakatotokahia te kopae turanga i te ra tika me te meneti i hangaia ai te whakaahua tuatahi, mena kua 6 marama e rere ana tetahi whakaahua, ka pekehia te kōpae turanga i to kaimau i te 6 marama ki muri, ka ngaro nga konae katoa i hangaia i te haurua o te tau. Tuarua, me te mea kino rawa atu, i te wa tonu ka puta mai te punaha whakahaere manuhiri mai i te kopae turanga, ka tuhia e ia nga raarangi whakaoho me nga huringa hautaka ki te kopae turanga, ka whakarereke i ona waahanga me te whakarereke i tana ID Ihirangi (`CID`) ranei GUID Hononga. Ka pakaru tonu te mapi paraka delta e hiahiatia ana e nga whakaahua katoa o to tamaiti.

He aha taku toa raraunga VMware ESXi e whakaatu ana `Server-000001.vmdk` he rite tonu te rahi 500 GB rite `Server.vmdk` i roto i te pūtirotiro tukutuku?

He tohu whakaatu tenei o te VMware ESXi Tukutuku Kaituku Raraunga Raraunga. I roto i te UI pūtirotiro tukutuku, ka huna e ESXi te kaupapa `-flat.vmdk`, `-delta.vmdk`, a `-sesparse.vmdk` kōnae rua me te whakaatu i te *kaha arorau kua whakaritea* o te kōpae, kaua ki te mokowā tinana e pau ana i te konae delta. Hei kite i nga ingoa konae tinana pono, nga rahi paita tika, me nga konae whakamaarama tuhinga, whakaahei SSH i te kaihautu ESXi, takiuru ma te Terminal/PuTTY, whakatere ki `/vmfs/volumes///`, ka oma `ls -lh *.vmdk`.

Me pehea e taea ai e au te whakakotahi i te VMware, te Hyper-V ranei nga whakaahua ina 100% te ki tonu o te toa raraunga kaihautu (0 paita kore utu)?

Ka pa te toa raraunga ki te 0 paita kore utu, ka rahua te "Muku Whakaahua Katoa / Whakakotahi" i roto i te waahi na te mea ko te hanumi i te Whakaahua 2 ki te Whakaahua 1 ka piki ake te rahi o te Whakaahua 1 i mua i te whakakorenga o te Whakaahua 2. E toru nga huarahi haumaru: (1) Rapua me te muku, te neke ranei *tetahi atu* nga konae ISO kore-nui, nga konae rangitaki tawhito, me nga VM whakamatautau kua whakakorehia i runga i taua toa raraunga hei whakawātea i te 15 ki te 20 paiheneti rūma upoko; (2) Mena ko te raupapa rokiroki he SAN / NAS (iSCSI / NFS / FC), whakawhānuihia te LUN me te whakatipu i te VMFS / NTFS rōrahi ipurangi i te 100 GB; ranei (3) Whakauruhia he puku USB o waho, he tiri NFS ranei ki te kaihautu me te whakamahi `vmkfstools -i Server-000002.vmdk /vmfs/volumes/New_NFS_Share/Merged.vmdk` (ranei `qemu-img convert` / `Merge-VHD` ki tetahi atu reta puku) ki te whakakotahi i te mekameka *i waho o te waahi* ki te rua o nga rōrahi rokiroki ma te whakamahi i nga paita kore o te mokowā tuhi ki te toa raraunga katoa.

Me pehea taku arai i nga raupaparorohiko taapiri penei i a Veeam, CommVault, Nakivo ranei kia waiho "nga whakaahua pani" huna ka whakakiia taku tūmau i muri mai?

Ka waihangahia e nga tono taapiri he whakaahua taapiri i te tiimatanga o nga mahi taapiri ia po kia taea ai e ratou te panui i te kopae turanga tio, katahi ka ako atu ki a ESXi, ki a Hyper-V ranei ki te muku/whakakotahi i taua whakaahua ka mutu te taapiri. I etahi wa, na te paunga o te rokiroki ka rahua marie te taahiraa tango whakaahua, ka waiho he huna `-000001.vmdk` ranei `.avhdx` e tipu ana mo nga marama tae noa ki te 100 ōrau o te toa raraunga. Whakaturia kia rua nga whakamarumaru aunoa: (1) Whakahohehia te whakaoho vCenter / Hyper-V / Proxmox kua hangaia mo `"Virtual Machine Snapshot Size > 20 GB or Age > 72 Hours"`, me (2) Whakaritea he arotake-anake PowerCLI, PowerShell ranei ia wiki (`Get-VM | Get-Snapshot` ranei `Get-ChildItem -Recurse -Filter *.avhdx`) ka tuku imeera ki to roopu kaiwhakahaere i nga wa katoa e noho ana tetahi konae whakaahua kua neke ake i te 3 ra i runga i te rokiroki whakaputa.

Kua tirohia nga puna

  • VMware na Broadcom Hangarau Matauranga: KB 1007969 / 316578 (Whakatau "Kua whakarerekētia te kōpae mariko matua mai i te wa i hangaia ai te tamaiti" Nga Hapa Whakataunga CID), KB 1002511 (Te hanga ano i te Kaituhi Kopae Miihini Mariko kua ngaro. .vmdk Kōnae), me KB 10051 (E mohio ana ki nga Whakaahua Miihini Mariko i ESXi).
  • Microsoft Learn / Windows Server Hyper-V Engineering Documentation: Hyper-V PowerShell Tohutoro mo Get-VHD, Set-VHD -IgnoreIdMismatch, a Merge-VHD Whakakotahi Kōpae Rerekē Tuimotu.
  • Kaupapa QEMU & Red Hat Enterprise Linux Virtualization Tuhinga: Ohiotia qemu-img ā-ringa (info --backing-chain, check -r all, rebase -u, convert) me libguestfs (guestmount --ro) Panui-anake Te Tirohanga Kopae Mariko.
  • Oracle VirtualBox Tuhinga Hangarau: VBoxManage showmediuminfo a clonemedium Rerekē te Hangahanga Atahanga.
  • National Institute of Standards and Technology (NIST, United States): NIST Special Publication 800-86: Guide to Integrating Forensic Techniques into Incident Response (Virtual Machine Image Tiaki).

Nga kaiarahi e pa ana