Pri odstraňovaní snímok alebo konsolidácii diskov virtuálnych strojov na hostiteľoch VMWare ESXi sa veľmi často stretávam s chybou “K súboru nie je možné pristupovať, pretože je zamknutý". Toto je pomerne častý problém kvôli chybám v zálohovacom systéme VM (problém som stretol vo Veeam, HP Data Protector, Veritas). Uzamknutie virtuálneho disku snímky virtuálneho počítača vám nedovolí vykonať konsolidáciu (je potrebná konsolidácia diskov virtuálnych strojov), Storage vMotion na iné diskové pole, zálohovať alebo vymazať aktuálny snímok. Virtuálny stroj so zámkami sa niekedy nedá jednoducho zapnúť.
Chyba s prístupom k uzamknutému súboru virtuálneho disku alebo snímke vo VMWare môže vyzerať takto:
K súboru nie je možné pristupovať, pretože je zamknutý. Pri konsolidácii diskov sa vyskytla chyba: Jeden alebo viac diskov je zaneprázdnených.
Môžete tiež vidieť túto chybu:
Pri konsolidácii diskov sa vyskytla chyba: msg.snapshot.error-DISKLOCKED.
Zobrazí sa najčastejšia chyba „Nemožno získať prístup k súboru, pretože je zamknutý“:
- Keď niektoré súbory na zahrnutom virtuálnom stroji obsahujú ochranné známky iných hostiteľov ESXi;
- Pri pridávaní virtuálnych diskov do zálohy zariadenia počas neúspešných relácií zálohovania;
Ak chcete nájsť zdroj zámku a odstrániť ho, musíte najskôr identifikovať uzamknuté súbory.
- Pomocou klienta SSH sa pripojte k hostiteľovi ESXi, na ktorom je zaregistrovaný problematický VM;
- Prejdite do adresára so súbormi virtuálneho počítača:
cd / vmfs / volume / VMFS_DATASTORE_NAME / LOCKED_VM
- Vyhľadajte chyby konsolidácie protokolového súboru vmware.log, zámky súborov:
cat vmware.log | zámok grep
- Denník by mal obsahovať približne tieto chyby:
VigorSnapshotManagerConsolidateCallback: snapshotErr = Nepodarilo sa zamknúť súbor (5: 4008) 2020-01-13T05: 07: 11,432Z | vmx | I125: DISK: Disk sa nedá otvoriť "/vmfs/volumes/5121c3ff-230b21a-41aa-21d92b219221/msk-web01/msk-web01_1-000002.vmdk": Zablokovanie súboru (16392) zlyhalo. 2020-01-13T05: 07: 11,432Z | Pracovník č. 1 I125: DISKLIB-LIB: Nepodarilo sa otvoriť '/vmfs/volumes/5121c3ff-230b21a-41aa-21d92b219221/msk-web01/msk-web01-000002.vmdk' s príznakmi 0xa Nepodarilo sa zamknúť súbor (16392). 2020-01-13T05: 07: 11,432Z | Pracovník č. 1 I125: DISK: Disk sa nedá otvoriť "/vmfs/volumes/5121c3ff-230b21a-41aa-21d92b219221/msk-web01/msk-web01-000002.vmdk": Zablokovanie súboru (16392) zlyhalo. 2020-01-13T05: 07: 11,432Z | vmx | I125: [msg.fileio.lock] Zablokovanie súboru zlyhalo
- Tento príklad ukazuje, že súbor je zamknutý
MSK-web01_1-000002.vmdk
; - Pomocou nasledujúceho príkazu môžete zobraziť aktuálny reťazec snímok od zadaného na plochý disk:
vmkfstools -qv10 msk-web01_1-000002.vmdk
- Teraz zobrazíme informácie o snímke a jej vlastníkovi (vlastníkovi RO):
vmkfstools -D msk-web01-000001-delta.vmdk
Zámok [typ 10c000021 offset 242835456 v 856, hb offset 3153920 gen 3, režim 1, majiteľ 5cbac61a-4b6e32b7-0480-d06726ae7900 mtime 5199410 num 0 gblnum 0 gblbrk 0] RO Majiteľ [0] Posun HB 3153920 5cbac61a-4b6e32b7-0480-d06726ae7900 Addr, gen 859, odkazy 1, typ reg, príznaky 0, uid 0, gid 0, mód 600
V rade RO Majiteľ je uvedená adresa MAC sieťovej karty hostiteľa ESXi, ktorá zablokovala tento súbor snímky (adresa MAC je na snímke zvýraznená). Nezabudnite tiež na hodnotu režimu:
- režim 1 - zámok na čítanie / zápis (napríklad so zapnutým virtuálnym počítačom);
- režim 2 - zvyčajne to znamená, že jednotka je uzamknutá záložnou aplikáciou.
Ak chcete nájsť server ESXi pomocou známej adresy MAC, v PowerCLI môžete použiť nasledujúce príkazy (skonvertujte predtým prijatú adresu MAC na dvojbodkový formát):
Importovací modul VMware.VimAutomation.Core -ErrorAction SilentlyContinue
connect-viserver vcenter1
Get-VMHost | Get-VMHostNetworkAdapter | Where-Object $ _. Mac-like "d0: 67: 26: ae: 79: 00" | Zoznam formátov - Majetok *
Názov hostiteľa ESXi bude uvedený v poli VMHost.
Tabuľku ARP môžete tiež vydať priamo z hostiteľa ESXi a získať adresy IP a MAC všetkých susedných serverov ESXi v sieti VMkernel:
Zoznam susedov siete ip esxcli
Ak chcete zámok odstrániť zo súboru VM, jednoducho reštartujte nájdeného hostiteľa ESXi (predemigrujte všetky VM z neho pomocou VMotion). Ak hostiteľa nemôžete reštartovať, reštartujte službu Management Agent (hostd) v režime údržby z hostiteľskej konzoly SSH:
services.sh reštart
Potom sa pokúste konsolidovať alebo odstrániť snímku VM.
Chyba „K súboru nie je možné pristupovať, pretože je zamknutý„Dochádza často často Zálohovanie a replikácia Veeam pri použití proxy servera Veeam. Kvôli chybám zálohovania nemusí Veeam správne odpojiť jednotku virtuálneho stroja.Ak chcete problém vyriešiť, otvorte nastavenia VM, na ktorom je nainštalovaný server proxy Veeam. Vyberte disk VM, ktorého súbory sú uzamknuté zo zariadenia VM.
Uistite sa, že ste vybrali možnosť „Odstrániť z virtuálneho počítača“ a nie „Odstrániť z virtuálneho počítača a odstrániť súbory z disku“. V opačnom prípade môžete omylom odstrániť disk vmdk.