बहुत बार जब VMWare ESXi होस्ट पर चलने वाली वर्चुअल मशीन के स्नैपशॉट को हटाते हैं या डिस्क को समेकित करते हैं, तो मुझे "लॉक होने के बाद से फ़ाइल तक पहुंचने में असमर्थ दिखाई देता है। " त्रुटि। यह लगातार समस्या VM बैकअप सॉफ़्टवेयर में त्रुटियों से संबंधित है (मैं वीम, एचपीई/माइक्रो फोकस डेटा प्रोटेक्टर, वेरिटास में इस मुद्दे पर आया था।) यदि वर्चुअल डिस्क का स्नैपशॉट लॉक है, तो आप डिस्क को समेकित करने में सक्षम नहीं होंगे। (जब आप त्रुटि देखते हैं 'Virtual machine disks consolidation is needed
'), स्टोरेज vMotion का उपयोग करके डिस्क को दूसरे डेटास्टोर में ले जाएं, VM का बैकअप लें या वर्तमान स्नैपशॉट को हटा दें। कभी-कभी आप लॉक की गई वर्चुअल मशीन को चालू भी नहीं कर सकते।
VMWare में लॉक की गई वर्चुअल डिस्क फ़ाइल या स्नैपशॉट तक पहुँच की त्रुटि इस तरह दिख सकती है:
Unable to access file since it is locked. An error occurred while consolidating disks: One or more disks are busy.
साथ ही, आपको यह त्रुटि दिखाई दे सकती है:
An error occurred while consolidating disks: msg.snapshot.error-DISKLOCKED.
सबसे अधिक बार "लॉक होने के बाद से फ़ाइल तक पहुँचने में असमर्थ" त्रुटि तब दिखाई देती है जब:
- पावर्ड ऑन वर्चुअल मशीन की कुछ फाइलों में ऐसे टैग होते हैं जो यह दर्शाते हैं कि वे अन्य ESXi होस्ट द्वारा लॉक किए गए हैं;
- जब वर्चुअल डिस्क को बैकअप उपकरण में जोड़ा जाता है और बैकअप सत्र विफल हो जाता है।
किसी लॉक के स्रोत को खोजने और उसे छोड़ने के लिए, आपको पहले लॉक की गई फ़ाइलों की पहचान करनी होगी।
- SSH क्लाइंट का उपयोग करके, ESXi होस्ट से कनेक्ट करें जिस समस्या पर VM पंजीकृत है;
- वर्चुअल मशीन फ़ाइलों के साथ निर्देशिका पर जाएं:
cd /vmfs/volumes/VMFS_DATASTORE_NAME/LOCKED_VM
- vmware.log में समेकन और फ़ाइल लॉकिंग त्रुटियों की तलाश करें:
cat vmware.log | grep lock
- लॉग में इस तरह की त्रुटियां होंगी:
VigorSnapshotManagerConsolidateCallback: snapshotErr = Failed to lock the file (5:4008) 2020-09-09T05:07:11.432Z| vmx| I125: DISK: Cannot open disk "/vmfs/volumes/5121c3ff-2303a3a-33bb-12345678221/mun-web01/mun-web01_1-000002.vmdk": Failed to lock the file (16392). 2020-09-09T05:07:11.432Z| Worker#1| I125: DISKLIB-LIB : Failed to open '/vmfs/volumes/5121c3ff-2303a3a-33bb-12345678221/mun-web01/mun-web01-000002.vmdk' with flags 0xa Failed to lock the file (16392). 2020-09-09T05:07:11.432Z| Worker#1| I125: DISK: Cannot open disk "/vmfs/volumes/5121c3ff-2303a3a-33bb-12345678221/mun-web01/mun-web01-000002.vmdk": Failed to lock the file (16392). 2020-09-09T05:07:11.432Z| vmx| I125: [msg.fileio.lock] Failed to lock the file
- इस उदाहरण में, आप देख सकते हैं कि फ़ाइल mun-web01_1-000002.vmdk लॉक है;
- निम्न आदेश का उपयोग करके, आप निर्दिष्ट एक से शुरू होकर एक फ्लैट डिस्क पर वर्तमान स्नैपशॉट श्रृंखला प्रदर्शित कर सकते हैं:
vmkfstools -qv10 mun-web01_1-000002.vmdk
- फिर स्नैपशॉट और उसके मालिक (आरओ मालिक) के बारे में जानकारी प्राप्त करें:
vmkfstools -D mun-web01-000001-delta.vmdk
Lock [type 10c000021 offset 242835456 v 856, hb offset 3153920 gen 3, mode 1, owner 5cbac61a-4b6e32b7-0480-d06726ae7900 mtime 5199410 num 0 gblnum 0 gblgen 0 gblbrk 0] RO Owner[0] HB Offset 3153920 5cbac61a-4b6e32b7-0480-d06726ae7900 Addr <4, 532, 83>, gen 859, links 1, type reg, flags 0, uid 0, gid 0, mode 600
आरओ स्वामी लाइन ESXi होस्ट नेटवर्क एडेप्टर का मैक पता दिखाती है जिसने स्नैपशॉट फ़ाइल को लॉक कर दिया है (मैक पता स्क्रीनशॉट पर हाइलाइट किया गया है)। इसके अलावा, मोड मान नोट करें:
- मोड 1 - एक रीड/राइट लॉक (उदाहरण के लिए, वीएम पर संचालित);
- मोड 2 - आमतौर पर इसका मतलब है कि वर्चुअल डिस्क बैकअप एप्लिकेशन द्वारा लॉक कर दी गई है।
यदि MAC पता ज्ञात है, तो ESXi सर्वर खोजने के लिए, आप निम्न PowerCLI कमांड का उपयोग कर सकते हैं (आपके द्वारा पहले प्राप्त किए गए MAC पते को कोलन के साथ प्रारूप में बदलें):
Import-Module VMware.VimAutomation.Core -ErrorAction SilentlyContinue
connect-viserver mun-vcenter
Get-VMHost | Get-VMHostNetworkAdapter | Where-Object {$_.Mac -like "d0:67:26:ae:79:00"} | Format-List -Property *
एक समान समाधान जब आपको VMWare vCenter में उसके IP या MAC पते द्वारा VM खोजने की आवश्यकता होती है।
ESXi होस्टनाम VMHost . में दिखाया जाएगा फ़ील्ड.
इसके अलावा, आप सीधे ESXi होस्ट से ARP तालिका प्रदर्शित कर सकते हैं और VMkernel नेटवर्क में अन्य सभी ESXi सर्वरों के IP और MAC पते प्राप्त कर सकते हैं:
esxcli network ip neighbor list
किसी VM फ़ाइल को अनलॉक करने के लिए, बस आपको मिले ESXi होस्ट को पुनरारंभ करें (पहले से VMotion का उपयोग करके सभी VMs को इससे माइग्रेट करें)। यदि आप होस्ट को पुनरारंभ नहीं कर सकते हैं, तो प्रबंधन एजेंट (होस्टडी) को होस्ट के एसएसएच कंसोल से रखरखाव मोड में पुनरारंभ करें:
services.sh restart
फिर डिस्क को समेकित करने या VM स्नैपशॉट को फिर से हटाने का प्रयास करें।
“लॉक होने के बाद से फ़ाइल तक पहुंचने में असमर्थ ” त्रुटि अक्सर वीम बैकअप और प्रतिकृति . में होती है वीम प्रॉक्सी सर्वर का उपयोग करते समय। बैकअप त्रुटियों के कारण, वीम वर्चुअल मशीन डिस्क को सही ढंग से अनमाउंट नहीं कर सकता है।समस्या को ठीक करने के लिए, VM की सेटिंग खोलें, Veeam प्रॉक्सी स्थापित है। VM की डिस्क निकालें जिसमें VM हार्डवेयर से फ़ाइलें लॉक हैं।
सुनिश्चित करें कि आपने “वर्चुअल मशीन से निकालें . को चेक किया है "वर्चुअल मशीन से निकालें और डिस्क से फ़ाइलें हटाएं" के बजाय अन्यथा आप गलती से अपनी vmdk डिस्क को हटा सकते हैं।