Skip to content

مات شوی مجازی ماشین سنیپ شاټ سلسله (.VMDK / .VHDX / .QCOW2) او ډیسک ریسکیو

بیړني شمیرې د هیواد له مخې توپیر لري. دا پاڼه 911 کاروي، د متحده ایالاتو او کاناډا لپاره شمیره. ډیری نور هیوادونه 112، 999، یا بل شمیره کاروي. د خپل هیواد لپاره شمیره ومومئ.

کله چې د تولید مجازی ماشین (VM) په VMware ESXi / Workstation، Microsoft Hyper-V، Proxmox VE / QEMU-KVM، یا Oracle VirtualBox ناڅاپه د بیک اپ کار ناکامیدو وروسته له بریښنا څخه انکار کوي، د ډیټاسټور د ډیسک ځای پای ته رسیږي.0 bytes free)، یا یو مدیر د سنیپ شاټ فایل ته لاس اچوي، یو واحد ډار شوی کلیک کولی شي د میاشتو یا کلونو ژوندۍ سوداګرۍ ډاټا له منځه یوسي. د مجازی ماشین عکسونه بشپړ خپلواک بیک اپ نه دي؛ دوی نازک دي ** د کاپي پر لیکلو (CoW) ډیلټا مختلف زنځیرونه** (*-000001-delta.vmdk, *.avhdx، یا د ملاتړ فایل .qcow2 overlays) چیرې چې د سنیپ شاټ څخه لیکل شوي هر بلاک په ځانګړي ډول د ماشوم ډیلټا فایلونو کې ژوند کوي ، پداسې حال کې چې اصلي بیس ډیسک په تیرو وختونو کې کنګل شوی.

که تاسو غلطۍ وګورئ لکه "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" په Hyper-V کې، یا "Could not open backing file: L1/L2 table corrupted" په QEMU/Proxmox کې، ** په مستقیم ډیسک کې VM بیا په نښه کول (flat.vmdk یا اساس .vhdx) او بوټ کول یې وژونکي دي**. د دې کولو سره سرور بوټ کیږي لکه څنګه چې 6 میاشتې دمخه شتون درلود کله چې لومړی سنیپ شاټ رامینځته شو ، ** په سمدستي توګه د کریپټوګرافیک والدین - ماشوم GUID/CID لینک باطلوي او د دې نیټې راهیسې هر ډیلټا سنیپ شاټ یتیم او نه ضمیمه کیږي**.

دا لارښود ګام په ګام غیر تخریبي سنیپ شاټ چین بیارغونه ، د ډیسکریټر فایل سرلیک ترمیم ، او د براډ کام پوهه اساس مقالو (KB 1007969 / 316578 او KB 10025) ، مایکروسافټ 100215 (KB 1007969 / 316578 او KB) لخوا د VMware پراساس د بانډ څخه بهر د میلمه فایل استخراج پروتوکولونه چمتو کوي. Merge-VHD او Set-VHD د انجنیري مشخصات، QEMU qemu-img او libguestfs ((guestmount) عدلي معیارونه، او د NIST ځانګړې خپرونه 800-86.

همدا اوس وکړئ

که چیرې یو مجازی ماشین د مات شوي سنیپ شاټ زنځیر / فاسد مجازی ډیسک خطا له پیل کولو څخه انکار وکړي یا وغورځوي:

  1. ** هیڅکله د بیس ډیسک څخه مستقیم بوټ کولو لپاره د VM تنظیمات مه ایډیټ کړئ (Server.vmdk یا Server.vhdx) کله چې د ډیلټا عکسونه (-000001.vmdk یا .avhdx) په فولډر کې شتون لري. ** کله چې د میلمه عملیاتي سیسټم مستقیم د بیس پیرنټ ډیسک څخه حتی د 2 ثانیو لپاره بوټ کیږي، میلمه OS په بیس ډیسک کې د بوټ ټایم سټیمپونه او د NTFS/ext4 ژورنال تازه معلومات لیکي، د اصلي ډیسک ** د منځپانګې ID بدلوي (CID)** په VMware کې یا په Hyper-V کې لینکج GUID/Timestamp. دا یو بوټ د ماشوم سنیپ شاټونو ټوله سلسله ماتوي کوم چې د بیس ډیسک پورې اړه لري د بټ لپاره - بټ منجمد پاتې کیږي. که ستاسو د سرور خونه د فعال اور وژنې، یخولو ناکامۍ، یا فزیکي خطر سره مخ وي، خپل ځایی اضطراري شمیره (911 په متحده ایالاتو او کاناډا کې، 112 په ټوله اروپا کې، 999 په انګلستان کې) وباسئ او یا یې وګورئ. بیړنۍ شمیرې.
  2. ** هیڅکله مه حذف کړئ .avhdx, -delta.vmdk، یا -sesparse.vmdk د وینډوز اکسپلورر یا د ESXi ډیټاسټور براوزر کې فایلونه "د ډیسک ځای خالي کړئ." ** د نورمال لنډمهاله فایلونو برعکس، .avhdx او -delta.vmdk فایلونه ** ستاسو اوسنی ژوندی هارډ ډرایو دي**. که چیرې یو سنیپ شاټ 8 میاشتې دمخه د Veeam/CommVault بیک اپ دندې لخوا رامینځته شوی و او روان پاتې شو ، د هر ډیټابیس لیږد ، رسید او فایل 100 سلنه په تیرو 8 میاشتو کې رامینځته شوي په هغه کې زیرمه شوي. .avhdx یا -delta.vmdk فایلونه د دوی حذف کول د سنیپ شاټ له پیل راهیسې رامینځته شوي ټول معلومات حذف کوي.
  3. ** ټول کاپي یا کلون کړئ .vmdk, .vhdx/.avhdx، یا .qcow2 د هر ډول ادغام، ژمنې یا ترمیم کمانډ چلولو دمخه د خارجي / ثانوي ذخیره کولو حجم ته فایلونه. ** د سنیپ شاټ سلسله یوځای کول ټول ډیلټا بلاکونه د اصلي ډیسک * په ځای * کې شاته لیکي. که یو ضمیمه د خراب ډیسک سکتور یا ډیټاسټر بشپړ غلطی له امله نیمه لار کې ناکامه شي ، نو د والدین او ماشوم ډیسک دواړه فاسد کیږي پرته لدې چې تاسو لومړی د خام فایل کاپي واخلئ.
  4. ** که چیرې هایپروایزر ناکام شو ځکه چې کوربه ډیټاسټور / حجم 100٪ بشپړ شو (No space left on device)، هیڅکله هڅه مه کوئ چې "Snapshots ړنګ کړئ / یوځای کړئ" تر هغه چې تاسو په لوی ډیټاسټور کې وړیا ځای یا کلون اضافه نه کړئ. ** د څو سنیپ شاټ سلسلې پیاوړې کول لنډمهاله سکریچ ځای ته اړتیا لري چې د لوی ډیلټا ډیسک اندازې سره مساوي وي. په 99٪ بشپړ ډیټاسټور کې د یوځای کولو هڅه به د هایپروایزر مینځنۍ ژمنې له مینځه ویسي.
  5. ** دقیق پلار -> د ماشوم انحصار سلسله نقشه کړئ یوازې د لوستلو تفتیش امرونو په کارولو سره (vmkfstools -e, Get-VHD، یا qemu-img info --backing-chain) مخکې له دې چې یو بایټ لمس کړئ.** د هر سنیپ شاټ فایل سرلیک په واضح ډول د اصلي اصلي فایل نوم او اصلي کریپټوګرافیک ID نوموي چې تمه کیږي مستقیم یې پورته وي.
flowchart TD
    A["VM د بوټ کولو څخه انکار کوي: مات شوي سنیپ شاټ سلسله، د والدین CID بې مطابقت، یا فاسد VMDK/VHDX/QCOW2"] --> B["STOP: د بیس ډیسک مستقیم بوټ مه کوئ، او هیڅ ډول -delta.vmdk یا .avhdx فایلونه مه حذف کوئ"]
    B --> C["مرحله 1: د کوربه ډیټاسټور / حجم وړیا ځای چیک کړئ (`df -h` / `esxcli د ذخیره کولو فایل سیسټم لیست`)"]
    C --> D["2 ګام: د ترمیم کولو دمخه ټول بیس او سنیپ شاټ فایلونه ثانوي بیک اپ NAS/SAN/USB ډرایو ته کاپي کړئ"]
    D --> E{"کوم Hypervisor / مجازی ډیسک بڼه اغیزمنه شوې؟"}
    E -->|"1. VMware ESXi / ورک سټیشن (.vmdk / -flat.vmdk / -delta.vmdk / -sesparse.vmdk)"| F["د متن تشریح کونکي معاینه کړئ (`cat *.vmdk`) او سلسله چیک کړئ (`vmkfstools -e Server-000002.vmdk`)"]
    F --> G{"د VMware VMDK ګناه څه ده؟"}
    G -->|"د والدین CID بې مطابقت (`parentCID = د والدین CID`)"| H["د ماشوم متن تشریح کوونکی `.vmdk` ایډیټ کړئ نو `parentCID` د مور او پلار د `CID` سره سمون خوري، یا د فعال پاڼی ډیسک په نوي ټولیز شوي VMDK (`vmkfstools -i`) سره کلون کړئ."]
    G -->|"ورک شوی 1-KB متن تشریح کونکی `.vmdk` (یوازې لوی `-flat.vmdk` شتون لري)"| I["د دقیق بایټ اندازه / 512 سکتورونه محاسبه کړئ او د ساده متن `.vmdk` توضیحي د `vmkfstools -c` سره بیا جوړ کړئ"]
    E -->|"2. مایکروسافټ Hyper-V (.vhdx او .avhdx سلسله)"| J["زنځیر معاینه کړئ له نوي `.avhdx` پورته پورته: `Get-VHD-Path *.avhdx | لاره غوره کړئ، ParentPath"]
    J --> K["مات شوي والدین پوائنټر بیا لینک کړئ (`Set-VHD -Path child.avhdx -ParentPath parent.vhdx -IgnoreIdMismatch`) یا آفلاین ادغام (`Merge-VHD`)"]
    E -->|"3. Proxmox / KVM / QEMU (.qcow2) یا VirtualBox (.vdi)"| L["د `qemu-img info --backing-chain` چیک کړئ؛ د بیا شمیرنې ترمیم/L2 جدولونه (`qemu-img check-r all`) یا ریبیس (`qemu-img rebase -u`)"]
    H --> M["د بانډ څخه بهر د فایل ریسکیو فال بیک: کوم زنځیر مستقیم د لوستلو یوازې حالت کې د `گیست ماونټ --ro` یا `7-Zip` / `UFS Explorer` له لارې نصب کړئ"]
    I --> M
    K --> M
    L --> M

پوهیدل چې څنګه د مجازی ماشین سنیپ شاټ زنځیرونه واقعیا کار کوي

که تاسو VMware ESXi، مایکروسافټ هایپر-V، Proxmox/KVM، یا VirtualBox چلوئ، هر هایپروایزر د ورته بنسټیز جوړښت په کارولو سره سنیپ شاټونه پلي کوي: د یوازینۍ لوستلو والدین ډیسکونو یو غیر مستقیم تړل شوی لیست او د لوستلو - لیکلو ماشوم لیف ډیلټا ډیسک.

[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)
  • کله چې VM غواړي نن ورځ یو نوی بلاک ** ولیکي**، دا یوازې د لاندې پاڼي فایل ته لیکي (Snapshot 2).
  • کله چې VM نن ورځ یو بلاک لوستل غواړي، هایپروایزر چک کوي Snapshot 2 لومړی که دا بلاک د جون له 1 راهیسې تعدیل شوی وي، دا له هغې څخه لوستل کیږي Snapshot 2. که نه، دا زنځیر ته ګوري Snapshot 1. که دا هلته هم نه وي بدل شوی، دا د اصلي بلاک څخه لوستل کیږي Base Disk.
  • ** ولې زنځیرونه ماتیږي: ** هر ماشوم سنیپ شاټ په خپل سرلیک کې دوه سخت ټکي ذخیره کوي: ** (1) د هغه د سمدستي پلار د فایل لاره**، او ** (2) د 32-bit منځپانګې ID (CID په VMware کې) یا 128-bit لینکیج GUID (ParentUniqueId په Hyper-V کې) چې هرکله چې د والدین ډیسک د لیکلو لپاره خلاص شي نو بیا تولید کیږي**. که څوک یو فایل حرکت کوي، د فولډر نوم بدلوي، یا په لنډ ډول د اصلي ډیسک د لوستلو لیکلو حالت کې نصبوي، د والدین CID / GUID بدلونونه، او هایپروایزر سمدلاسه د ماشوم سنیپ شاټ نصبولو څخه انکار کوي ترڅو د خاموش بلاک فساد مخه ونیسي.
د Hypervisor پلیټ فارم د بیس ډیسک فایلونه سنیپ شاټ / ډیلټا فایلونه د زنځیر تفتیش CLI وسیله خوندي یوځای کول / د CLI وسیله یوځای کول
VMware ESXi (VMFS-5 / VMFS-6) او کاري سټیشن VM.vmdk (500-byte د ساده متن توضیح کوونکی) + VM-flat.vmdk (خام بائنری ډیسک ډیټا) VM-000001.vmdk (د متن تشریح کوونکی) + VM-000001-sesparse.vmdk (VMFS-6) یا VM-000001-delta.vmdk (VMFS-5) vmkfstools -e VM-000002.vmdk او cat VM*.vmdk vmkfstools -i VM-000002.vmdk /vmfs/volumes/NewDS/Merged.vmdk (غیر ویجاړونکی د ځای څخه بهر کلون / یوځای کول)
** د مایکروسافټ هایپر-V (وینډوز سرور)** VM.vhdx (یا میراث .vhd) VM_<GUID>.avhdx (یا .avhd) PowerShell: Get-VHD-Path*.avhdx \ | لاره غوره کړئ، د والدین پاټ، VhdType | PowerShell:Set-VHD -Path child.avhdx -ParentPath parent.vhdxاوMerge-VHD -Path child.avhdx -DestinationPath parent.vhdx`
Proxmox VE / QEMU / KVM (لینکس) vm-100-disk-0.qcow2 (یا خام LVM/ZFS حجم) بهرنۍ پوښښ .qcow2 د ملاتړ کولو فایل سرلیک سره (یا داخلي QCOW2 سنیپ شاټ میز) qemu-img info --backing-chain top_overlay.qcow2 qemu-img convert -O qcow2 top_overlay.qcow2 flattened_rescue.qcow2 (د ځای څخه بهر خوندي فلیټ) یا qemu-img commit
اوریکل ورچوئل بکس Disk.vdi (د VM فولډر دننه) {UUID}.vdi دننه Snapshots/ فرعي فولډر + .vbox د XML میډیا راجستر VBoxManage showmediuminfo disk "{UUID}.vdi" VBoxManage clonemedium disk "{Newest_Snapshot_UUID}.vdi" Flattened_Rescue.vdi

ټریک 1: د VMware ESXi او ورک سټیشن ژغورل .vmdk سنیپ شاټ زنځیرونه

په VMware ESXi کې، یو واحد مجازی ډیسک په حقیقت کې د بیس ډیسک لپاره ** دوه جلا فایلونه ** او د هر سنیپ شاټ لپاره ** دوه جلا فایلونه ** لري: 1. ** یو کوچنی (- 500-بایټ) ساده متن تشریح کونکی فایل (Server.vmdk او Server-000001.vmdk)** چې لري CID, parentCID، ډیسک جیومیټری، او د بائنری حد دقیق فایل نوم. (یادونه: سټاک ESXi ډیټاسټور براوزر ویب GUI جوړه شوې پټوي -flat.vmdk او -sesparse.vmdk بائنري فایلونه او یوازې یو واحد ضمیمه شوی عکس ښیې ، تاسو باید د ریښتیني فایلونو لیدو لپاره په ESXi کوربه کې SSH ټرمینل سیشن وکاروئ) 2. ** د څو ګیګابایټ بائنری ډیټا ایکسټینټ فایل (Server-flat.vmdk د بیس ډیسک لپاره، او Server-000001-sesparse.vmdk یا Server-000001-delta.vmdk د هر عکس لپاره).**

سناریو 1A: اصلاح کول "The parent virtual disk has been modified since the child was created (Parent CID mismatch)"

  1. SSH د ESXi کوربه ته ورشئ او د VM ډیټاسټور لارښود ته لاړ شئ:
    cd /vmfs/volumes/<Datastore_Name>/<VM_Folder_Name>/
    ls -la *.vmdk
    
  2. ** چاپ کړئ CID, parentCID، او parentFileNameHint د ټول متن تشریح کونکي په اوږدو کې .vmdk په یوځل کې فایلونه:** (مهم: یوازې چلول cat یا grep په کوچني 500-بایټ متن تشریح کونکي کې .vmdk فایلونه، نه په ملټي ګیګابایټ کې -flat.vmdk یا -sesparse.vmdk فایلونه)
    grep -E "CID|parentFileNameHint|Extent description" -A 2 Server.vmdk Server-00000*.vmdk
    
  3. ** پرتله کول CID د هر مور او پلار خلاف parentCID د خپل نږدې ماشوم څخه:** محصول وګورئ:
    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. ** مات شوی درست کړئ parentCID د ماشوم تشریح کونکي کې او تصدیق کړئ vmkfstools -e:**
  5. لومړی، د متن تشریح کونکي فایلونه بیک اپ کړئ (cp Server-000001.vmdk Server-000001.vmdk.bak).
  6. خلاص Server-000001.vmdk په vi او بدلون parentCID=55443322 ته parentCID=1a2b3c4d (مطابق Server.vmdkاوسنی دی CID).
  7. د زنځیر بشپړتیا د د نوي (تر ټولو لوړ شمیره) سنیپ شاټ په کارولو سره ازموئ vmkfstools -e:
    vmkfstools -e Server-000002.vmdk
    
  8. که سلسله ثابته وي، د ESXi تولیدات: Disk chain is consistent.
  9. ** غیر تخریبي یوځای کول (vmkfstools -i د ځای څخه بهر کلون):**
  10. که Server.vmdk مخکې له دې چې تاسو اصلاح کړئ یو څه بدل شوی و parentCID, د خپل یوازینی کاپي په ځای کې مه ټینګوئ. پرځای یې، اشاره وکړه vmkfstools -i په د پاڼی نوی عکس (Server-000002.vmdk) او ټوله سلسله په یو نوي ، واحد فلیټ شوي VMDK کې په ډیټاسټر کې وړیا ځای سره کلون کړئ:
    vmkfstools -i Server-000002.vmdk /vmfs/volumes/<Target_Datastore>/Server_Rescue/Server_Merged.vmdk -d thin
    
  11. vmkfstools -i له هر بلاک څخه لوستل کیږي Server-000002.vmdk له لارې ښکته Server-000001.vmdk او Server-flat.vmdk په سخته یوازې لوستلو موډ کې او یو پاک، سنیپ شاټ پرته لیکي Server_Merged.vmdk ستاسو اصلي فایلونو ته لمس کولو پرته.

سناریو 1B: د ورک شوي یا حذف شوي 500 بایټ بیا جوړول .vmdk د متن تشریح کونکی کله Server-flat.vmdk لا هم ثابت دی

ځینې ​​​​وختونه یو مدیر یا مات شوی سکریپټ ړنګوي Server.vmdk (یا دا فاسد کیږي 0 bytes) ، د ډیټاسټور براوزر لامل کیږي چې د مجازی ډیسک ښودل بند کړي ، پداسې حال کې چې لوی 500 ګیګابایټ Server-flat.vmdk فایل چې ستاسو د حقیقي معلوماتو 100 سلنه لري لاهم په SSH کې ناست دی (ls -la *-flat.vmdk).

تاسو کولی شئ ورک شوی ساده متن بیا جوړ کړئ Server.vmdk د ډیسکریپټر فایل په 60 ثانیو کې پرته له دې چې دننه د ډیټا یو بایټ له لاسه ورکړي 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)

سناریو 1C: خلاصول a .vmdk د ځړول شوي ESXi کوربه یا کریش شوي بیک اپ پراکسي لخوا بند شوی (Cannot open the disk: Failed to lock the file)

که چیرې یو VM له بریښنا څخه انکار وکړي Failed to lock the file یا Cannot open disk: Resource busy، په کلستر کې بل ESXi کوربه (یا د Veeam/backup HotAdd وسیله چې د بیک اپ په جریان کې غورځیدلې) لاهم د SCSI / VMFS فایل لاک ساتلی دی -flat.vmdk یا -sesparse.vmdk: 1. ** وګورئ چې ایا د خراب شوي بیک اپ پراکسي VM لاهم ستاسو تولید VM لري .vmdk د دې مجازی SCSI کنټرولر سره وصل شوی: ** د خپل Veeam/CommVault پراکسي VMs تنظیمات ایډیټ کړئ او هر ډول زاړه ضمیمه تولید ډیسکونه لرې کړئ (** غوره کړئ "د مجازی ماشین څخه لرې کړئ ،" هیڅکله "د ډیټاسټر څخه فایلونه حذف کړئ"). 2. ** ومومئ چې کوم ESXi کوربه MAC پته او د نړۍ پروسه د VMFS تالا لري:

vmfsfilelockinfo -p /vmfs/volumes/<Datastore>/<VM_Folder>/Server-flat.vmdk
SSH په ځانګړي ESXi کوربه کې چې تالا یې نیولی وي ، ځړول ومومئ vmx نړۍ پېژندنه (esxcli vm process list)، او ځړېدلې نړۍ ختمه کړه (esxcli vm process kill --type=force --world-id=<WorldID>).

ټریک 2: د مایکروسافټ هایپر-V ژغورل .vhdx او .avhdx سنیپ شاټ زنځیرونه

په مایکروسافټ هایپر-V کې، هره پوسته (سنیپ شاټ) د تمدید سره توپیر لرونکی مجازی هارډ ډیسک رامینځته کوي .avhdx (یا .avhd په زاړه VHD فارمیټ کې) د اوږد GUID فایل نوم ټاکل شوی لکه ProdSQL_A1B2C3D4-E5F6-7890-ABCD-1234567890AB.avhdx.

1 ګام: دقیق تاریخي نقشه .avhdx په PowerShell کې د مور او پلار ونې

مخکې له دې چې په Hyper-V Manager کې کوم شی سره یوځای یا بیا وصل کړئ، په Hyper-V کوربه کې د Elevated Administrator PowerShell کړکۍ پرانیزئ، هغه فولډر ته لاړ شئ چې ستاسو .vhdx او .avhdx فایلونه، او دا یو لاینر چل کړئ ترڅو د مور او پلار دقیق سلسله له نوي څخه تر زاړه پورې ښکاره کړئ:

# 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

ته وګورئ Path او ParentPath ساحې دوی به دقیق سلسله ترتیب ښکاره کړي: - ProdSQL.vhdx → ParentPath: (blank) (** د روټ بیس ډیسک، زوړ ) - ProdSQL_1111.avhdx → ParentPath: D:\VMs\ProdSQL.vhdx (ماشوم ۱) - ProdSQL_2222.avhdx → ParentPath: D:\VMs\ProdSQL_1111.avhdx (ماشوم ۲) - ProdSQL_3333.avhdx → ParentPath: D:\VMs\ProdSQL_2222.avhdx ( تازه فعال پاڼی ډیسک**)

2 ګام: اصلاح کول "The chain of virtual hard disks is broken" یا "Differencing disk parent ID mismatch" ((Set-VHD -IgnoreIdMismatch)

څه شی که یو څوک د VM فولډر له دې ځایه حرکت وکړي C:\VMs\ ته E:\VMs\، یا په ناڅاپي توګه بوټ شوی ProdSQL.vhdx د 5 ثانیو لپاره، لامل کیږي ProdSQL_1111.avhdx د ناکامۍ سره: The chain of virtual hard disks is broken. The system cannot locate the parent virtual hard disk for the differencing disk یا There is a mismatch in the virtual disk identifiers؟

رسمي Hyper-V PowerShell cmdlet وکاروئ Set-VHD سره -IgnoreIdMismatch بیرغ (لومړی د فایلونو بیک اپ کولو وروسته):

# 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

دریم ګام: په لاسي ډول د یتیم سره یوځای کول .avhdx سلسله له نوي څخه تر زاړه پورې (Merge-VHD)

کله چې یو بیک اپ اجنټ 15 یتیم پریږدي .avhdx ستاسو په فولډر کې فایلونه چې نور د هایپر-V مدیر GUI "چیک پواینټ" ونې کې نه ښکاري ، ** تاسو باید دوی په لاسي ډول په PowerShell کې ضم کړئ پداسې حال کې چې VM بند شوی وي**.

Danger

** د Hyper-V د اوسپنې اصول .avhdx ادغام: ** تاسو باید تل د ** نوي (تر ټولو ځوان پاڼي) څخه یوځای شئ .avhdx خپل سمدستي پلار ته **، خپله لاره ګام په ګام شاته ځنځیر ته پورته کول تر هغه پورې چې یوازې اساس وي .vhdx پاتې د مثال په توګه، په زنځیر کې Base.vhdx <- Child1.avhdx <- Child2.avhdx <- Child3_Newest.avhdx: 1. یوځای کول Child3_Newest.avhdx -> په کې Child2.avhdx. 2. یوځای کول Child2.avhdx -> په کې Child1.avhdx. 3. یوځای کول Child1.avhdx -> په کې Base.vhdx. 4. د VM ترتیبات په نښه کړئ Base.vhdx او بوټ.

دا دقیق PowerShell کمانډونه د فولډر په ** کاري کاپي ** کې چل کړئ:

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

ټریک 3: د Proxmox VE / QEMU / KVM ژغورل .qcow2 او VirtualBox .vdi زنځیرونه

1. د فاسد QCOW2 L1/L2 کلستر او بیا شمیرنې جدولونو چک کول او ترمیم کول (qemu-img check)

کله چې د لینکس KVM یا Proxmox کوربه د بیټرۍ ملاتړ شوي کیچ پرته د ناڅاپي بریښنا بندیدو سره مخ شي، .qcow2 مجازی ډیسک اکثرا په بوټ کولو کې پاتې راځي qcow2: Marking image as corrupt: L2 table offset unaligned یا Refcount block corrupted. 1. ** لومړی کاپي .qcow2 دوتنه (cp vm-100-disk-0.qcow2 vm-100-disk-0.qcow2.bak).** 2. ** د ملاتړ سلسله او داخلي سنیپ شاټ لیست پلټنه:**

qemu-img info --backing-chain vm-100-disk-0.qcow2
qemu-img snapshot -l vm-100-disk-0.qcow2
3. ** ستاسو په کاري کاپي کې د لیک شوي کلسترونو او فاسد بیا شمیرنې میزونه ترمیم کړئ:**
qemu-img check -r all vm-100-disk-0.qcow2

2. د مات شوي QCOW2 بیکینګ فایل لاره حل کول (qemu-img rebase -u)

که یو بهرنی QCOW2 سنیپ شاټ (overlay.qcow2) په خلاصیدو کې پاتې راغلی ځکه چې د دې د اصلي ملاتړ کولو فایل (base.qcow2) نوي ډایرکټر یا ذخیره کولو حوض ته لیږدول شوی، په غیر محفوظ کې د بیکینګ فایل پوائنټر تازه کړئ (-u، یوازې سرلیک) حالت پرته له دې چې د ډیټا بلاکونو بیا لیکلو سره:

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

3. د نازک QCOW2 یا VMDK یا VHDX سلسلې په یو نوي واحد عکس کې فلیټ کول (qemu-img convert)

د مجازی ماشین ریسکیو کې یو له خورا څو اړخیزو وسیلو څخه دی qemu-img convert (کوم چې په اصلي ډول لوستل کیږي .qcow2, .vmdk, .vhdx, .vhd، او .vdi). کله چې تاسو اشاره وکړئ qemu-img convert د یو باوري سلسلې په نوي پاڼي سنیپ شاټ کې، دا د مور او پلار ټوله درجه بندي په سخت لوستلو حالت کې لولي او ستاسو د ژغورنې ذخیره کې یو نوی، په ځان کې لرونکی، د سنیپ شاټ څخه پاک مجازی ډیسک لیکي:

# 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

ټریک 4: د بانډ څخه بهر فایل ریسکیو (د فایلونو استخراج کله چې VM لاهم بوټ نه کوي)

څه به وي که چیرې په مجازی ډیسک کې د میلمستون عملیاتي سیسټم غیر بوټ وي ، یا په زنځیر کې مینځنی سنیپ شاټ په جزوي ډول زیانمن شوی وي او تاسو اړتیا لرئ د SQL ډیټابیس ایستلو ته اړتیا ولرئ (.mdf/.ldfد QuickBooks فایلونه، /var/lib/mysqlیا په راتلونکو 30 دقیقو کې د شرکت اسناد؟

** تاسو اړتیا نلرئ یو مجازی ماشین بوټ کړئ ترڅو د هغې په مجازی هارډ ډرایو کې فایلونه راوباسئ. ** د دې دریو غیر تخریبي بینډ نصبولو وسیلو څخه کوم یو وکاروئ:

طریقه 1: هر ډول نصب کړئ .vmdk, .vhdx, .qcow2، یا .vdi په لینکس کې یوازې د لوستلو حالت کې کارول libguestfs ((guestmount / qemu-nbd)

نصب کړئ libguestfs-tools ((sudo apt install libguestfs-tools qemu-utils په Ubuntu/Debian/Proxmox کې) او د نوي پاڼي سنیپ شاټ په سخت یوازې لوستلو حالت کې نصب کړئ (--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

میتود 2: په وینډوز کې په کارولو سره یوازې د لوستلو فوري استخراج 7-Zip یا Disk Management -> Attach VHD (Read-Only)

  • ** د 7-زپ کارول (کار کوي .vmdk, .vhdx, .vhd, .qcow2، او .vdi):** په یو سټنډرډ یا فلیټ شوي ښي کلیک وکړئ .vmdk, .vhdx، یا .qcow2 په وینډوز کې فایل او **7-زپ -> آرشیف خلاص کړئ ** غوره کړئ. 7-Zip په اصلي ډول د GPT/MBR د برخې جدولونه او د NTFS/ext4 فایل سیسټمونه په مجازی ډیسکونو کې په 100٪ یوازې لوستلو حالت کې پارس کوي ، تاسو ته اجازه درکوي په څو ثانیو کې مستقیم ستاسو ډیسټاپ ته د میلمنو فولډرونه راوباسئ.
  • ** د وینډوز ډیسک مدیریت کارول (د دې لپاره .vhdx / .avhdx):** خلاص diskmgmt.msc -> ** عمل -> VHD ضمیمه کړئ ** -> ** نوي پاڼي ته لټون وکړئ .avhdx** (یا .vhdx)، ** د دې لپاره بکس چک کړئ [X] Read-only (کریټیکل: هیڅکله مه هیروئ چې یوازې د لوستلو چیک چیک کړئ، یا وینډوز به د ډیسک سرلیک بدل کړي)**، او ښه کلیک وکړئ. ستاسو د VM C: او D: ډرایو سمدلاسه د وینډوز فایل اکسپلورر کې څرګندیږي.

طریقه 3: د سخت زیانمن شوي زنځیرونو بیا رغول UFS Explorer Professional Recovery

که چیرې په VMDK یا VHDX سلسله کې یو اصلي ډیسک په ناڅاپي ډول بوټ او ترمیم شوی وي ، یا که د VMFS/NTFS ډیټاسټور فساد د یوې برخې ټوټه ټوټه شي. -sesparse.vmdk یا .avhdx فایل چې د هایپروایزر وسیلې یې ردوي، UFS Explorer Professional Recovery (یا R-Studio Technician) تاسو ته اجازه درکوي په لاسي ډول د خام بیس ډیسک او د هر ماشوم ډیلټا عکس په دودیز ورچوئل ډیلټا سټیک کې د سافټویر RAM کې راټول کړئ، د هایپروایسر په پام کې نیولو سره. CID/GUID سرلیک د میلمنو د پاتې فایلونو د جوړولو او استخراج لپاره چک کوي.

ټریک 5: د یتیم VM ترتیب فایل بیرته ترلاسه کول (.vmx, .xml، یا <vmid>.conf)

ځینې ​​​​وختونه د مجازی هارډ ډیسک سلسله پخپله (*.vmdk, *.vhdx، یا *.qcow2) د ذخیره کولو په لړۍ کې 100 سلنه ثابت دی، مګر د کوچنیو ترتیب کولو فایل چې د مجازی ماشین هارډویر ترتیب تعریفوي (.vmx په VMware ESXi کې، <GUID>.vmcx / .xml په Hyper-V کې، یا /etc/pve/qemu-server/<vmid>.conf په Proxmox VE کې) د کوربه حادثې په جریان کې فاسد، په ناڅاپي توګه حذف شوی، یا صفر شوی.

که تاسو د غلط مجازی ذخیره کنټرولر یا فرم ویئر حالت سره بدیل VM شیل بیا جوړ کړئ ، د میلمه عملیاتي سیسټم به سمدلاسه د بوټ سره ټکر شي. INACCESSIBLE_BOOT_DEVICE (وینډوز) یا په یو کې ښکته کړئ dracut / initramfs بیړنی شیل (لینکس). د خپل ژغورل شوي مجازی ډیسک سره ضمیمه کولو دمخه دا څلور هارډویر تنظیمات خپل اصلي میلمه ترتیب سره مل کړئ:

د مجازی هارډویر ترتیب نښې که چیرې په بدیل VM کې په غلط ډول تنظیم شوي وي د زاړه پرته د سم تنظیم کولو څرنګوالی .vmx / .vmcx
1. د فرم ویئر بوټ حالت (UEFI / OVMF vs Legacy BIOS / SeaBIOS) VM ښکاره کوي "Operating System Not Found" یا مستقیم UEFI متقابل شیل ته غورځیږي (Shell>). د مجازی ډیسک د ویش میز معاینه کړئ (fdisk -l یا virt-filesystems -a disk.vmdk --partitions --long). که ډیسک د 100 MB څخه تر 512 MB FAT32 EFI سیسټم برخه (ESP) ولري او د GPT د برخې جدول کاروي، تاسو باید د VM فرم ویئر UEFI ته تنظیم کړئ. که چیرې ډیسک د EFI برخې پرته د MBR (dos) د برخې جدول کاروي، فرم ویئر ** میراث BIOS** ته تنظیم کړئ.
۲. د مجازی ذخیرې کنټرولر ډول (VMware Paravirtual SCSI - PVSCSI vs LSI Logic SAS vs NVMe vs VirtIO SCSI) وینډوز غورځوي 0x0000007B / INACCESSIBLE_BOOT_DEVICE نیلي سکرین؛ لینوکس داخلیږي initramfs: /dev/mapper/root does not exist. په VMware ESXi کې، ساده متن معاینه کړئ .vmdk د لاین لپاره د تشریح کونکي فایل ddb.adapterType = "lsilogic" یا "buslogic" یا چک vmware.log د VM فولډر دننه (grep -i "scsi0.virtualDev" vmware.log)، کوم چې دقیق تاریخي چاپ کوي .vmx د وروستي بریالي بوټ څخه قاموس.
۳. د مجازی شبکې اډاپټر MAC پته او ډرایور (VMXNET3 vs E1000e vs VirtIO-Net) میلمه OS بوټ کوي، مګر خپل جامد IP پته یا د جواز ورکولو قفل له لاسه ورکوي ځکه چې دا د "نوي" شبکې کارت کشف کوي (eth1 پرځای د eth0). زاړه وپلټئ vmware.log د VM ډیټاسټور لارښود دننه (grep -i "ethernet0.generatedAddress" vmware.logد دقیق 6-بایټ MAC پته بیرته ترلاسه کولو لپاره (00:50:56:xx:xx:xx) او دا د بدیل VM شبکې تنظیماتو کې پیسټ کړئ.
۴. مجازی TPM 2.0 (vTPM) او بټ لاکر / LUKS ریاست د وینډوز بټ لاکر په بوټ کې د 48 عددي بیا رغونې کیلي ته اشاره کوي که چیرې .nvram / vTPM دولت ورک دی. په VMware ESXi کې، تل د ** ساتل<VM_Name>.nvramاو.vmsd** په څنګ کې فایلونه .vmdk فایلونه په Hyper-V کې، ساتل Virtual Machines\<GUID>.vmgs (د میلمه ریاست) فایل نو د مجازی TPM کیلي تړلې پاتې دي.

په مکرر ډول پوښتل شوي پوښتنې

څه پیښیږي که زه یوازې خپل VM بیرته اصلي اډې ته په ګوته کړم `.vmdk` یا `.vhdx` فایل کړئ او بوټ یې کړئ ترڅو وګورئ چې دننه څه دي؟

هیڅکله دا د فایلونو بیک اپ کولو پرته مه کوئ، او هیڅکله د بیس ډیسک د لوستلو لیکلو حالت کې بوټ مه کوئ کله چې سنیپ شاټونه (`-000001.vmdk` یا `.avhdx`) شتون لري. لومړی، د بیس ډیسک په دقیقه ورځ او دقیقه کې منجمد شوی و چې لومړی سنیپ شاټ رامینځته شوی و، که چیرې یو سنیپ شاټ د 6 میاشتو لپاره روان وي، د بیس ډیسک بوټ کول ستاسو سرور بوټ کوي لکه څنګه چې 6 میاشتې مخکې شتون درلود، په تیر نیم کال کې رامینځته شوي هر فایل ورک شوی. دوهم، او ډیر بد، سمدستي د میلمستون عملیاتي سیسټم د بیس ډیسک څخه بوټ کوي، دا د بیس ډیسک ته د بوټ لاګونه او ژورنال بدلونونه لیکي، د هغې سکټورونه بدلوي او د خپل منځپانګې ID بدلوي (`CID`) یا د لینکج GUID. دا د تل لپاره د ډیلټا بلاک نقشه ماتوي چې ستاسو د ماشوم ټول سنیپ شاټونو ته اړتیا لري.

ولې زما د VMware ESXi ډیټاسټور ښیې `Server-000001.vmdk` لکه څنګه چې د ورته بشپړ 500 GB اندازه لري `Server.vmdk` په ویب براوزر کې؟

دا د VMware ESXi ویب پیرودونکي ډیټاسټور براوزر د ښودلو نرخ دی. د ویب براوزر UI کې، ESXi لاندې پټوي `-flat.vmdk`, `-delta.vmdk`، او `-sesparse.vmdk` بائنري فایلونه او د ډیسک * چمتو شوي منطقي ظرفیت * ښکاره کوي د اصلي فزیکي ځای پرځای چې د ډیلټا فایل لخوا مصرف شوي. د ریښتیني فزیکي فایل نومونو لیدو لپاره ، دقیق بایټ اندازې ، او د متن توضیح کونکي فایلونه ، په ESXi کوربه کې SSH فعال کړئ ، د ټرمینل/PuTTY له لارې ننوتل ، ته لاړشئ `/vmfs/volumes///`، او چلول `ls -lh *.vmdk`.

زه څنګه کولی شم د VMware یا Hyper-V سنیپ شاټونه یوځای کړم کله چې کوربه ډیټاسټور 100٪ ډک وي (0 بایټ وړیا)؟

کله چې یو ډیټاسټور 0 بایټس وړیا ووهل شي، په نورمال ځای کې "ټول سنیپ شاټونه حذف کړئ / یوځای کول" ناکام کیږي ځکه چې د سنیپ شاټ 2 په سنیپ شاټ 1 کې یوځای کول په لنډمهاله توګه د سنیپ شاټ 1 اندازه ډیروي مخکې لدې چې سنیپ شاټ 2 حذف شي. تاسو درې خوندي لارې لرئ: (1) د 15 څخه تر 20 سلنې سر خونه خالي کولو لپاره په ورته ډیټاسټور کې *نور* غیر مهم ISO فایلونه ، زاړه لاګ فایلونه ، یا د بریښنا شوي ټیسټ VMs ومومئ او حذف کړئ یا حرکت وکړئ؛ (2) که چیرې د ذخیره کولو لړۍ SAN/NAS (iSCSI/NFS/FC) وي، LUN پراخه کړئ او د VMFS/NTFS حجم آنلاین 100 GB ته وده ورکړئ؛ یا (3) کوربه ته یو بهرنی USB ډرایو یا NFS شریک کړئ او وکاروئ `vmkfstools -i Server-000002.vmdk /vmfs/volumes/New_NFS_Share/Merged.vmdk` (یا `qemu-img convert` / `Merge-VHD` بل ډرایو لیک ته) په بشپړ ډیټاسټرور کې د صفر بایټ لیکلو ځای په کارولو سره دوهم ذخیره کولو حجم کې د زنځیر *د ځای څخه بهر* قوي کولو لپاره.

زه څنګه د بیک اپ سافټویر لکه Veeam، CommVault، یا Nakivo څخه د پټو "یتیم عکسونو" پریښودو مخه نیسم چې زما سرور میاشتې وروسته ډکوي؟

د بیک اپ غوښتنلیکونه د هرې شپې بیک اپ دندې په پیل کې لنډمهاله هایپروایزر سنیپ شاټ رامینځته کوي نو دوی کولی شي کنګل شوي بیس ډیسک ولولي ، او بیا ESXi یا Hyper-V ته لارښوونه وکړي چې دا سنیپ شاټ حذف / یوځای کړي کله چې بیک اپ پای ته ورسیږي. ځینې ​​وختونه ، د ذخیره کولو وخت پای ته رسیدل د دې لامل کیږي چې د سنیپ شاټ لرې کولو مرحله په خاموشۍ سره ناکامه شي ، یو پټ پریږدي `-000001.vmdk` یا `.avhdx` د میاشتو لپاره وده کوي تر هغه چې دا د ډیټاسټر 100 سلنې ته ورسیږي. دوه اتوماتیک محافظتونه تنظیم کړئ: (1) د دې لپاره جوړ شوی vCenter / Hyper-V / Proxmox الارم فعال کړئ `"Virtual Machine Snapshot Size > 20 GB or Age > 72 Hours"`، او (2) په اونۍ کې یوازې د لوستلو لپاره مهالویش کړئ PowerCLI یا PowerShell پلټنې (`Get-VM | Get-Snapshot` یا `Get-ChildItem -Recurse -Filter *.avhdx`) چې ستاسو مدیر ټیم ته بریښنالیک ورکوي کله چې د تولید ذخیره کې د 3 ورځو څخه زاړه سنیپ شاټ فایل شتون ولري.

سرچینې چک شوي

  • VMware د براډکام تخنیکي پوهې اساس لخوا: *KB 1007969 / 316578 (حل کول "د پلار مجازی ډیسک د ماشوم له رامینځته کیدو راهیسې ترمیم شوی" د CID غلطې غلطۍ) * ، KB 1002511 (د ورک شوي مجازی ډیسک ډیسک ډیسک بیا جوړول .vmdk دوتنه)، او KB 10051 (په ESXi کې د مجازی ماشین سنیپ شاټونو پوهیدل).
  • د مایکروسافټ زده کړه / وینډوز سرور هایپر-V انجینري اسناد: * د هایپر-V پاور شیل حواله Get-VHD, Set-VHD -IgnoreIdMismatch، او Merge-VHD د آفلاین توپیر ډیسک یوځای کول*.
  • د QEMU پروژه او د Red Hat Enterprise Linux مجازی کولو اسناد: * رسمي qemu-img لارښود (info --backing-chain, check -r all, rebase -u, convert) او libguestfs ((guestmount --ro) یوازې د لوستلو مجازی ډیسک معاینه*.
  • د اوریکل ورچوئل بکس تخنیکي اسناد: VBoxManage showmediuminfo او clonemedium د انځور جوړښت توپیر.
  • د معیارونو او ټیکنالوژۍ ملي انسټیټیوټ (NIST، متحده ایالات): NIST ځانګړې خپرونه 800-86: د پیښې غبرګون کې د عدلي تخنیکونو ادغام لارښود (د مجازی ماشین عکس ساتنه).

اړونده لارښوونې