Buzilgan virtual mashina snapshot zanjiri (.VMDK / .VHDX / .QCOW2) va diskni qutqarish¶
Favqulodda yordam raqamlari mamlakatga qarab farq qiladi. Bu sahifada 911, AQSh va Kanada uchun raqam ishlatiladi. Ko'pgina boshqa mamlakatlar 112, 999 yoki boshqa raqamdan foydalanadilar. Mamlakatingiz uchun raqamni toping.
VMware ESXi / Workstation, Microsoft Hyper-V, Proxmox VE / QEMU-KVM yoki Oracle VirtualBox da ishlab chiqarish virtual mashinasi (VM) zahiraviy ish bajarilmagandan keyin to'satdan yoqishdan bosh tortsa, ma'lumotlar do'koni diskda bo'sh joy tugaydi (0 bytes free) yoki administrator surat fayliga tegsa, vahima tushgan bir marta bosish oylar yoki yillardagi jonli biznes maʼlumotlarini oʻchirib tashlashi mumkin. Virtual mashina suratlari to'liq mustaqil zaxira nusxalari emas; ular mo'rt Copy-on-Write (CoW) delta farqlovchi zanjirlar (*-000001-delta.vmdk, *.avhdx, yoki zaxira fayl .qcow2 qo'shimchalar) bu erda oniy tasvir olinganidan beri yozilgan har bir blok faqat bola delta fayllari ichida yashaydi, asl asosiy disk esa o'tmishda muzlatilgan holda o'tiradi.
kabi xatolarni ko'rsangiz "The parent virtual disk has been modified since the child was created (Parent CID does not match)" VMware da, "Cannot boot: The chain of virtual hard disks is broken" Hyper-V da yoki "Could not open backing file: L1/L2 table corrupted" QEMU/Proxmox da, ** VMni to'g'ridan-to'g'ri asosiy diskda qayta yo'naltirish (flat.vmdk yoki asos .vhdx) va uni ishga tushirish halokatli**. Bunda server 6 oy oldin birinchi oniy tasvir yaratilganda bo‘lganidek ishga tushadi, ota-ona-bola GUID/CID kriptografik havolasi bir zumda bekor qilinadi va o‘sha kundan boshlab har bir delta snapshoti yetim va birlashtirilib bo‘lmaydi.
Ushbu qo'llanmada Broadcom Knowledge Base Maqolalari (KB 1007969 / 316578 va KB 1002511), Microsoft Hyper tomonidan VMware asosidagi VMware-ga asoslangan fayl sarlavhasini ta'mirlash va diapazondan tashqari mehmon fayllarini chiqarish protokollarini bosqichma-bosqich buzilmaydigan oniy tasvirlar zanjirini qayta qurish ko'rsatilgan. Merge-VHD va Set-VHD muhandislik spetsifikatsiyalari, QEMU qemu-img va libguestfs (guestmount) sud-tibbiyot standartlari va NIST maxsus nashri 800-86.
Buni hozir qiling¶
Agar virtual mashina ishga tushirishdan bosh tortsa yoki buzilgan oniy tasvir zanjirini tashlasa / buzilgan virtual disk xatosi:
- Hech qachon VM sozlamalarini to'g'ridan-to'g'ri asosiy diskdan yuklash uchun tahrirlamang (
Server.vmdkyokiServer.vhdx) delta suratga tushganda (-000001.vmdkyoki.avhdx) papkada mavjud. Mehmon operatsion tizimi to‘g‘ridan-to‘g‘ri asosiy asosiy diskdan 2 soniya davomida ishga tushganda, mehmon operatsion tizimi yuklash vaqt belgilarini va NTFS/ext4 jurnali yangilanishlarini asosiy diskka yozib, ota-diskning Content ID (Content ID) ni o‘zgartiradi.CID) VMware-da yoki Hyper-V-da Linkage GUID / Timestamp. Ushbu bitta yuklash asosiy diskning bir oz muzlatib qo'yishiga bog'liq bo'lgan bolalar snapshotlarining butun zanjirini buzadi. Agar server xonangizda faol yong‘in, sovutish ishlamay qolsa yoki jismoniy xavf mavjud bo‘lsa, evakuatsiya qiling va mahalliy favqulodda yordam raqamiga qo‘ng‘iroq qiling (AQSh va Kanadada 911, Yevropa Ittifoqi bo‘ylab 112, Buyuk Britaniyada 999) yoki tekshiring. favqulodda raqamlar. - Hech qachon o'chirmang
.avhdx,-delta.vmdk, yoki-sesparse.vmdkWindows Explorer yoki ESXi Datastore brauzeridagi fayllarni "diskdagi joyni bo'shatish" uchun ishlating. Oddiy vaqtinchalik fayllardan farqli o'laroq,.avhdxva-delta.vmdkfayllar Joriy jonli qattiq diskingizmi. Agar snapshot 8 oy oldin Veeam/CommVault-ning tiqilib qolgan zahiraviy ishi tomonidan yaratilgan bo‘lsa va ishlamay qolgan bo‘lsa, oxirgi 8 oy davomida yaratilgan har bir ma’lumotlar bazasi tranzaksiyasi, hisob-faktura va faylning 100 foizi shular ichida saqlanadi..avhdxyoki-delta.vmdkfayllar. Ularni o'chirish oniy tasvir boshlanganidan beri yaratilgan barcha ma'lumotlarni o'chiradi. - Hammasini nusxalash yoki klonlash
.vmdk,.vhdx/.avhdx, yoki.qcow2fayllarni tashqi/ikkinchi darajali saqlash hajmiga har qanday birlashtirish, topshirish yoki tuzatish buyrug'ini bajarishdan OLDIN. Snapshot zanjirini birlashtirish barcha delta bloklarini ota-diskga in-joy orqaga yozadi. Agar birlashtirish noto'g'ri disk sektori yoki ma'lumotlar do'koni to'liq xatosi tufayli yarim yo'lda bajarilmasa, avval xom fayl nusxasini olmaguningizcha, ota-ona va yordamchi disklar buziladi. - Agar gipervisor ishlamay qolgan bo'lsa, xost ma'lumotlar ombori / hajmi 100% to'lgan (
No space left on device), Kattaroq maʼlumotlar omboriga boʻsh joy qoʻshmaguningizcha yoki kattaroq maʼlumotlar omboriga klonlamaguningizcha HECH QACHON “Snapshotlarni oʻchirish/birlashtirish”ga urinmang. Koʻp suratli zanjirni birlashtirish uchun eng katta delta disk oʻlchamiga teng boʻlgan vaqtinchalik boʻsh joy kerak boʻladi. 99% toʻliq maʼlumotlar doʻkonida birlashishga urinish gipervisorning oʻrtadagi majburiyatini buzadi. - Faqat o'qish uchun tekshirish buyruqlari yordamida aniq Ota-ona -> Bolalarga bog'liqlik zanjirini xaritalash (
vmkfstools -e,Get-VHD, yokiqemu-img info --backing-chain) bitta baytga tegmasdan oldin. Har bir oniy tasvir fayli sarlavhasi to'g'ridan-to'g'ri uning ustida joylashishini kutgan asosiy fayl nomi va ota-ona kriptografik identifikatorini aniq nomlaydi.
flowchart TD
A["VM yuklashni rad etadi: singan surat zanjiri, ota-ona CID nomuvofiqligi yoki buzilgan VMDK/VHDX/QCOW2"] --> B["STOP: Asosiy diskni to'g'ridan-to'g'ri yuklamang va -delta.vmdk yoki .avhdx fayllarini o'chirmang."]
B --> C["1-qadam: Xost ma'lumotlar do'koni / bo'sh joyni tekshiring (`df -h` / `esxcli saqlash fayl tizimi ro`yxati`)"]
C --> D["2-qadam: O'zgartirishdan oldin barcha asosiy va oniy tasvir fayllarini NAS/SAN/USB diskiga ikkinchi darajali zaxira nusxasiga ko'chiring"]
D --> E{"Qaysi Hypervisor/Virtual Disk Formatiga ta'sir qiladi?"}
E -->|"1. VMware ESXi / Ish stantsiyasi (.vmdk / -flat.vmdk / -delta.vmdk / -sesparse.vmdk)"| F["Matn identifikatorlarini tekshiring (`cat *.vmdk`) va tekshirish zanjiri (`vmkfstools -e Server-000002.vmdk`)"]
F --> G{"VMware VMDK xatosi nima?"}
G -->|"Ota-ona CID nomuvofiqligi (`parentCID .= Ota-ona CID`)"| H["`.vmdk` sub matn identifikatorini tahrirlang, shunda `parentCID` ota-onaning `CID` ga mos keladi, YOKI faol barg diskini yangi birlashtirilgan VMDK (`vmkfstools -i`) ga klonlang."]
G -->|"1 KB hajmdagi `.vmdk` matn deskriptori etishmayapti (Faqat ulkan `-flat.vmdk` mavjud)"| I["Aniq bayt hajmini / 512 sektorni hisoblang va “vmkfstools -c” bilan oddiy matnli “.vmdk” deskriptorini qayta yarating."]
E -->|"2. Microsoft Hyper-V (.vhdx va .avhdx zanjiri)"| J["Zanjirni eng yangi `.avhdx` dan yuqoriga qarab tekshiring: `Get-VHD -Path *.avhdx | Path, ParentPath`-ni tanlang"]
J --> K["Buzilgan ota-ko'rsatgichni qayta bog'lang (`Set-VHD -Path child.avhdx -ParentPath parent.vhdx -IgnoreIdMismatch`) yoki oflayn birlashtirish (`Merge-VHD`)"]
E -->|"3. Proxmox / KVM / QEMU (.qcow2) yoki VirtualBox (.vdi)"| L["`qemu-img info --backing-chain` ni tekshiring; Qayta hisoblash/L2 jadvallarini tuzatish (`qemu-img check -r all`) yoki rebase (`qemu-img rebase -u`)"]
H --> M["Tasvirdan tashqari fayllarni qayta tiklash: 'Gestmount --ro' yoki '7-Zip' / 'UFS Explorer' orqali faqat o'qish rejimida istalgan zanjirni o'rnating."]
I --> M
K --> M
L --> M
Virtual mashina oniy tasvir zanjirlari aslida qanday ishlashini tushunish¶
VMware ESXi, Microsoft Hyper-V, Proxmox/KVM yoki VirtualBox-dan qat'i nazar, har bir gipervisor bir xil asosiy arxitekturadan foydalangan holda oniy tasvirlarni amalga oshiradi: Faqat o'qish uchun mo'ljallangan ota-ona disklarining bir yo'nalishli bog'langan ro'yxati va o'qish-yozuvchi Child Leaf Delta Disk.
[Base Disk: Server.vmdk / Server.vhdx] <-- Frozen Read-Only at Snapshot 1 (e.g., Jan 1)
^
| (Points to Parent Path + Parent CID/GUID: 1234abcd)
[Snapshot 1: Server-000001.vmdk / Server_A.avhdx] <-- Frozen Read-Only at Snapshot 2 (e.g., June 1)
^
| (Points to Parent Path + Parent CID/GUID: 5678ef01)
[Snapshot 2 (Active Leaf): Server-000002.vmdk / Server_B.avhdx] <-- Active Read/Write Today (Oct 31)
- VM bugun yangi blokni yozmoqchi bo'lsa, u FAQAT pastki barg fayliga yozadi (
Snapshot 2). - VM bugun blokni o'qishni xohlasa, gipervisor tekshiradi
Snapshot 2birinchi. Agar ushbu blok 1 iyundan beri o'zgartirilgan bo'lsa, u uni o'qiydiSnapshot 2. Agar yo'q bo'lsa, u zanjirni qidiradiSnapshot 1. Agar u erda ham o'zgartirilmagan bo'lsa, u asl blokni o'qiydiBase Disk. - Zanjirlar nima uchun uziladi: Har bir bola surati o‘zining sarlavhasida ikkita qattiq ko‘rsatgichni saqlaydi: (1) uning bevosita ota-onasining fayl yo‘li va (2) 32 bitli Content ID (
CIDVMware da) yoki 128-bitli ulanish GUID (ParentUniqueIdHyper-V da) har safar ota- disk yozish uchun ochilganda qayta tiklanadi. Agar kimdir faylni ko'chirsa, jild nomini o'zgartirsa yoki ota- diskni o'qish-yozish rejimida qisqa vaqtga o'rnatsa, ota-onaningCID/GUIDo'zgaradi va gipervisor jim blok buzilishining oldini olish uchun darhol bolaning suratini o'rnatishdan bosh tortadi.
| Gipervisor platformasi | Asosiy disk fayllari | Surat / Delta fayllari | Chain Inspection CLI Tool | Xavfsiz konsolidatsiya / CLI vositasini birlashtirish |
|---|---|---|---|---|
| VMware ESXi (VMFS-5 / VMFS-6) va ish stantsiyasi | VM.vmdk (500 baytli oddiy matnli deskriptor) + VM-flat.vmdk (xom ikkilik disk ma'lumotlari) |
VM-000001.vmdk (matn tavsifi) + VM-000001-sesparse.vmdk (VMFS-6) yoki VM-000001-delta.vmdk (VMFS-5) |
vmkfstools -e VM-000002.vmdk va cat VM*.vmdk |
vmkfstools -i VM-000002.vmdk /vmfs/volumes/NewDS/Merged.vmdk (Buzilmaydigan joydan klonlash/birlashtirish) |
| Microsoft Hyper-V (Windows Server) | VM.vhdx (yoki meros .vhd) |
VM_<GUID>.avhdx (yoki .avhd) |
PowerShell: Get-VHD -Path *.avhdx \ | Path, ParentPath, VhdType-ni tanlang |
PowerShell: Set-VHD -Path child.avhdx -ParentPath parent.vhdx va Merge-VHD -Path child.avhdx -DestinationPath parent.vhdx |
| Proxmox VE / QEMU / KVM (Linux) | vm-100-disk-0.qcow2 (yoki xom LVM/ZFS hajmi) |
Tashqi qoplama .qcow2 qo'llab-quvvatlovchi fayl sarlavhasi bilan (yoki ichki QCOW2 suratlar jadvali) |
qemu-img info --backing-chain top_overlay.qcow2 |
qemu-img convert -O qcow2 top_overlay.qcow2 flattened_rescue.qcow2 (Eng xavfsiz joydan tekislash) yoki qemu-img commit |
| Oracle VirtualBox | Disk.vdi (VM papkasi ichida) |
{UUID}.vdi ichida Snapshots/ pastki papka + .vbox XML media reestri |
VBoxManage showmediuminfo disk "{UUID}.vdi" |
VBoxManage clonemedium disk "{Newest_Snapshot_UUID}.vdi" Flattened_Rescue.vdi |
1-trek: VMware ESXi va Workstation-ni qutqarish .vmdk oniy tasvir zanjirlari¶
VMware ESXi-da bitta virtual disk aslida asosiy disk uchun ikkita alohida fayldan va har bir surat uchun ikkita alohida fayldan iborat:
1. Kichik (-500 bayt) oddiy matnli deskriptor fayli (Server.vmdk va Server-000001.vmdk) ni ushlab turadi CID, parentCID, disk geometriyasi va ikkilik hajmning aniq fayl nomi. (Eslatma: ESXi Datastore brauzerining veb-grafik interfeysi birlashtirilganni yashiradi -flat.vmdk va -sesparse.vmdk ikkilik fayllar va faqat bitta birlashtirilgan belgini ko'rsatadi, siz haqiqiy fayllarni ko'rish uchun ESXi xostidagi SSH terminal seansidan foydalanishingiz KERAK).
2. Ko'p gigabaytli ikkilik ma'lumotlar hajmi fayli (Server-flat.vmdk asosiy disk uchun va Server-000001-sesparse.vmdk yoki Server-000001-delta.vmdk har bir surat uchun).
Stsenariy 1A: Tuzatish "The parent virtual disk has been modified since the child was created (Parent CID mismatch)"¶
- SSH-ni ESXi xostiga kiriting va VM ma'lumotlar do'koni katalogiga o'ting:
- ** Chop etish
CID,parentCID, vaparentFileNameHintbarcha matn deskriptorida.vmdkbir vaqtning o'zida fayllar:** (Muhim: Faqat ishga tushirishcatyokigrepkichik 500 baytlik matn deskriptorida.vmdkfayllar, ko'p gigabaytda EMAS-flat.vmdkyoki-sesparse.vmdkfayllar). - ** solishtiring
CIDhar bir ota-onaga qarshiparentCIDuning bevosita farzandi:** Chiqishga qarang: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" - ** Buzilganlarni tuzating
parentCIDbola deskriptorida va bilan tasdiqlangvmkfstools -e:** - Birinchidan, matn identifikatori fayllarini zaxiralang (
cp Server-000001.vmdk Server-000001.vmdk.bak). - Ochiq
Server-000001.vmdkichidaviva o'zgartirishparentCID=55443322uchunparentCID=1a2b3c4d(mosServer.vmdkning joriyCID). - eng yangi (eng yuqori raqamlangan) snapshot orqali zanjir yaxlitligini sinab ko'ring.
vmkfstools -e: - Agar zanjir buzilmagan bo'lsa, ESXi quyidagilarni chiqaradi:
Disk chain is consistent. - BUZILMAGAN KONSOLİDATSIYA (
vmkfstools -iJoydan tashqari klon): - Agar
Server.vmdktuzatishdan oldin biroz o'zgartirildiparentCID, yagona nusxangiz ustidan oʻz joyida birlashtirmang. Buning o'rniga, ishoravmkfstools -ieng yangi barg suratida (Server-000002.vmdk) va butun zanjirni bo'sh joy bo'lgan ma'lumotlar omborida yangi, bitta tekislangan VMDK ga klonlang: vmkfstools -ihar bir blokdan o'qiydiServer-000002.vmdkorqali pastgaServer-000001.vmdkvaServer-flat.vmdkqat'iy Faqat o'qish rejimida va toza, suratga tushmasdan yozadiServer_Merged.vmdkasl fayllaringizga tegmasdan.
Stsenariy 1B: etishmayotgan yoki o'chirilgan 500 baytni qayta yaratish .vmdk matn deskriptor qachon Server-flat.vmdk hali ham buzilmagan¶
Ba'zan administrator yoki buzilgan skript o'chiriladi Server.vmdk (yoki u buziladi 0 bytes), 500 gigabayt katta hajmga ega bo'lsa ham, Datastore brauzerining virtual diskni ko'rsatishni to'xtatishiga olib keladi Server-flat.vmdk haqiqiy ma'lumotlaringizning 100 foizini o'z ichiga olgan fayl hali ham SSHda (ls -la *-flat.vmdk).
Siz etishmayotgan oddiy matnni qayta yaratishingiz mumkin Server.vmdk deskriptor faylini 60 soniya ichida bir bayt ma'lumotni yo'qotmasdan 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)
Stsenariy 1C: Qulfni ochish a .vmdk osilgan ESXi xost tomonidan qulflangan yoki buzilgan zaxira proksi (Cannot open the disk: Failed to lock the file)¶
Agar VM yoqishdan bosh tortsa Failed to lock the file yoki Cannot open disk: Resource busy, Klasterdagi boshqa ESXi xosti (yoki zahiralash vaqtida ishdan chiqqan Veeam/zaxira HotAdd qurilmasi) hali ham SCSI/VMFS fayl blokirovkasini o‘zida saqlab turibdi. -flat.vmdk yoki -sesparse.vmdk:
1. Buzilgan zahiraviy proksi-server VMda ishlab chiqarish VMlari hali ham borligini tekshiring .vmdk uning virtual SCSI kontrolleriga biriktirilgan: Veeam/CommVault proksi-serverlarining sozlamalarini tahrirlang va eskirgan biriktirilgan ishlab chiqarish disklarini olib tashlang (“Virtual mashinadan o‘chirish” bandini tanlang, HECH QACHON “Ma’lumotlar do‘konidan fayllarni o‘chirmang”).
2. Qaysi ESXi xost MAC manzili va dunyo jarayoni VMFS blokirovkasiga ega ekanligini toping:
vmx dunyo identifikatori (esxcli vm process list) va osilgan dunyoni tugating (esxcli vm process kill --type=force --world-id=<WorldID>).
2-trek: Microsoft Hyper-V-ni qutqarish .vhdx va .avhdx oniy tasvir zanjirlari¶
Microsoft Hyper-V-da har bir nazorat nuqtasi (surat) kengaytmasi bilan farq qiluvchi virtual qattiq diskni yaratadi .avhdx (yoki .avhd eski VHD formatida) kabi uzun GUID fayl nomini tayinladi ProdSQL_A1B2C3D4-E5F6-7890-ABCD-1234567890AB.avhdx.
1-qadam: Aniq xronologik xaritani tuzing .avhdx PowerShell-dagi ota-bola daraxti¶
Hyper-V Manager-da biror narsani birlashtirish yoki qayta ulashdan oldin, Hyper-V xostida Elevated Administrator PowerShell oynasini oching, o'z ichiga olgan jildga o'ting. .vhdx va .avhdx fayllarni o'rnating va eng yangidan eng eskisiga qadar aniq ota-bola zanjirini ko'rsatish uchun ushbu bitta chiziqni ishga tushiring:
# 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
ga qarang Path va ParentPath dalalar. Ular aniq zanjir tartibini ochib beradi:
- ProdSQL.vhdx -> ParentPath: (blank) (Root Base Disk, eng qadimgi)
- ProdSQL_1111.avhdx -> ParentPath: D:\VMs\ProdSQL.vhdx (1-bola)
- ProdSQL_2222.avhdx -> ParentPath: D:\VMs\ProdSQL_1111.avhdx (Bola 2)
- ProdSQL_3333.avhdx -> ParentPath: D:\VMs\ProdSQL_2222.avhdx (Eng yangi Active Leaf Disk)
2-qadam: tuzatish "The chain of virtual hard disks is broken" yoki "Differencing disk parent ID mismatch" (Set-VHD -IgnoreIdMismatch)¶
Agar kimdir VM jildini ko'chirsa nima bo'ladi? C:\VMs\ uchun E:\VMs\, yoki tasodifan yuklangan ProdSQL.vhdx 5 soniya davomida, sabab bo'ladi ProdSQL_1111.avhdx bilan muvaffaqiyatsiz bo'lish:
The chain of virtual hard disks is broken. The system cannot locate the parent virtual hard disk for the differencing disk yoki There is a mismatch in the virtual disk identifiers?
Rasmiy Hyper-V PowerShell cmdletidan foydalaning Set-VHD bilan -IgnoreIdMismatch bayroq (birinchi navbatda fayllarning zaxira nusxasini yaratgandan so'ng):
# 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
3-qadam: Etimni qo'lda birlashtirish .avhdx ENG YANGI dan ENG ESKIgacha zanjir (Merge-VHD)¶
Zaxira agent 15 kishini yetim qoldirganda .avhdx Hyper-V Manager GUI "Tekshirish nuqtalari" daraxtida endi ko'rinmaydigan papkangizdagi fayllar uchun ** VM o'chirilgan paytda ularni PowerShell'da qo'lda birlashtirishingiz kerak**.
Danger
** Hyper-V ning temir qoidasi .avhdx Birlashish:** Siz DOIMO NEWEST (eng yosh barg) dan birlashishingiz kerak. .avhdx uning bevosita ota-onasiga, zanjir bo'ylab faqat taglikgacha asta-sekin orqaga qarab harakatlaning .vhdx qoladi.
Masalan, zanjirda Base.vhdx <- Child1.avhdx <- Child2.avhdx <- Child3_Newest.avhdx:
1. Birlashtirish Child3_Newest.avhdx -> ichiga Child2.avhdx.
2. Birlashtirish Child2.avhdx -> ichiga Child1.avhdx.
3. Birlashtirish Child1.avhdx -> ichiga Base.vhdx.
4. VM sozlamalarini yo'naltiring Base.vhdx va yuklash.
Ushbu aniq PowerShell buyruqlarini jildning ishchi nusxasida ishga tushiring:
# 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-trek: Proxmox VE / QEMU / KVMni qutqarish .qcow2 va VirtualBox .vdi zanjirlar¶
1. Buzuq QCOW2 L1/L2 klaster va qayta hisoblash jadvallarini tekshirish va tuzatish (qemu-img check)¶
Agar Linux KVM yoki Proxmox xosti batareya bilan ta'minlangan keshsiz to'satdan quvvat uzilishiga duchor bo'lsa, .qcow2 virtual disk ko'pincha yuklanmaydi qcow2: Marking image as corrupt: L2 table offset unaligned yoki Refcount block corrupted.
1. ** Avval nusxa ko'chiring .qcow2 fayl (cp vm-100-disk-0.qcow2 vm-100-disk-0.qcow2.bak).**
2. ** Qo‘llab-quvvatlash zanjiri va ichki suratlar ro‘yxatini tekshirish:**
2. Buzilgan QCOW2 zaxira fayl yoʻlini tuzatish (qemu-img rebase -u)¶
Agar tashqi QCOW2 surati (overlay.qcow2) ochilmadi, chunki uning asosiy zaxira fayli (base.qcow2) yangi katalog yoki saqlash havzasiga koʻchirilgan boʻlsa, zaxira fayl koʻrsatkichini xavfli holatda yangilang (-u, faqat sarlavha) rejimi ma'lumotlar bloklarini qayta yozmasdan:
3. Nozik QCOW2 yoki VMDK yoki VHDX zanjirini butunlay yangi mustaqil tasvirga tekislash (qemu-img convert)¶
Virtual mashinani qutqarishning eng ko'p qirrali vositalaridan biri qemu-img convert (asosan o'qiydi .qcow2, .vmdk, .vhdx, .vhd, va .vdi). Ishora qilganingizda qemu-img convert Yaroqli zanjirning eng yangi barg suratida, u butun ota-ona ierarxiyasini Faqat o‘qish rejimida o‘qiydi va qutqaruv xotirangizda mutlaqo yangi, mustaqil, suratsiz virtual diskni yozadi:
# 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-trek: tarmoqdan tashqari fayllarni qutqarish (VM hali ham yuklanmasa fayllarni chiqarib olish)¶
Agar virtual diskdagi mehmon operatsion tizimi ochilmasa yoki zanjirdagi o'rta snapshot qisman shikastlangan bo'lsa va siz SQL ma'lumotlar bazasini chiqarib olishingiz kerak bo'lsa-chi (.mdf/.ldf), QuickBooks fayllari, /var/lib/mysql, yoki keyingi 30 daqiqa ichida kompaniya hujjatlari?
Virtual qattiq diskdagi fayllarni chiqarib olish uchun Virtual Mashinani ishga tushirishingiz shart emas. Ushbu uchta buzilmaydigan tarmoqdan tashqari oʻrnatish vositalaridan foydalaning:
1-usul: istalganini o'rnating .vmdk, .vhdx, .qcow2, yoki .vdi yordamida Linuxda faqat o'qish rejimida libguestfs (guestmount / qemu-nbd)¶
O'rnatish libguestfs-tools (sudo apt install libguestfs-tools qemu-utils Ubuntu/Debian/Proxmox-da) va eng yangi barg suratini qat'iy Faqat o'qish rejimiga o'rnating (--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-usul: Windows-da bir zumda faqat o'qish uchun chiqarish 7-Zip yoki Disk Management -> Attach VHD (Read-Only)¶
- 7-Zip-dan foydalanish (ishlaydi
.vmdk,.vhdx,.vhd,.qcow2, va.vdi): Sichqonchaning o'ng tugmasi bilan mustaqil yoki tekislangan.vmdk,.vhdx, yoki.qcow2Windows-da faylni tanlang va 7-Zip -> Arxivni ochish-ni tanlang. 7-Zip virtual disklardagi GPT/MBR bo'lim jadvallari va NTFS/ext4 fayl tizimlarini 100% faqat o'qish rejimida tahlil qiladi, bu sizga mehmon papkalarini bir necha soniya ichida ish stoliga sudrab olib tashlash imkonini beradi. - Windows Disk boshqaruvidan foydalanish (uchun
.vhdx/.avhdx): Ochiqdiskmgmt.msc-> Harakat -> VHD ni biriktiring -> eng yangi varaqni ko'rib chiqing.avhdx(yoki.vhdx), ** UCHUN QATTINI TEKSHIRING[X] Read-only(KRITIK: Faqat o'qish uchun ruxsatni tekshirishni hech qachon unutmang, aks holda Windows disk sarlavhasini o'zgartiradi)** va OK tugmasini bosing. VM ning C: va D: drayverlari darhol Windows File Explorer-da paydo bo'ladi.
3-usul: Jiddiy shikastlangan zanjirlarni qayta tiklash UFS Explorer Professional Recovery¶
Agar VMDK yoki VHDX zanjiridagi asosiy disk tasodifan ishga tushirilgan va o'zgartirilgan bo'lsa yoki VMFS/NTFS ma'lumotlar do'koni buzilishi diskning bir qismini parchalab tashlagan bo'lsa. -sesparse.vmdk yoki .avhdx UFS Explorer Professional Recovery (yoki R-Studio Technician) sizga asosiy diskni va har bir bola delta tasvirini gipervisorni chetlab o'tib, dasturiy operativ xotirada maxsus Virtual Delta Stackga qo'lda yig'ish imkonini beradi. CID/GUID buzilmagan mehmon fayllarini kesish va chiqarish uchun sarlavha tekshiruvlari.
5-trek: VM konfiguratsiya faylini qayta tiklash (.vmx, .xml, yoki <vmid>.conf)¶
Ba'zan virtual qattiq disk zanjirining o'zi (*.vmdk, *.vhdx, yoki *.qcow2) saqlash massivida 100 foiz buzilmagan, lekin Virtual Mashinaning apparat tartibini belgilaydigan kichik konfiguratsiya fayli (.vmx VMware ESXi da, <GUID>.vmcx / .xml Hyper-V da yoki /etc/pve/qemu-server/<vmid>.conf Proxmox VE da) buzilgan, tasodifan o'chirilgan yoki xost ishdan chiqishi paytida nolga teng.
Noto'g'ri virtual xotira boshqaruvchisi yoki proshivka rejimi bilan almashtirilgan VM qobig'ini qayta yaratsangiz, mehmon operatsion tizimi yuklash paytida darhol ishdan chiqadi. INACCESSIBLE_BOOT_DEVICE (Windows) yoki a ichiga tushing dracut / initramfs favqulodda qobiq (Linux). Qutqarilgan virtual diskni ulashdan oldin ushbu to'rtta apparat sozlamalarini asl mehmon konfiguratsiyasiga moslang:
| Virtual apparat sozlamalari | Alomat VM almashtirishda noto'g'ri o'rnatilgan bo'lsa | Qadimgisiz to'g'ri sozlashni qanday aniqlash mumkin .vmx / .vmcx |
|---|---|---|
1. Mikrodasturni yuklash rejimi (UEFI / OVMF va boshqalar Legacy BIOS / SeaBIOS) |
VM ko'rsatiladi "Operating System Not Found" yoki to'g'ridan-to'g'ri UEFI Interaktiv qobig'iga tushadi (Shell>). |
Virtual diskning bo'limlar jadvalini tekshiring (fdisk -l yoki virt-filesystems -a disk.vmdk --partitions --long). Agar diskda 100 MB dan 512 MB gacha bo'lgan FAT32 EFI tizim bo'limi (ESP) bo'lsa va GPT bo'limlar jadvalidan foydalansa, siz VM mikrodasturini UEFI ga o'rnatishingiz KERAK. Agar disk EFI bo'limiga ega bo'lmagan MBR (dos) bo'lim jadvalidan foydalansa, proshivkani Legacy BIOS ga o'rnating. |
2. Virtual xotira boshqaruvchisi turi (VMware Paravirtual SCSI - PVSCSI va boshqalar LSI Logic SAS va boshqalar NVMe va boshqalar VirtIO SCSI) |
Windows uradi a 0x0000007B / INACCESSIBLE_BOOT_DEVICE Moviy ekran; Linux ichiga tushadi initramfs: /dev/mapper/root does not exist. |
VMware ESXi-da oddiy matnni tekshiring .vmdk satr uchun tavsif fayli ddb.adapterType = "lsilogic" yoki "buslogic" yoki tekshiring vmware.log VM papkasida (grep -i "scsi0.virtualDev" vmware.log), aniq tarixiyni chop etadi .vmx so'nggi muvaffaqiyatli yuklashdan olingan lug'at. |
3. Virtual tarmoq adapteri MAC manzili va drayveri (VMXNET3 va boshqalar E1000e va boshqalar VirtIO-Net) |
Mehmon OS ishga tushadi, lekin "yangi" tarmoq kartasini aniqlagani uchun statik IP manzilini yoki litsenziyalash blokini yo'qotadi (eth1 o'rniga eth0). |
Eskisini qidiring vmware.log VM ma'lumotlar do'koni katalogida (grep -i "ethernet0.generatedAddress" vmware.log) aniq 6 baytlik MAC manzilini tiklash uchun (00:50:56:xx:xx:xx) va uni almashtirilgan VM ning tarmoq sozlamalariga joylashtiring. |
4. Virtual TPM 2.0 (vTPM) & BitLocker / LUKS holati |
Windows BitLocker yuklash paytida 48 raqamli tiklash kalitini so'raydi .nvram / vTPM davlat yo'q. |
VMware ESXi-da har doim ** saqlang<VM_Name>.nvram** va .vmsd bilan birga fayllar .vmdk fayllar; Hyper-V da saqlang Virtual Machines\<GUID>.vmgs (Guest State) fayli, shuning uchun virtual TPM kalitlari bog'langan bo'lib qoladi. |
Tez-tez beriladigan savollar¶
VM-ni asl bazaga qaytarsam nima bo'ladi `.vmdk` yoki `.vhdx` fayl va ichida nima borligini ko'rish uchun uni yuklaysizmi?
HECH QACHON buni avval fayllarning zahiraviy nusxasini yaratmasdan qilmang va oniy tasvirlar (`-000001.vmdk` yoki `.avhdx`) mavjud. Birinchidan, asosiy disk birinchi surat yaratilgan kun va daqiqada muzlatib qo'ydi, agar oniy tasvir 6 oy davomida ishlayotgan bo'lsa, asosiy diskni yuklash serveringizni 6 oy oldin mavjud bo'lgani kabi ishga tushiradi va oxirgi yarim yilda yaratilgan har bir faylni yo'qotadi. Ikkinchidan va bundan ham yomoni, mehmon operatsion tizimi bir zumda asosiy diskdan ishga tushirilgach, u yuklash jurnallari va jurnal o'zgarishlarini asosiy diskga yozadi, sektorlarini o'zgartiradi va Content ID ni o'zgartiradi (`CID`) yoki ulanish GUID. Bu farzandingizning barcha suratlari uchun zarur bo'lgan delta blok xaritasini butunlay buzadi.
Nima uchun mening VMware ESXi ma'lumotlar do'konim ko'rsatiladi `Server-000001.vmdk` kabi to'liq 500 GB hajmga ega `Server.vmdk` veb-brauzerda?
Bu VMware ESXi Web Client Datastore brauzerining displey g'aroyibotidir. Veb-brauzer interfeysida ESXi asosiy narsani yashiradi `-flat.vmdk`, `-delta.vmdk`, va `-sesparse.vmdk` ikkilik fayllar va delta fayl tomonidan iste'mol qilinadigan haqiqiy jismoniy bo'sh joyni emas, balki diskning * ta'minlangan mantiqiy hajmini * ko'rsatadi. Haqiqiy jismoniy fayl nomlarini, aniq bayt o'lchamlarini va matn identifikatorli fayllarni ko'rish uchun ESXi xostida SSH-ni yoqing, Terminal/PuTTY orqali tizimga kiring, sahifaga o'ting. `/vmfs/volumes/
Xost ma'lumotlar ombori 100% to'lgan bo'lsa (0 bayt bo'sh) bo'lsa, qanday qilib VMware yoki Hyper-V snapshotlarini birlashtirishim mumkin?
Maʼlumotlar ombori 0 bayt boʻsh joyga yetganda, oddiy “Barcha suratlarni oʻchirish/Birlashtirish” funksiyasi bajarilmaydi, chunki 2-rasmni 1-rasmga birlashtirish 2-rasmni oʻchirishdan oldin 1-rasm hajmini vaqtincha oshiradi. Sizda uchta xavfsiz chiqish yo'li bor: (1) 15-20 foiz bo'sh joyni bo'shatish uchun o'sha ma'lumotlar do'konidagi *boshqa* muhim bo'lmagan ISO fayllarini, eski jurnal fayllarini yoki o'chirilgan sinov VMlarini toping va o'chiring yoki ko'chiring; (2) Agar saqlash massivi SAN/NAS (iSCSI/NFS/FC) bo'lsa, LUN-ni kengaytiring va onlayn VMFS/NTFS hajmini 100 GB ga oshiring; yoki (3) Xostga tashqi USB drayverini yoki NFS ulushini ulang va foydalaning `vmkfstools -i Server-000002.vmdk /vmfs/volumes/New_NFS_Share/Merged.vmdk` (yoki `qemu-img convert` / `Merge-VHD` to'liq ma'lumotlar omborida nol bayt yozish maydonidan foydalangan holda zanjirni *o'rinsiz* ikkinchi saqlash hajmiga birlashtirish uchun boshqa haydovchi harfiga).
Qanday qilib Veeam, CommVault yoki Nakivo kabi zaxira dasturlari serverimni bir necha oydan keyin toʻldiradigan yashirin “etim suratlar”ni qoldirishini oldini olishim mumkin?
Zaxiralash ilovalari har tungi zahira ishining boshida vaqtinchalik gipervisor snapshotini yaratadi, shunda ular muzlatilgan asosiy diskni oʻqiy oladilar, soʻngra ESXi yoki Hyper-V-ga zaxiralash tugagach, ushbu suratni oʻchirish/birlashtirishni buyuradilar. Vaqti-vaqti bilan saqlash vaqti tugashi oniy tasvirni o'chirish bosqichining jimgina ishlamay qolishiga olib keladi va yashirin qoladi. `-000001.vmdk` yoki `.avhdx` ma'lumotlar omborining 100 foiziga yetguncha oylar davomida o'sib boradi. Ikkita avtomatlashtirilgan himoya vositalarini o'rnating: (1) o'rnatilgan vCenter / Hyper-V / Proxmox signalini yoqish `"Virtual Machine Snapshot Size > 20 GB or Age > 72 Hours"`va (2) haftalik faqat oʻqish uchun moʻljallangan PowerCLI yoki PowerShell auditini rejalashtirish (`Get-VM | Get-Snapshot` yoki `Get-ChildItem -Recurse -Filter *.avhdx`) ishlab chiqarish xotirasida 3 kundan ortiq eski rasm fayli mavjud bo'lganda, administrator jamoangizga elektron pochta xabarini yuboradi.
Manbalar tekshirildi¶
- Broadcom Technical Knowledge Base tomonidan VMware: KB 1007969 / 316578 ("Ota-ona virtual diski bola yaratilgandan beri o'zgartirilgan" CID nomuvofiqlik xatolarini hal qilish), KB 1002511 (Yo'qolgan virtual mashina disk identifikatorini qayta yaratish)
.vmdkFayl) va KB 10051 (ESXi-da virtual mashina suratlarini tushunish). - Microsoft Learn / Windows Server Hyper-V muhandislik hujjatlari: * Hyper-V PowerShell uchun havola
Get-VHD,Set-VHD -IgnoreIdMismatch, vaMerge-VHDOflayn farqlovchi disk konsolidatsiyasi*. - QEMU loyihasi va Red Hat Enterprise Linux virtualizatsiyasi hujjatlari: Rasmiy
qemu-imgQo'llanma (info --backing-chain,check -r all,rebase -u,convert) valibguestfs(guestmount --ro) Faqat o'qish uchun virtual diskni tekshirish. - Oracle VirtualBox texnik hujjatlari:
VBoxManage showmediuminfovaclonemediumTasvir arxitekturasini farqlash. - Milliy Standartlar va Texnologiyalar Instituti (NIST, Amerika Qo'shma Shtatlari): * NIST maxsus nashri 800-86: Sud-tibbiyot texnikasini voqea-hodisalarga javob berishga integratsiya qilish bo'yicha qo'llanma (Virtual mashina tasvirini saqlash)*.
Tegishli qo'llanmalar¶
- NAS va RAID massivlari yomonlashdi, bir nechta drayverlarning ishdan chiqishi va ZFS/Btrfs tiklanishi
- NVMe yoki SSD to'satdan faqat o'qish rejimiga kiradi yoki BIOS'dan yo'qoladi
- Qattiq diskdagi nosozlik va favqulodda ma'lumotlarni tiklash
- Linux tizimini yuklashda xatolik va GRUB tuzatish
- Windows ko'k ekrani (BSOD) va yuklashni tuzatish
- Kompyuterning zaxira nusxalari: 3-2-1 strategiyasi va falokatni tiklash
- Global favqulodda raqamlar