Computer >> คอมพิวเตอร์ >  >> ซอฟต์แวร์ >> เครื่องเสมือน

ข้อผิดพลาด VMWare:ไม่สามารถเข้าถึงไฟล์ได้เนื่องจากถูกล็อค

บ่อยครั้งมากเมื่อลบสแน็ปช็อตหรือรวมดิสก์ของเครื่องเสมือนที่ทำงานบนโฮสต์ VMWare ESXi ฉันเห็น “ไม่สามารถเข้าถึงไฟล์ได้เนื่องจากถูกล็อค " ข้อผิดพลาด. ปัญหาที่พบบ่อยนี้เกี่ยวข้องกับข้อผิดพลาดในซอฟต์แวร์สำรองข้อมูล VM (ฉันพบปัญหาใน Veeam, HPE/Micro Focus Data Protector, Veritas) หากสแน็ปช็อตของดิสก์เสมือนถูกล็อค คุณจะไม่สามารถรวมดิสก์ได้ (เมื่อคุณเห็นข้อผิดพลาด 'Virtual machine disks consolidation is needed ’) ย้ายดิสก์ไปยังที่เก็บข้อมูลอื่นโดยใช้ Storage vMotion สำรองข้อมูล VM หรือลบสแน็ปช็อตปัจจุบัน บางครั้งคุณไม่สามารถเปิดเครื่องเสมือนที่ล็อกไว้ได้

ข้อผิดพลาดในการเข้าถึงไฟล์ดิสก์เสมือนที่ถูกล็อกหรือสแน็ปช็อตใน VMWare อาจมีลักษณะดังนี้:

Unable to access file since it is locked.
An error occurred while consolidating disks: One or more disks are busy.

ข้อผิดพลาด VMWare:ไม่สามารถเข้าถึงไฟล์ได้เนื่องจากถูกล็อค

นอกจากนี้ คุณอาจเห็นข้อผิดพลาดนี้:

An error occurred while consolidating disks: msg.snapshot.error-DISKLOCKED.

ข้อผิดพลาด “ไม่สามารถเข้าถึงไฟล์เนื่องจากถูกล็อค” มักปรากฏขึ้นเมื่อ:

  • ไฟล์บางไฟล์ของเครื่องเสมือนที่ขับเคลื่อนด้วยเครื่องเสมือนมีแท็กที่ระบุว่าถูกล็อกโดยโฮสต์ ESXi อื่น
  • เมื่อเพิ่มดิสก์เสมือนลงในอุปกรณ์สำรองข้อมูลและเซสชันการสำรองข้อมูลล้มเหลว

ในการค้นหาแหล่งที่มาของการล็อกและปลดล็อก คุณต้องระบุไฟล์ที่ถูกล็อกก่อน

  1. ใช้ไคลเอ็นต์ SSH เชื่อมต่อกับโฮสต์ ESXi ที่ลงทะเบียนปัญหา VM ไว้
  2. ไปที่ไดเรกทอรีที่มีไฟล์เครื่องเสมือน: cd /vmfs/volumes/VMFS_DATASTORE_NAME/LOCKED_VM
  3. ค้นหาข้อผิดพลาดการรวมและการล็อกไฟล์ใน vmware.log: cat vmware.log | grep lock
  4. บันทึกจะมีข้อผิดพลาดดังนี้:
    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

    ข้อผิดพลาด VMWare:ไม่สามารถเข้าถึงไฟล์ได้เนื่องจากถูกล็อค

  5. ในตัวอย่างนี้ คุณจะเห็นว่าไฟล์ mun-web01_1-000002.vmdk ถูกล็อค
  6. โดยใช้คำสั่งต่อไปนี้ คุณสามารถแสดงสแน็ปช็อตเชนปัจจุบันโดยเริ่มจากอันที่ระบุไปยังแฟลตดิสก์: vmkfstools -qv10 mun-web01_1-000002.vmdk
  7. จากนั้นรับข้อมูลเกี่ยวกับสแนปชอตและเจ้าของ (เจ้าของ RO): 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

ข้อผิดพลาด VMWare:ไม่สามารถเข้าถึงไฟล์ได้เนื่องจากถูกล็อค

 เจ้าของ RO บรรทัดแสดงที่อยู่ MAC ของอะแดปเตอร์เครือข่ายโฮสต์ ESXi ที่ล็อกไฟล์สแน็ปช็อต (ที่อยู่ MAC ถูกเน้นบนภาพหน้าจอ) นอกจากนี้ ให้สังเกตค่าโหมด:

  • โหมด 1 – ล็อกการอ่าน/เขียน (เช่น ของ VM ที่เปิดใช้งาน)
  • โหมด 2 – มักจะหมายความว่าดิสก์เสมือนถูกล็อคโดยแอปพลิเคชันสำรอง

หากต้องการค้นหาเซิร์ฟเวอร์ ESXi หากทราบที่อยู่ MAC คุณสามารถใช้คำสั่ง 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:ไม่สามารถเข้าถึงไฟล์ได้เนื่องจากถูกล็อค

โซลูชันที่คล้ายกันเมื่อคุณต้องการค้นหา VM ใน VMWare vCenter ด้วยที่อยู่ IP หรือ MAC

ชื่อโฮสต์ ESXi จะแสดงใน VMHost สนาม

นอกจากนี้ คุณยังสามารถแสดงตาราง ARP ได้โดยตรงจากโฮสต์ ESXi และรับที่อยู่ IP และ MAC ของเซิร์ฟเวอร์ ESXi อื่นๆ ทั้งหมดในเครือข่าย VMkernel:

esxcli network ip neighbor list

ข้อผิดพลาด VMWare:ไม่สามารถเข้าถึงไฟล์ได้เนื่องจากถูกล็อค

หากต้องการปลดล็อกไฟล์ VM ให้รีสตาร์ทโฮสต์ ESXi ที่คุณพบ (ย้าย VM ทั้งหมดจากไฟล์นั้นโดยใช้ VMotion ล่วงหน้า) หากคุณไม่สามารถรีสตาร์ทโฮสต์ได้ ให้รีสตาร์ท Management Agent (hostd) ในโหมดการบำรุงรักษาจากคอนโซล SSH ของโฮสต์:

services.sh restart

จากนั้นลองรวมดิสก์หรือลบสแนปชอต VM อีกครั้ง

ไม่สามารถเข้าถึงไฟล์ได้เนื่องจากถูกล็อค ” มักเกิดข้อผิดพลาดใน Veeam Backup &Replication เมื่อใช้พร็อกซีเซิร์ฟเวอร์ Veeam เนื่องจากข้อผิดพลาดในการสำรองข้อมูล Veeam จึงไม่สามารถยกเลิกการต่อเชื่อมดิสก์เครื่องเสมือนได้อย่างถูกต้อง

ในการแก้ไขปัญหาให้เปิดการตั้งค่าของ VM ติดตั้งพร็อกซี Veeam ลบดิสก์ของ VM ที่ล็อกไฟล์จากฮาร์ดแวร์ VM

ตรวจสอบให้แน่ใจว่าคุณได้เลือก “ลบออกจากเครื่องเสมือน ” แทนที่จะเป็น “Remove from virtual machine and delete files from disk” มิฉะนั้น คุณสามารถลบดิสก์ vmdk ของคุณโดยไม่ตั้งใจได้