Virtual mfiri snapshot nkɔnsɔnkɔnsɔn a abubu (.VMDK / .VHDX / .QCOW2) ne disk gye¶
Ɛsono dodow a wɔde ma ntɛm ara wɔ ɔman biara mu. Kratafa yi de 911, nɔma a wɔde ma United States ne Canada na edi dwuma. Aman afoforo pii de 112, 999, anaa nɔma foforo di dwuma. Hwehwɛ nɔma a ɛwɔ wo man mu.
Sɛ production Virtual Machine (VM) a ɛwɔ VMware ESXi / Workstation, Microsoft Hyper-V, Proxmox VE / QEMU-KVM, anaa Oracle VirtualBox so mpofirim pow sɛ ɛbɛsɔ ahoɔden bere a backup adwuma bi adi nkogu akyi a, datastore bi disk space sa (0 bytes free), anaasɛ ɔhwɛfo bi de ne nsa ka fael bi a wɔatwa no ntɛm a, sɛ wobɔ no pɛnkoro a, ebetumi apopa asram anaa mfe pii a wɔde ayɛ adwuma ho nsɛm a ɛwɔ hɔ no. Virtual machine snapshots yɛ ɛnyɛ ahofadi backups a edi mũ; wɔyɛ mmerɛw Copy-on-Write (CoW) delta nsonsonoe nkɔnsɔnkɔnsɔn (*-000001-delta.vmdk, . *.avhdx, anaasɛ backing-fael .qcow2 overlays) baabi a block biara a wɔkyerɛwee fi bere a wɔfaa mfonini no tra ase wɔ abofra delta fael ahorow no mu nkutoo, bere a mfitiase base disk no te nwini mu wɔ bere a atwam no mu.
Sɛ wuhu mfomso te sɛ "The parent virtual disk has been modified since the child was created (Parent CID does not match)" wɔ VMware mu no, . "Cannot boot: The chain of virtual hard disks is broken" wɔ Hyper-V mu, anaasɛ "Could not open backing file: L1/L2 table corrupted" wɔ QEMU/Proxmox mu no, san de VM no kyerɛ Base Disk no so Tẽẽ (flat.vmdk anaasɛ nnyinaso .vhdx) na sɛ wobɔ no a, ɛyɛ owuyare. Saa a wobɛyɛ no ma server no fi ase sɛnea na ɛwɔ hɔ asram 6 a atwam ni bere a wɔyɛɛ mfonini a edi kan no, ɛma cryptographic ɔwofo-abofra GUID/CID link no yɛ adwuma ntɛm ara na ɛma delta mfonini biara fi saa da no yɛ nyisaa na wontumi nkabom.
Saa akwankyerɛ yi de anammɔn anammɔn a ɛnyɛ ɔsɛeɛ snapshot nkɔnsɔnkɔnsɔn a wɔsan yɛ, descriptor-fael ti asiesie, ne out-of-band guest file extraction protocols a egyina VMware a Broadcom Knowledge Base Articles (KB 1007969 / 316578 ne KB 1002511), Microsoft Hyper-V so ma Merge-VHD na Set-VHD mfiridwuma ho nsɛm a wɔakyerɛkyerɛ mu, QEMU qemu-img na libguestfs (guestmount) asɛnnibea gyinapɛn ahorow, ne NIST Nhoma Titiriw 800-86.
Yɛ eyi mprempren¶
Sɛ virtual mfiri bi pow sɛ ebefi ase anaasɛ ɛtow snapshot chain a abubu / virtual disk mfomso a asɛe a:
- NSESA VM nhyehyɛe no da na ama woatumi afi Base Disk no so tẽẽ (
Server.vmdkanaasɛServer.vhdx) bere a delta mfonini ahorow ( .-000001.vmdkanaasɛ.avhdx) wɔ hɔ wɔ folda no mu. Bere a ɔhɔho dwumadi nhyehyɛe bi fi ase tẽẽ fi base parent disk no so simma 2 mpo no, ahɔho OS no kyerɛw boot timestamps ne NTFS/ext4 journal updates kɔ base disk no mu, na ɛsakra ɔwofo disk no Content ID (CID) wɔ VMware mu anaa Linkage GUID / Timestamp wɔ Hyper-V mu. Saa boot biako no bubu mmofra snapshots nkɔnsɔnkɔnsɔn no nyinaa a egyina base disk a ɛtra hɔ bit-for-bit frozen so. Sɛ wo server dan no rehyia ogya a ɛrehyew, onwini a entumi nyɛ adwuma yiye, anaa honam fam asiane a, tu fi hɔ na frɛ wo mpɔtam hɔ nɔma a egye ntɛmpɛ (911 wɔ United States ne Canada, 112 wɔ Europa Aman Nkabom no nyinaa mu, 999 wɔ United Kingdom) anaa hwɛ nɔma ahorow a egye ntɛmpɛ. - MPOPA DA
.avhdx, .-delta.vmdk, anaasɛ-sesparse.vmdkfael ahorow a ɛwɔ Windows Explorer anaa ESXi Datastore Browser no mu sɛnea ɛbɛyɛ a "ɛma disk space." Nea ɛnte sɛ bere tiaa mu fael ahorow a wɔtaa de di dwuma no, ..avhdxna-delta.vmdkfael ahorow ƐYƐ wo mprempren live hard drive. Sɛ wɔyɛɛ mfonini asram 8 a atwam ni denam Veeam/CommVault backup adwuma a akɔ so ayɛ adwuma so na wogyaw no sɛ ɛreyɛ adwuma a, wɔde database asɛm biara, invoice, ne fael a wɔayɛ wɔ asram 8 a atwam no mu ɔha biara mu nkyem 100 sie wɔ wɔn mu.avhdxanaasɛ-delta.vmdkfael ahorow. Sɛ wopopa a, ɛpopa data a wɔayɛ fi bere a mfonini no fii ase no nyinaa. - Copy anaa clone ne nyinaa
.vmdk, ..vhdx/ ..avhdx, anaasɛ.qcow2fael ahorow kɔ abɔnten / nea ɛto so abien akorae volume ANSA na woreyɛ merge, commit, anaa repair command biara. Snapshot chain a wode bɛka abom no kyerɛw delta blocks nyinaa kɔ akyi kɔ ɔwofo disk no mu in-place. Sɛ nkabom bi di nkogu wɔ fã esiane disk sector bɔne anaa datastore full error nti a, ɔwofo ne abofra disk no nyinaa asɛe gye sɛ wodii kan faa fael raw copy. - Sɛ hypervisor no dii nkogu efisɛ host Datastore / Volume no bɔɔ 100% Full (
No space left on device), MMƆ mmɔden DA sɛ wobɛ "Delete / Consolidate Snapshots" kosi sɛ wode free space anaa clone bɛka datastore kɛse bi ho. Sɛ wobɛka multi-snapshot chain abom a, ɛhwehwɛ bere tiaa mu scratch space a ɛne delta disk kɛse no kɛse yɛ pɛ. Sɛ wobɔ mmɔden sɛ wobɛka wo ho abom wɔ 99% datastore a ɛyɛ ma so a, ɛbɛma hypervisor mid-commit no asɛe. - Map ɔwofo -> Abofra a wɔde wɔn ho to so nkɔnsɔnkɔnsɔn no pɛpɛɛpɛ denam akenkan nkutoo nhwehwɛmu ahyɛde ahorow so (
vmkfstools -e, .Get-VHD, anaasɛqemu-img info --backing-chain) ansa na wode wo nsa aka baiti biako. Fael atiri biara a ɛyɛ mfonini no bɔ ɔwofo fael din pɔtee ne ɔwofo cryptographic ID a ɛhwɛ kwan sɛ ɛbɛtra n’atifi tẽẽ no din pefee.
flowchart TD
A["VM Pow sɛ ɛbɛbɔ: Snapshot Chain a Abubu, Ɔwofo CID a Ɛnhyia, anaa VMDK/VHDX/QCOW2 a Asɛe"] --> B["STOP: MMFA base disk no boot tẽẽ, na MMFA -delta.vmdk anaa .avhdx fael biara"]
B --> C["Anamɔn 1: Hwɛ Host Datastore / Volume Free Space (`df -h` / `esxcli akorae fael nhyehyɛe list`) ."]
C --> D["Anamɔn 2: Kɔpi base ne snapshot fael nyinaa kɔ secondary backup NAS / SAN / USB drive ansa na woasesa"]
D --> E{"Hypervisor / Virtual Disk Format bɛn na ɛka?"}
E -->|"1. VMware ESXi / Adwumayɛbea (.vmdk / -flat.vmdk / -delta.vmdk / -separse.vmdk) ."| F["Hwɛ nkyerɛwee nkyerɛkyerɛmufo (`cat *.vmdk`) & hwɛ nkɔnsɔnkɔnsɔn (`vmkfstools -e Server-000002.vmdk`)"]
F --> G{"Dɛn ne VMware VMDK mfomso no?"}
G -->|"Ɔwofoɔ CID a ɛnhyia (`ɔwofoɔCID .= ɔwofoɔ CID`)"| H["Sesa abofra nkyerɛwee nkyerɛkyerɛmu `.vmdk` sɛnea ɛbɛyɛ a `parentCID` ne ɔwofo `CID`, ANAA clone active leaf disk no hyia ma VMDK foforo a wɔaboaboa ano (`vmkfstools -i`)"]
G -->|"1-KB nkyerɛwee nkyerɛkyerɛmu `.vmdk` a ayera (`-flat.vmdk` kɛse nkutoo na ɛwɔ hɔ)"| I["Bu baiti kɛseɛ pɔtee / 512 sectors na san yɛ plain-text `.vmdk` nkyerɛkyerɛmu no ne `vmkfstools -c`"]
E -->|"2. Microsoft Hyper-V (.vhdx ne .avhdx nkɔnsɔnkɔnsɔn) ."| J["Hwɛ nkɔnsɔnkɔnsɔn no fi `.avhdx` foforo koraa so kɔ soro: `Get-VHD -Path *.avhdx | Paw Ɔkwan,ƆwofoKwan`"]
J --> K["San fa ɔwofo kyerɛwtohɔ a abubu (`Set-VHD -Path child.avhdx -ParentPath ɔwofo.vhdx -IgnoreIdMismatch`) anaasɛ offline nkabom (`Merge-VHD`)"]
E -->|"3. Proxmox / KVM / QEMU (.qcow2) anaa VirtualBox (.vdi) ."| L["Hwɛ `qemu-img info --akyi-nkɔnsɔnkɔnsɔn`; siesie refcount/L2 pon ahorow (`qemu-img check -r nyinaa`) anaasɛ rebase (`qemu-img rebase -u`)"]
H --> M["Out-of-Band File Rescue Fallback: Fa nkɔnsɔnkɔnsɔn biara to Read-Only mode so tẽẽ denam `guestmount --ro` anaa `7-Zip` / `UFS Explorer` so"]
I --> M
K --> M
L --> M
Sɛnea virtual machine snapshot chains yɛ adwuma ankasa no ntease¶
Sɛ́ ebia wode VMware ESXi, Microsoft Hyper-V, Proxmox/KVM, anaa VirtualBox di dwuma no, hypervisor biara de mfoninitwa di dwuma denam fapem architecture koro no ara pɛpɛɛpɛ so: Awofo Disk a Wɔkenkan Nkutoo ne Abofra Ahaban Delta Disk a Wɔkenkan-Twerɛ a wɔaka abom wɔ ɔkwan biako so**.
[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)
- Sɛ VM no pɛ sɛ kyerɛw block foforo nnɛ a, ɛkyerɛw kɔ ase ahaban fael no NKUTOO (
Snapshot 2). - Sɛ VM no pɛ sɛ kenkan block bi nnɛ a, hypervisor no hwɛ
Snapshot 2nea edi kan. Sɛ wɔyɛɛ nsakrae wɔ saa block no mu fi June 1 a, ɛkenkan fiSnapshot 2. Sɛ ɛnte saa a, ɛhwɛ nkɔnsɔnkɔnsɔn no so kɔSnapshot 1. Sɛ wɔansakra no wɔ hɔ nso a, ɛkenkan mfitiase block no fiBase Disk. - Nea enti a nkɔnsɔnkɔnsɔn bubu: Abofra mfonini biara sie nsɛntitiriw abien a ɛyɛ katee wɔ ne ti mu: (1) Fael kwan a n’awofo a ɔbɛn no ntɛm ara, ne (2) A 32-bit Content ID (
CIDwɔ VMware mu) anaa 128-bit Linkage GUID (ParentUniqueIdwɔ Hyper-V) a wɔsan yɛ no foforo bere biara a wobebue ɔwofo disk bi ama akyerɛw. Sɛ obi tu fael bi, sesa folda bi din, anaasɛ ɔde ɔwofo disk no si akenkan-kyerɛw tebea mu bere tiaa bi a, ɔwofo no deCID/ .GUIDsesa, na hypervisor no pow ntɛm ara sɛ ɔde abofra mfonini no bɛto so de asiw silent block corruption ano.
| Hypervisor Platform a Wɔde Di Dwuma | Base Disk Fael ahorow | Mfonini / Delta Fael ahorow | Nkɔnsɔnkɔnsɔn Nhwehwɛmu CLI Adwinnade | Safe Consolidation / Nkabom CLI Adwinnade |
|---|---|---|---|---|
| VMware ESXi (VMFS-5 / VMFS-6) & Adwumayɛbea | VM.vmdk (500-byte nkyerɛkyerɛmu a ɛnyɛ den) + VM-flat.vmdk (raw binary disk data) . |
VM-000001.vmdk (nsɛm a wɔkyerɛkyerɛ mu) + VM-000001-sesparse.vmdk (VMFS-6) anaasɛ VM-000001-delta.vmdk (VMFS-5) (VMFS-5) no. |
vmkfstools -e VM-000002.vmdk na cat VM*.vmdk |
vmkfstools -i VM-000002.vmdk /vmfs/volumes/NewDS/Merged.vmdk (Clone/merge a ɛnyɛ nea ɛsɛe ade a ɛwɔ akyirikyiri) |
| Microsoft Hyper-V (Windows Server) Ɔde ne nsa kyerɛɛ ne so, na ɔde ne nsa kyerɛɛ ne so bio. | VM.vhdx (anaasɛ agyapade .vhd) . |
VM_<GUID>.avhdx (anaasɛ .avhd) . |
PowerShell: Nya-VHD -Ɔkwan *.avhdx \ . | Paw Ɔkwan,ƆwofoKwan,VhdType |
PowerShell: Ɔde ne nsa kyerɛɛ ne so. Set-VHD -Path child.avhdx -ParentPath parent.vhdx na Merge-VHD -Path child.avhdx -DestinationPath parent.vhdx |
| Proxmox VE / QEMU / KVM (Linux) Ɔde ne nsa kyerɛɛ ne so, na ɔde ne nsa kyerɛɛ ne so bio. | vm-100-disk-0.qcow2 (anaasɛ raw LVM/ZFS volume) . |
Abɔnten so ade a wɔde kata so .qcow2 ne fael ti a ɛwɔ akyi (anaasɛ QCOW2 mfonini pon a ɛwɔ mu) . |
qemu-img info --backing-chain top_overlay.qcow2 |
qemu-img convert -O qcow2 top_overlay.qcow2 flattened_rescue.qcow2 (Safest out-of-place flatten) anaasɛ qemu-img commit |
| **Oracle VirtualBox ** Ɛyɛ a na me ne me yere kɔ. | Disk.vdi (VM folda no mu) |
{UUID}.vdi mu Snapshots/ subfolder + a ɛwɔ hɔ .vbox XML nsɛm ho amanneɛbɔ ho kyerɛwtohɔ |
VBoxManage showmediuminfo disk "{UUID}.vdi" |
VBoxManage clonemedium disk "{Newest_Snapshot_UUID}.vdi" Flattened_Rescue.vdi |
Track 1: VMware ESXi & Adwumayɛbea a wɔregye .vmdk nkɔnsɔnkɔnsɔn a wɔde mfonini a ɛyɛ ntɛm¶
Wɔ VMware ESXi mu no, virtual disk biako ankasa yɛ fael ahorow abien a ɛsono emu biara ma base disk no ne fael ahorow abien a ɛsono emu biara ma mfonini biara:
1. Nkyerɛkyerɛmu Fael ketewaa bi (-500-byte) a wɔakyerɛw no pefee (Server.vmdk na Server-000001.vmdk) a ɛkura CID, . parentCID, disk geometry, ne fael din pɔtee a ɛwɔ binary extent no mu. (Hyɛ no nsow: Stock ESXi Datastore Browser wɛb GUI no de nea wɔayɛ no abien no sie -flat.vmdk na -sesparse.vmdk binary fael na ɛkyerɛ ahyɛnsodeɛ baako pɛ a wɔaka abom, ƐSƐ sɛ wode SSH terminal session di dwuma wɔ ESXi host no so na woahu fael no ankasa).
2. Data Extent Fael a ɛwɔ gigabyte pii a ɛwɔ binary (Server-flat.vmdk ma base disk no, na Server-000001-sesparse.vmdk anaasɛ Server-000001-delta.vmdk ma mfonini biara a wɔagye).
Nsɛm a ɛfa ho 1A: Nsiesiei "The parent virtual disk has been modified since the child was created (Parent CID mismatch)"¶
- SSH kɔ ESXi host no mu na kɔ VM no datastore directory no mu:
- Ttintim no
CID, .parentCID, naparentFileNameHintwɔ nkyerɛwee nkyerɛkyerɛmu nyinaa so.vmdkfael ahorow prɛko pɛ: (Nea ɛho hia: Mmirikatu nkutoocatanaasɛgrepwɔ nkyerɛwee nkyerɛkyerɛmu ketewa a ne kɛse yɛ baiti 500 no so.vmdkfael ahorow, ƐNYƐ multi-gigabyte no so-flat.vmdkanaasɛ-sesparse.vmdkfael ahorow). - Fa toto ho sɛ
CIDa ɔwofo biara de tiaparentCIDne ba a ɔbɛn no pɛɛ no: Hwɛ nea ebefi mu aba: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" - Siesie nea abubu no
parentCIDwɔ abofra nkyerɛkyerɛmu no mu na fa di ho adansevmkfstools -e: - Nea edi kan no, yɛ text descriptor fael ahorow no backup (
cp Server-000001.vmdk Server-000001.vmdk.bak). - Bue mu
Server-000001.vmdkmuvine nsakraeparentCID=55443322toparentCID=1a2b3c4d(a ɛne ne ho hyiaServer.vmdk's mpremprenCID). - Sɔ nkɔnsɔnkɔnsɔn no mudi mu kura hwɛ fi newest (highest-numbered) snapshot a wode bedi dwuma no mu
vmkfstools -e: 1 . - Sɛ nkɔnsɔnkɔnsɔn no nni dɛm a, ESXi de:
Disk chain is consistent. - AKWANKYERƐ A ƐNYƐ NSƐE (
vmkfstools -iClone a Ɛnyɛ Beae): - Sɛ
Server.vmdkwɔsesaa no kakra ansa na woresiesieparentCID, nnyɛ consolidate in-place wɔ wo copy biako pɛ so. Mmom no, twe adwene si sovmkfstools -iwɔ ahaban mfonini foforo koraa (Server-000002.vmdk) na clone nkɔnsɔnkɔnsɔn no nyinaa yɛ VMDK foforo koraa, biako a wɔayɛ no tratraa wɔ datastore a ɛwɔ baabi a ɛnyɛ hwee so: vmkfstools -ikenkan block biara fiServer-000002.vmdkdown throughServer-000001.vmdknaServer-flat.vmdkwɔ Read-Only Mode a ɛyɛ katee mu na ɔkyerɛw nea ɛho tew, a ɛnyɛ nea wɔde mfoninitwaServer_Merged.vmdka womfa wo nsa nka wo mfitiase fael ahorow no.
Nsɛm tebea 1B: Wɔresan ayɛ 500-byte a ayera anaasɛ wɔapopa .vmdk nkyerɛwee nkyerɛkyerɛmu bere Server-flat.vmdk da so ara yɛ nea enni dɛm¶
Ɛtɔ da bi a, administrator anaa script a abubu popa Server.vmdk (anaasɛ ɛyɛ nea asɛe to 0 bytes), a ɛma Datastore Browser no gyae sɛ ɛbɛkyerɛ virtual disk no, ɛwom mpo sɛ kɛse 500-gigabyte ** .Server-flat.vmdk** fael a wo data ankasa ɔha biara mu nkyem 100 wom da so ara te hɔ ara wɔ SSH mu (ls -la *-flat.vmdk).
Wubetumi asan ayɛ nsɛm a ɛnyɛ den a ayera no Server.vmdk descriptor fael wɔ sikani 60 mu a ɛnhwere data baiti biako mpo wɔ mu Server-flat.vmdk: 1 .
# 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)
Nsɛm a ɛfa ho 1C: Wobue a .vmdk a ESXi host a wɔde asɛn hɔ anaasɛ backup proxy a asɛe (Cannot open the disk: Failed to lock the file) .¶
Sɛ VM bi pow sɛ ɛbɛma power on ne Failed to lock the file anaasɛ Cannot open disk: Resource busy, ESXi host foforo a ɛwɔ cluster no mu (anaasɛ Veeam/backup HotAdd afiri a ɛhwee ase bere a wɔreyɛ backup) da so ara kura SCSI / VMFS fael lock wɔ so -flat.vmdk anaasɛ -sesparse.vmdk: 1 .
1. Hwɛ sɛ backup proxy VM a asɛe da so ara wɔ wo production VM's .vmdk abata ne virtual SCSI controller ho: Sesa wo Veeam/CommVault proxy VMs nhyehyeɛ na yi production disks biara a abata ho a ayɛ dedaw (paw "Yi fi Virtual Machine," NEVER "Popa fael fi datastore").
2. Hwehwɛ ESXi host MAC address ne wiase nhyehyɛe bɛn na ɛkura VMFS lock no:
vmx wiase ID (esxcli vm process list), na wɔtow wiase a wɔasɛn no (esxcli vm process kill --type=force --world-id=<WorldID>).
Track 2: Microsoft Hyper-V a wogye .vhdx na .avhdx nkɔnsɔnkɔnsɔn a wɔde mfonini a ɛyɛ ntɛm¶
Wɔ Microsoft Hyper-V mu no, checkpoint biara (snapshot) yɛ virtual hard disk a ɛsono no a ɛwɔ ntrɛwmu ** ..avhdx** (anaasɛ .avhd wɔ VHD format dedaw so) de GUID fael din tenten te sɛ ProdSQL_A1B2C3D4-E5F6-7890-ABCD-1234567890AB.avhdx.
Anamɔn 1: Yɛ mmere nhyehyɛe pɔtee no ho mfonini .avhdx ɔwofo-ba dua wɔ PowerShell mu¶
Ansa na wobɛka biribiara abom anaa wobɛsan abɔ biribiara wɔ Hyper-V Manager mu no, bue Elevated Administrator PowerShell mfɛnsere bi wɔ Hyper-V host no so, kɔ folda a wo .vhdx na .avhdx fael ahorow, na fa one-liner yi di dwuma de kyerɛ ɔwofo ne abofra nkɔnsɔnkɔnsɔn no pɛpɛɛpɛ fi nea ɛyɛ foforo so kosi nea akyɛ so:
# 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
Hwɛ sɛnea Path na ParentPath mfuw mu. Wɔbɛda nkɔnsɔnkɔnsɔn nhyehyɛe pɔtee no adi:
- ProdSQL.vhdx -> ParentPath: (blank) (Root Base Disk, Nea Akyɛ sen biara)
- ProdSQL_1111.avhdx -> ParentPath: D:\VMs\ProdSQL.vhdx (Abofra 1)
- ProdSQL_2222.avhdx -> ParentPath: D:\VMs\ProdSQL_1111.avhdx (Abofra 2)
- ProdSQL_3333.avhdx -> ParentPath: D:\VMs\ProdSQL_2222.avhdx (Ahaban Disk a Ɛyɛ Adwuma Foforo)
Anamɔn 2: Nsiesiei "The chain of virtual hard disks is broken" anaasɛ "Differencing disk parent ID mismatch" (Set-VHD -IgnoreIdMismatch) .¶
Na sɛ obi tu VM folda no fii mu nso ɛ C:\VMs\ to E:\VMs\, anaasɛ wɔabɔ no wɔ akwanhyia mu ProdSQL.vhdx de sikɔne 5, na ɛde ProdSQL_1111.avhdx sɛ wobedi nkogu wɔ:
The chain of virtual hard disks is broken. The system cannot locate the parent virtual hard disk for the differencing disk anaasɛ There is a mismatch in the virtual disk identifiers?
Fa Hyper-V PowerShell cmdlet a ɛyɛ aban de no di dwuma ** .Set-VHD** ne ** .-IgnoreIdMismatch** frankaa (bere a woadi kan ayɛ fael ahorow no backup akyi):
# 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
Anamɔn 3: Wɔde nsa bɛka nyisaa bi abom .avhdx nkɔnsɔnkɔnsɔn a efi FOFORO kosi NE NKWASƐM (Merge-VHD) .¶
Bere a backup agent bi gyaw 15 nyisaa .avhdx fael a ɛwɔ wo folda mu a ɛnpue bio wɔ Hyper-V Manager GUI "Checkpoints" dua no mu, ɛsɛ sɛ wode nsa ka bom wɔ PowerShell mu bere a wɔadum VM no.
Danger
Dade Mmara a ɛfa Hyper-V ho .avhdx Merging: Ɛsɛ sɛ woka bom BERE BIARA FI NEWEST (ahaban kumaa) no so . .avhdx kɔ n’awofo a ɔbɛn no ntɛm ara mu, na woayɛ adwuma anammɔn anammɔn akɔ akyi akɔ nkɔnsɔnkɔnsɔn no so kosi sɛ ɛbɛyɛ nnyinaso nkutoo .vhdx da so ara wɔ hɔ.
Sɛ nhwɛso no, wɔ nkɔnsɔnkɔnsɔn mu Base.vhdx <- Child1.avhdx <- Child2.avhdx <- Child3_Newest.avhdx: 1 .
1. Ka bom Child3_Newest.avhdx -> kɔ mu Child2.avhdx.
2. Ka bom Child2.avhdx -> kɔ mu Child1.avhdx.
3. Ka bom Child1.avhdx -> kɔ mu Base.vhdx.
4. Twe adwene si VM nhyehyɛe no so wɔ Base.vhdx ne boot.
Fa PowerShell ahyɛdeɛ pɔtee yi tu mmirika wɔ adwumayɛ kɔpi a ɛwɔ folda no so:
# 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: Nkwagye Proxmox VE / QEMU / KVM .qcow2 ne VirtualBox na ɛwɔ hɔ .vdi nkɔnsɔnkɔnsɔn¶
1. Hwɛ na wosiesie QCOW2 L1/L2 Cluster & Refcount Tables a asɛe (qemu-img check) .¶
Sɛ Linux KVM anaa Proxmox host bi tumi twa mpofirim a battery-backed cache nni mu a, a .qcow2 virtual disk taa di nkogu wɔ boot ne qcow2: Marking image as corrupt: L2 table offset unaligned anaasɛ Refcount block corrupted.
1. Nea edi kan no, kɔpi .qcow2 fael (cp vm-100-disk-0.qcow2 vm-100-disk-0.qcow2.bak).
2. Audit akyi nkɔnsɔnkɔnsɔn ne emu snapshot list:
2. Woresiesie QCOW2 Backing File Path a asɛe (qemu-img rebase -u) .¶
Sɛ abɔnten so QCOW2 mfonini (overlay.qcow2) ntumi mmue efisɛ n’awofo backing file ( .base.qcow2) no kɔɔ directory anaa storage pool foforo mu, update backing file pointer no wɔ unsafe (-u, header-only) mode a ɛnsan nkyerɛw data blocks:
3. QCOW2 anaa VMDK anaa VHDX nkɔnsɔnkɔnsɔn a ɛyɛ mmerɛw a wɔbɛma ayɛ tratraa ayɛ no mfonini foforo koraa a egyina hɔ ma (qemu-img convert) .¶
Nnwinnade a ɛyɛ adwuma pii wɔ virtual machine rescue mu biako ne ** .qemu-img convert** (a natively kenkan .qcow2, . .vmdk, . .vhdx, . .vhd, na .vdi). Bere a wotwe adwene si so no qemu-img convert wɔ ahaban mfonini foforo a ɛwɔ nkɔnsɔnkɔnsɔn a ɛfata mu no, ɛkenkan ɔwofo-abofra nhyehyɛe no nyinaa wɔ Akenkan-Nkoaa tebea a ɛyɛ katee mu na ɛkyerɛw virtual disk foforo koraa, a ɛwɔ ne ho, a mfonini biara nni mu wɔ wo nkwagye akorae so:
# Non-destructively flatten an entire QCOW2, VMDK, or VHDX chain into a single clean image:
qemu-img convert -p -O qcow2 top_snapshot_leaf.qcow2 /mnt/rescue_storage/flattened_clean.qcow2
Track 4: Out-of-band file rescue (Fael ahorow a woyi fi mu bere a VM no da so ara rentumi nkɔbɔ) .¶
Na sɛ guest operating system a ɛwɔ virtual disk no mu no ntumi nhyɛ ase, anaasɛ mfinimfini mfonini bi a ɛwɔ nkɔnsɔnkɔnsɔn no mu no fã bi asɛe na ɛsɛ sɛ wotwe SQL databases (.mdf/ ..ldf), QuickBooks fael ahorow, . /var/lib/mysql, anaa adwumakuw no nkrataa wɔ simma 30 a edi hɔ no mu?
Ɛho nhia sɛ wobɛbɔ Virtual Machine na woatumi ayi fael ahorow a ɛwɔ ne virtual hard drive no mu. Fa saa nnwinnade abiɛsa a ɛnyɛ ɔsɛe a ɛwɔ out-of-band mounting yi mu biara di dwuma:
Ɔkwan 1: Fa biara si so .vmdk, . .vhdx, . .qcow2, anaasɛ .vdi wɔ Read-Only Mode mu wɔ Linux so de di dwuma libguestfs (guestmount / . qemu-nbd) .¶
Install libguestfs-tools (sudo apt install libguestfs-tools qemu-utils wɔ Ubuntu/Debian/Proxmox so) na fa ahaban mfonini foforo a ɛsen biara no si Akenkan-Nko Mode a ɛyɛ katee (--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
Ɔkwan 2: Instant Read-Only Extraction wɔ Windows so de di dwuma 7-Zip anaasɛ Disk Management -> Attach VHD (Read-Only)¶
- 7-Zip a wode bedi dwuma (Ɛyɛ adwuma wɔ so
.vmdk, ..vhdx, ..vhd, ..qcow2, na.vdi): Klik nifa so wɔ standalone anaa flattened bi so.vmdk, ..vhdx, anaasɛ.qcow2fael wɔ Windows so na paw 7-Zip -> Bue Archive. 7-Zip natively parses GPT / MBR mpaepaemu pon ne NTFS / ext4 fael nhyehyɛe wɔ virtual disks mu wɔ 100% akenkan-nko mode, ma wo twetwe na woto ahɔho folda tẽẽ wɔ wo desktop mu wɔ sikani mu. - Windows Disk Management a wode bedi dwuma (Ma
.vhdx/ ..avhdx): Bue mudiskmgmt.msc-> Adeyɛ -> Fa VHD bata ho -> Browse kɔ ahaban foforo no so.avhdx(anaasɛ.vhdx), HWƐ ADAKA NO MU SƐ[X] Read-only(CRITICAL: Mma wo werɛ mmfi da sɛ wobɛhwɛ Read-only, anyɛ saa a Windows bɛsesa disk header no), na klik OK. Wo VM no C: ne D: drive ahorow no pue ntɛm ara wɔ Windows File Explorer mu.
Ɔkwan 3: Wɔsan yɛ nkɔnsɔnkɔnsɔn a asɛe kɛse no UFS Explorer Professional Recovery¶
Sɛ ɔwofoɔ disk a ɛwɔ VMDK anaa VHDX nkɔnsɔnkɔnsɔn mu no, wɔhyɛɛ aseɛ wɔ akwanhyia mu na wɔsesaa no, anaasɛ sɛ VMFS/NTFS datastore asɛe no shredded part of a -sesparse.vmdk anaasɛ .avhdx fael enti hypervisor nnwinnade pow no, UFS Explorer Professional Recovery (anaasɛ R-Studio Technician) ma wo kwan ma wode nsa boaboa raw base disk ne abofra delta mfonini biara ano kɔ custom Virtual Delta Stack mu wɔ software RAM mu, twa hypervisor ho hyia CID/ .GUID header checks de di adwini na yi ahɔho fael a enni dɛm.
Track 5: VM nhyehyeɛ fael a ɛyɛ nyisaa a wɔsan nya (.vmx, . .xml, anaasɛ <vmid>.conf) .¶
Ɛtɔ mmere bi a, virtual hard disk chain no ankasa (*.vmdk, . *.vhdx, anaasɛ *.qcow2) yɛ ɔha biara mu nkyem 100 a enni dɛm wɔ storage array no so, nanso nhyehyɛe fael ketewa a ɛkyerɛkyerɛ Virtual Machine no hardware nhyehyɛe mu (.vmx wɔ VMware ESXi mu no, . <GUID>.vmcx / . .xml wɔ Hyper-V mu, anaasɛ /etc/pve/qemu-server/<vmid>.conf wɔ Proxmox VE) mu no asɛe, wɔapopa wɔ akwanhyia mu, anaasɛ wɔayɛ zero wɔ bere a host no ahwe ase.
Sɛ wosan yɛ VM shell a wɔde besi ananmu denam virtual storage controller anaa firmware mode a ɛnteɛ so a, guest operating system no bɛbɔ ntɛm ara wɔ boot ne INACCESSIBLE_BOOT_DEVICE (Windows) anaasɛ fa gu a dracut / initramfs ntɛmpɛ a wɔde tow hyɛn (Linux). Fa hardware nhyehyɛe anan yi hyia wo mfitiase ahɔho nhyehyɛe no ansa na wode wo virtual disk a wɔagye no abata ho:
| Virtual Hardware Nsiesiei a Wɔde Yɛ Adwuma | Symptom Sɛ Wɔde Siesie no Yiye wɔ Replacement VM so a | Sɛnea Wobɛkyerɛ Tebea a Ɛteɛ a Wonni Dedaw no .vmx / . .vmcx |
|---|---|---|
1.1. Firmware Boot Ɔkwan a Wɔfa so Yɛ (UEFI / OVMF vs Legacy BIOS / SeaBIOS) |
VM kyerɛ "Operating System Not Found" anaasɛ ɛtɔ tẽẽ kɔ UEFI Interactive Shell (Shell>). |
Hwɛ virtual disk no mpaapaemu pon no mu (fdisk -l anaasɛ virt-filesystems -a disk.vmdk --partitions --long). Sɛ disk no wɔ 100 MB kɔsi 512 MB FAT32 EFI System Partition (ESP) na ɛde GPT mpaepaemu pon di dwuma a, ƐSƐ sɛ wode VM firmware no si UEFI. Sɛ disk no de MBR (dos) mpaepaemu pon a EFI mpaepaemu biara nni mu di dwuma a, hyehyɛ firmware no to Legacy BIOS. |
2.1. Virtual Storage Controller Ɔkwan a Wɔfa so Yɛ (VMware Paravirtual SCSI - PVSCSI vs LSI Logic SAS vs NVMe vs VirtIO SCSI) |
Windows tow a 0x0000007B / INACCESSIBLE_BOOT_DEVICE Blue Screen a ɛwɔ anim; Linux hwe ase kɔ mu initramfs: /dev/mapper/root does not exist. |
Wɔ VMware ESXi mu no, hwehwɛ plain-text no mu .vmdk nkyerɛkyerɛmu fael ma nkyerɛwde no ddb.adapterType = "lsilogic" anaasɛ "buslogic" anaasɛ hwɛ vmware.log wɔ VM folda no mu (grep -i "scsi0.virtualDev" vmware.log), a ɛtintim abakɔsɛm pɔtee no .vmx nsɛm asekyerɛ nhoma a efi boot a etwa to a edii yiye no mu. |
3.1. Virtual Network Adapter MAC Address & Draiver (VMXNET3 vs E1000e vs VirtIO-Net) |
Guest OS boots, nanso ɛhwere ne static IP address anaa licensing lock efisɛ ɛhu network card "foforo" (eth1 mmom sen sɛ eth0). |
Hwehwɛ dedaw no mu vmware.log wɔ VM no datastore kyerɛwtohɔ no mu (grep -i "ethernet0.generatedAddress" vmware.log) sɛnea ɛbɛyɛ a wobɛsan anya MAC address a ɛyɛ baiti 6 pɛpɛɛpɛ (00:50:56:xx:xx:xx) na fa hyɛ VM a wɔde besi ananmu no ntwamutam nhyehyɛe mu. |
4.1. Virtual TPM 2.0 (vTPM) & BitLocker / LUKS Ɔman . |
Windows BitLocker bisa sɛ fa 48-digit recovery key no wɔ boot mu sɛ... .nvram / . vTPM ɔman no nni hɔ. |
Wɔ VMware ESXi mu no, kora ** no so bere nyinaa .<VM_Name>.nvram** ne ** ..vmsd** fael ahorow a ɛwɔ nkyɛn .vmdk fael ahorow; wɔ Hyper-V mu no, kora Virtual Machines\<GUID>.vmgs (Guest State) fael enti virtual TPM safoa no kɔ so yɛ link. |
Nsɛm a wɔtaa bisa¶
Dɛn na ɛbɛba sɛ mekyerɛ me VM no san kɔ mfitiaseɛ base no so kɛkɛ a `.vmdk` anaasɛ `.vhdx` file na boot no up na woahu nea ɛwɔ mu?
MMFA eyi nyɛ eyi DA a wunni kan nnyɛ fael ahorow no backup, na MMFA base disk no boot wɔ akenkan-kyerɛw mode mu DA bere a woreyɛ mfonini ahorow (`-000001.vmdk` anaasɛ `.avhdx`) wɔ hɔ. Nea edi kan no, wɔde base disk no yɛɛ nwini wɔ da ne simma pɔtee a wɔyɛɛ mfonini a edi kan koraa no, sɛ mfonini bi ayɛ adwuma asram 6 a, sɛ wobɔ base disk no ase a, ɛma wo server no fi ase sɛnea na ɛwɔ hɔ asram 6 a atwam ni no, ɛyera fael biako biara a wɔyɛe wɔ afe fã a etwaam no mu. Nea ɛto so abien, na nea enye koraa no, bere a ahɔho dwumadi nhyehyɛe no fi ase fi base disk no so no, ɛkyerɛw boot logs ne journal nsakrae kɔ base disk no so, na ɛsakra ne sectors na ɛsakra ne Content ID (`CID`) anaasɛ Nkitahodi GUID. Ɛno bubu delta block map a wo ba no mfonini nyinaa hia no daa.
Adɛn nti na me VMware ESXi datastore no kyerɛ `Server-000001.vmdk` sɛ ɛwɔ 500 GB kɛse a edi mũ koro no ara sɛ `Server.vmdk` wɔ wɛb brawsa no mu?
Eyi yɛ VMware ESXi Wɛb Client Datastore Browser no nkyerɛkyerɛmu quirk. Wɔ wɛb brawsa UI mu no, ESXi de nea ɛwɔ ase no sie `-flat.vmdk`, . `-delta.vmdk`, na `-sesparse.vmdk` binary fael na ɛkyerɛ *provisioned logical capacity* a ɛwɔ disk no mu sen sɛ ɛbɛkyerɛ honam fam ahunmu ankasa a delta fael no di. Sɛ wopɛ sɛ wohunu nokware honam fam fael din, baiti akɛseɛ pɛpɛɛpɛ, ne nkyerɛwee nkyerɛkyerɛmu fael a, ma SSH nyɛ adwuma wɔ ESXi host no so, fa Terminal/PuTTY so kɔ mu, kɔ `/vmfs/volumes/
Mɛyɛ dɛn atumi ahyɛ VMware anaa Hyper-V snapshots mu den bere a host datastore no ayɛ ma 100% (0 bytes free)?
Sɛ datastore bi bɔ 0 bytes free a, normal in-place "Delete All Snapshots / Consolidate" di nkogu efisɛ sɛ wode Snapshot 2 ka Snapshot 1 ho a, ɛma Snapshot 1 kɛse yɛ kɛse bere tiaa bi ansa na wɔatumi apopa Snapshot 2. Wowɔ akwan abiɛsa a ahobammɔ wom a wobɛfa so afi mu: (1) Hwehwɛ na popa anaa fa *ISO fael afoforo* a ɛho nhia, log fael dedaw, anaasɛ sɔhwɛ VM ahorow a wɔadum no ahoɔden wɔ saa datastore koro no ara so na ama woanya ɔha biara mu nkyem 15 kosi 20 ti; (2) Sɛ storage array no yɛ SAN/NAS (iSCSI/NFS/FC) a, trɛw LUN no mu na nyin VMFS/NTFS volume no wɔ intanɛt so 100 GB; anaa (3) Fa abɔnten USB drive anaa NFS kyɛfa bi bata host no ho na fa di dwuma `vmkfstools -i Server-000002.vmdk /vmfs/volumes/New_NFS_Share/Merged.vmdk` (anaasɛ `qemu-img convert` / . `Merge-VHD` kɔ drive krataa foforo so) de hyɛ nkɔnsɔnkɔnsɔn *out-of-place* no mu den wɔ storage volume a ɛto so abien no so denam zero bytes a wɔkyerɛw space wɔ datastore a edi mũ no so.
Mɛyɛ dɛn asiw backup software te sɛ Veeam, CommVault, anaa Nakivo kwan sɛ ebegyaw "nyisaa mfonini" a ahintaw a ɛhyɛ me server ma asram akyi?
Backup applications yɛ bere tiaa mu hypervisor snapshot wɔ anadwo biara backup adwuma biara mfiase sɛnea ɛbɛyɛ a wobetumi akenkan frozen base disk no, na afei wɔakyerɛ ESXi anaa Hyper-V sɛ wɔnpopa/wɔnhyɛ saa snapshot no mu den bere a backup no awie no. Ɛtɔ da bi a, storage timeout ma snapshot removal step no di nkogu komm, na ɛma ahintaw `-000001.vmdk` anaasɛ `.avhdx` a ɛrenyin asram pii kosi sɛ ɛbɛbɔ datastore no ɔha biara mu nkyem 100. Fa ahobammɔ abien a ɛyɛ adwuma hyehyɛ: (1) Ma vCenter / Hyper-V / Proxmox alarm a wɔde ahyɛ mu no nyɛ adwuma ma `"Virtual Machine Snapshot Size > 20 GB or Age > 72 Hours"`, ne (2) Yɛ nhyehyɛe ma dapɛn dapɛn PowerCLI anaa PowerShell akontaabu a wɔkenkan nkutoo (`Get-VM | Get-Snapshot` anaasɛ `Get-ChildItem -Recurse -Filter *.avhdx`) a ɛde email mena wo admin kuw no bere biara a snapshot fael biara a akyɛ sen nnafua 3 wɔ hɔ wɔ production storage so.
Sources a wɔhwɛɛ mu¶
- VMware by Broadcom Technical Knowledge Base: KB 1007969 / 316578 (Wɔresiesie "Wɔasesa ɔwofo virtual disk no fi bere a wɔbɔɔ abofra no" CID Mismatch Mfomso), KB 1002511 (Wɔresan ayɛ Virtual Machine Disk Descriptor a Ayera
.vmdkFael), ne KB 10051 (Virtual Machine Snapshots a wɔte ase wɔ ESXi mu). - Microsoft Sua / Windows Server Hyper-V Engineering Nwoma: Hyper-V PowerShell Nkyerɛkyerɛmu ma
Get-VHD, .Set-VHD -IgnoreIdMismatch, naMerge-VHDOffline Nsonsonoe Disk Nkabom. - QEMU Dwumadie & Red Hat Enterprise Linux Virtualization Nwoma: Ɔmanfoɔ
qemu-imgNwoma Nhoma (info --backing-chain, .check -r all, .rebase -u, .convert) nelibguestfs(guestmount --ro) Virtual Disk Nhwehwɛmu a Wɔkenkan Nkutoo. - Oracle VirtualBox Mfiridwuma Ho Nwoma: * .
VBoxManage showmediuminfonaclonemediumMfonini a Wɔde Yɛ Nsonsonoe*. - Ɔman Asoɛe a Ɛhwɛ Gyinapɛn ne Mfiridwuma So (NIST, United States): NIST Nhoma Titiriw 800-86: Akwankyerɛ a Ɛfa Asɛnnibea Mfiri a Wɔde Bɛka Asɛm a Ɛsisi Ho Mmuae (Virtual Machine Image Preservation).
Akwankyerɛ ahorow a ɛfa ho¶
- NAS ne RAID array asɛe, draibɛ pii adi nkogu, ne ZFS/Btrfs sanba
- NVMe anaa SSD hyɛn akenkan nkutoo mode mu mpofirim anaasɛ ɛyera fi BIOS mu
- Hard drive a entumi nyɛ adwuma yiye ne data a wɔsan nya ntɛm
- Linux nhyehyɛe boot huammɔdi ne GRUB asiesie
- Windows Blue Screen (BSOD) ne boot asiesie
- Kɔmputa so backups: 3-2-1 nhyehyɛe ne atoyerɛnkyɛm bere mu ahotɔ
- Wiase nyinaa dodow a egye ntɛmpɛ