Computer >> Hướng Dẫn Máy Tính >  >> Phần Mềm >> Máy Ảo

Không thể Unmount/Xóa VMFS Datastore: The Resource Is in Use

Trong quá trình di chuyển file máy ảo từ storage HP MSA 2000 cũ sang hệ thống lưu trữ mới Dell EMC Unity (cả hai kết nối với host ESXi qua SAN), gặp vấn đề khi cố gắng xóa VMFS Datastore trống trong VMWare vSphere. Khi unmount VMFS Datastore từ host ESXi, thông báo lỗi datastore vẫn đang được sử dụng/busy:

Unmount VMFS volume vmesxi2.woshub.com. The resource 'Datastore Name: MSA2000_LUN1 VMFS uuid: xxxxx--xxxxx-x-xxxxx-xxxx' is in use. Cannot unmount volume Datastore Name VMFS “file system is busy”.

Dựa trên lỗi, rõ ràng VMFS datastore không thể xóa vì host ESXi hoặc vSphere vẫn dùng storage để ghi dữ liệu. Theo tài liệu VMWare, khi xóa LUN từ vSphere nên kiểm tra:

  • Không có file VM, template, snapshot hoặc ISO image trên VMFS datastore (phải migrate VM sang datastore khác, power off và xóa, hoặc unregister VM trong vSphere);
  • Storage I/O Control bị tắt cho datastore;
  • Datastore không phải phần của Datastore Cluster;
  • LUN không dùng làm thiết bị RDM;
  • VMFS datastore không dùng lưu dữ liệu vSphere HA, Storage DRS, log, dump (/vmkdump/), dữ liệu vSAN (/vsantraced/), dữ liệu hỗ trợ kỹ thuật (scratch partition), hoặc file swap máy ảo.

VM đã di sang datastore mới dùng Storage vMotion. Xem file/thư mục còn lại trên VMFS datastore:

Thấy logdir (thư mục log), sdd.sf (mô tả thiết bị SCSI), dbsData (dữ liệu distributed virtual switch) và naa… (metadata VMFS).

Trong trường hợp của tôi, log ESXi host vẫn nằm trên VMFS datastore (Scratch Location). Kiểm tra xem datastore có được chỉ định làm vị trí log trong cài đặt ESXi host không. Vào Manage → Settings → Advanced System Settings. Tìm ScratchConfig.CurrentScratchLocation và Syslog.global.logDir và nếu VMFS datastore được chỉ định, đổi đường dẫn thư mục log.

Khởi động lại ESXi host hoặc restart dịch vụ Syslog Server trên host.

Thử unmount datastore từ host ESXi lại. Vào Manage → Storage → Storage Device. Tìm LUN trong danh sách, chọn và nhấp Detaches the selected device from the host.

Trong trường hợp tôi lỗi lại xảy ra:
Detach SCSI LUN The resource is in use.

Khá lâu tìm ai đang dùng datastore này và quyết định cách dễ nhất là xóa bảng phân vùng của VMFS datastore (tất nhiên phải rất cẩn thận và chắc chắn xóa đúng datastore).

  1. Kết nối SSH đến bất kỳ ESXi host nào có VMFS store mount;
  2. Copy ID datastore từ giao diện vSphere, kiểm tra trên host ESXi thiết bị và đường dẫn VMFS store khớp nào: esxcfg-scsidevs -c | grep naa.6001438005df0dee0000700004be0000
    naa.6001438005df0dee0000700004be0000 Direct-Access /vmfs/devices/disks/naa. 6001438005df0dee0000700004be0000 512000MB NMP HP Fibre Channel Disk (naa.6001438005df0dee0000700004be0000)
    esxcfg-scsidevs -m | grep naa.6001438005df0dee0000700004be0000
    naa.6001438005df0dee0000700004be0000:1 /vmfs/devices/disks/naa.6001438005df0dee0000700004be0000:1 570e5298-08f4c74e-ca3a-b4b52f5e2b38 0 MSA2000_LUN1
  3. Xem dung lượng bận trên VMFS datastore (gần như trống): df -h | grep MSA2000_LUN1
    VMFS-5 499.8G 1.4G 498.3G 0% /vmfs/volumes/MSA2000_LUN1
  4. Đảm bảo tên datastore và store ID khớp LUN muốn xóa;
  5. Kiểm tra thông tin bảng phân vùng trên datastore: partedUtil getptbl /vmfs/devices/disks/naa.6001438005df0dee0000700004be0000
    gpt 65270 255 63 1048576000 1 2048 1048575966 AA31E02A400F11DB9590000C2911D1B8 vmfs 0
  6. LUN này có một phân vùng đơn với hệ thống file VMFS;
  7. Xóa phân vùng VMFS với ID 1 từ disk (LUN) này. Rất chú ý!!!partedUtil delete /vmfs/devices/disks/naa.6001438005df0dee0000700004be0000 1

Sau khi xóa phân vùng, có thể unmount LUN trong vSphere – Unmount Datastore. Lỗi 'datastore is in use' không còn xuất hiện.

Chọn host ESXi để unmount datastore.

Hoặc làm Detach từ danh sách storage device kết nối trên host ESXi. Trạng thái kết nối sẽ đổi thành Detached.

Sau đó có thể xóa VMFS store (Delete Datastore) và nó biến mất khỏi vSphere.