Tìm kiếm trang web

Truy cập USB Flash Drive từ VMWare ESXi


Đôi khi, bạn có thể cần phải kết nối trực tiếp ổ đĩa flash USB bên ngoài (thanh) với máy chủ VMWare ESXi của mình. Ví dụ: bạn có thể cần nó để sao chép một hình ảnh máy ảo để gửi đến một văn phòng từ xa (nếu kênh WAN giữa các văn phòng chậm hoặc được tải nhiều), để sao lưu các tệp VM vào phương tiện USB bên ngoài, để sao chép tệp ISO hoặc VM sang máy chủ ESXi (khi tốt hơn là không làm quá tải mạng LAN của bạn). Trong bài viết này, chúng tôi sẽ trình bày cách kết nối ổ flash USB/thẻ nhớ với máy chủ ESXi dưới dạng kho dữ liệu VMFS hoặc sao chép trực tiếp các tệp từ phân vùng FAT32/NTFS.

Làm cách nào để kết nối Ổ USB ngoài dưới dạng Kho dữ liệu VMFS trong VMWare ESXi?

Giả sử bạn muốn kết nối ổ USB với máy chủ ESXi và tạo kho dữ liệu VMFS trên đó để sao chép/di chuyển tệp và hình ảnh của máy ảo một cách thuận tiện.

Chính thức, VMWare không hỗ trợ các ổ USB ngoài dưới dạng kho dữ liệu VMFS. Tuy nhiên, nó hoạt động và bạn có thể sử dụng nó. Ngoài ra, ESXi không hỗ trợ các thiết bị USB lớn hơn 2 TB.

Trong VMWare ESXi 6.5 trở lên, phương thức kết nối thiết bị USB với máy chủ đã được thay đổi. Trước đó, một số trình điều khiển (xhci, ehci-hcd, usb-uhci, usb-storage) đã được sử dụng. Sau đó, một trình điều khiển USB duy nhất (vmkusb) đã thay thế tất cả chúng.

  1. Kết nối với bảng điều khiển máy chủ ESXi qua SSH;

  2. Dừng Trọng tài USB. Dịch vụ này được sử dụng để truyền thiết bị USB từ máy chủ ESXi sang máy ảo (Truyền qua USB):

    # /etc/init.d/usbarbitrator stop

    Nếu bạn không muốn bộ phân xử USB khởi động sau khi máy chủ khởi động lại, hãy chạy lệnh:

    # chkconfig usbarbitrator off
  3. Kết nối ổ USB trống với máy chủ ESXi của bạn;

  4. Bạn có thể xác định tên của ổ USB trong nhật ký: /var/log/vmkernel.log hoặc sử dụng /dev/disks:

    # ls /dev/disks/

    Đĩa USB thường có tên mpx.vmhbaX hoặc naa.X.

  5. Tạo bảng phân vùng GPT (GUID) trên ổ USB của bạn:

    # partedUtil mklabel /dev/disks/naa.5000000000000001 gpt
  6. Sau đó tạo một phân vùng trên ổ đĩa của bạn theo cách thủ công. Để làm điều đó, chỉ định khu vực đầu tiên và khu vực cuối cùng trên ổ đĩa. Liệt kê thông tin về các sector của đĩa:

     # partedUtil getptbl /dev/disks/naa.5000000000000001

  7. Khu vực đầu tiên luôn là 2048. Kích thước của khu vực cuối cùng được tính toán dựa trên đầu ra getptbl. Trong ví dụ của tôi, nó được tính như sau:

    121597 * 255 * 63 -1 = 1953455804 

    Nếu có một phân vùng trên ổ đĩa, bạn có thể xóa nó:

    # partedUtil delete /dev/disks/naa.5000000000000001 1
  8. Tạo phân vùng VMFS (GUD của phân vùng như vậy luôn là AA31E02A400F11DB9590000C2911D1B8):

    # partedUtil setptbl /dev/disks/naa.5000000000000001 gpt "1 2048 1953455804 AA31E02A400F11DB9590000C2911D1B8 0"
  9. Sau đó, bạn có thể định dạng phân vùng bằng VMFS6:

    # vmkfstools -C vmfs6 -S USB-HDD-DSDatastore /dev/disks/naa.5000000000000001:1
  10. Mở VMWare vSphere Client đồ họa và chuyển đến Kho lưu trữ. Ổ USB của bạn sẽ xuất hiện trong danh sách các kho dữ liệu có sẵn.

Làm cách nào để sao chép trực tiếp tệp từ ổ USB (NTFS/FAT32) sang ESXi?

Nếu bạn không muốn thay đổi hệ thống tệp trên ổ USB của mình thành VMFS (có một mẹo nhỏ để truy cập VMFS từ Windows), bạn có thể truy cập các tệp trên các phân vùng có định dạng NTFS hoặc FAT32 từ bảng điều khiển ESXi và sao chép các tệp bạn muốn. .

Tắt dịch vụ trọng tài USB trước khi kết nối ổ USB với máy chủ ESXi.

Để truy cập các phân vùng có định dạng FAT32 từ ESXi, bạn có thể sử dụng công cụ mcopy. Để truy cập phân vùng NTFS trên ổ USB, hãy sử dụng ntfscat. Hệ thống tệp Ext3 ban đầu cũng được hỗ trợ. Các hạn chế cơ bản là:

  • Các phân vùng FAT32 và Ext3 có sẵn để đọc và ghi;

  • Ổ đĩa NTFS ở chế độ chỉ đọc (có nghĩa là bạn có thể sao chép dữ liệu từ ổ USB NTFS sang máy chủ lưu trữ ESXi, nhưng không phải ngược lại).

Để sao chép tệp từ thiết bị USB FAT32 sang ESXi, hãy sử dụng lệnh sau:

# /bin/mcopy -i "/dev/disks/naa.5000000000000001:2" ::/some.iso /vmfs/volumes/12345678-ddd654321-4321-aaaabbbb2222/iso/some.iso

Ở đâu

/some.iso

là đường dẫn đến một tệp trên ổ USB của bạn. Đường dẫn thứ hai hiển thị để sao chép tệp trên máy chủ ESXi (ví dụ: trực tiếp tới kho dữ liệu VMFS).

Để sao chép lại một tệp từ ESXi sang USB, chỉ cần trao đổi các đường dẫn trong lệnh.

Vấn đề chính của FAT32 là nó không hỗ trợ các tệp trên 4 GB. Vì vậy, việc sao chép các tệp VMDK của máy ảo là khá khó khăn. Theo quy định, bạn có thể chia tệp nguồn thành một số phần trước khi sao chép (ví dụ: 3 GB):

# split -b 3221225472 /vmfs/volumes/xx/vm1/vm1.vmdk

Sau đó, bạn có thể sao chép tất cả các phần vào ổ USB và nối chúng trên máy chủ ESXi mục tiêu:

# cat vm1* > vm1.vmdk

Để sao chép tệp từ ổ USB có định dạng NTFS sang máy chủ ESXi, lệnh sau được sử dụng:

# /bin/ntfscat -f /dev/disks/naa.5000000000000001:2" some.iso > /vmfs/volumes/12345678-ddd654321-4321-aaaabbbb2222/iso/some.iso

Bạn chỉ có thể sao chép tệp vào ESXi, không thể quay lại. Không thể ghi NTFS bằng ntfscat.

Bài viết liên quan