Trên máy chủ VMWare ESXi, bạn có thể chuyển hướng thiết bị USB cục bộ / ổ đĩa flash / đĩa được đính kèm bên trong máy ảo. Công nghệ này được gọi là USB Passthrough và có sẵn bắt đầu từ ESXi 4.1.
Giả sử, nhiệm vụ của chúng ta là chuyển hướng ổ USB 3.0 bên ngoài được kết nối cục bộ với máy chủ ESXi 6.7 thành một máy ảo. Chúng tôi cần truy cập vào một ổ đĩa để nhanh chóng sao chép dữ liệu trực tiếp từ máy ảo sang ổ USB riêng biệt.
Chuyển qua USB VMWare
Chế độ Passthrough cho phép chuyển hướng thiết bị vật lý được kết nối với máy chủ ESXi trực tiếp đến hệ điều hành khách của máy ảo. Trong chế độ Passthrough, bạn có thể cấp cho máy ảo quyền truy cập trực tiếp vào ổ USB, modem hoặc bộ điều khiển PCI / USB.
Để chuyển hướng thiết bị USB trong ESXi, bạn sẽ cần một số thành phần chính:
- Trọng tài viên là một dịch vụ riêng biệt trên máy chủ ESXi có chức năng quét các thiết bị USB vật lý được kết nối, định tuyến lưu lượng thiết bị USB giữa máy chủ và máy ảo và kiểm soát quyền truy cập vào thiết bị (chỉ một máy ảo có thể sử dụng thiết bị USB được kết nối). Bộ điều khiển USB có thể theo dõi đồng thời 15 bộ điều khiển USB.
- Bộ điều khiển USB - bộ điều khiển uSB phải được cài đặt trên cả máy chủ vật lý và máy ảo.
Để cài đặt bộ điều khiển USB cho máy ảo trên VMWare ESXi, hãy mở cài đặt máy ảo và thêm thiết bị mới - bộ điều khiển USB . Khi thêm bộ điều khiển USB, hãy chọn loại của nó:
- USB 2.0 (EHCI + UHCI) - bộ điều khiển hỗ trợ thiết bị USB 2.0 và USB 1.1;
- USB 3.0 (xHCI) - hỗ trợ các thiết bị USB 3.0 nhanh, yêu cầu phần cứng ảo phiên bản 8 trở lên.
Chuyển Thiết bị USB tới ESXi VM
Trong chế độ Truyền qua USB gốc, bạn có thể kết nối thiết bị USB vật lý từ máy chủ với máy ảo VMWare.
Các yêu cầu và hạn chế chính của phương pháp chuyển hướng này:
- Phần cứng ảo 7.0 hoặc mới hơn;
- Bạn có thể cung cấp quyền truy cập trực tiếp vào thiết bị USB chỉ cho một máy ảo;
- Số lượng thiết bị USB được chuyển hướng tối đa cho một máy ảo là 20;
- Khởi động máy ảo từ thiết bị USB đính kèm không được hỗ trợ.
Sau khi thêm bộ điều khiển USB ảo cho máy ảo, bạn có thể chuyển hướng ổ USB được kết nối với máy chủ:
- Thêm một Thiết bị USB máy chủ mới trong cài đặt máy ảo và nhấp vào Thêm;
- Chọn một thiết bị USB đã kết nối từ danh sách thả xuống để thêm nó;
- Để bật hỗ trợ vMotion cho máy ảo có ổ USB vật lý được kết nối, hãy chọn mục Hỗ trợ vMotion khi thiết bị được kết nối tùy chọn;
- Sau đó, ổ USB sẽ xuất hiện trong hệ điều hành khách của máy ảo.
- Bạn không thể dừng hoặc tạm dừng một máy ảo. Nếu bật máy, bạn phải di chuyển máy theo cách thủ công sang máy chủ mà thiết bị USB được kết nối;
- Chế độ DPM không được hỗ trợ vì vCenter có thể tắt máy chủ bằng thiết bị USB được kết nối để tiết kiệm điện năng;
- Các máy chủ ESXi có máy ảo và thiết bị USB vật lý phải có thể truy cập được qua vmk0 qua Cổng TCP 902.
Nếu khi thêm thiết bị USB mới, ứng dụng vSphere hiển thị thông báo rằng không tìm thấy thiết bị USB nào ( Không có thiết bị USB nào khả dụng ), điều đó có nghĩa là VMWare không hỗ trợ ổ USB của bạn để chuyển hướng trong chế độ chuyển qua USB. Bạn có thể tìm thấy danh sách các thiết bị USB tương thích trên trang web chính thức của VMWare (danh sách không dài). Kiểm tra “ Thiết bị USB đã được kiểm tra cho Truyền từ Máy chủ ESXi sang Máy ảo trong ESXi 6.7 ”Trong bài viết https://kb.vmware.com/s/article/1021345.
Trong trường hợp này, bạn có thể chuyển hướng toàn bộ bộ điều khiển USB đến một máy ảo từ máy chủ ESXi.
VMware PCI Passthrough (VMDirectPath):Chuyển hướng Bộ điều khiển USB đến VM
Một phương pháp khác kém tiện lợi hơn để cung cấp quyền truy cập vào thiết bị USB vật lý từ máy ảo là chuyển hướng toàn bộ bộ điều khiển USB từ máy chủ ESXi. Chế độ này được gọi là VMDirectPath . Để sử dụng nó, chipset máy chủ của bạn phải hỗ trợ Intel Directed I / O hoặc Công nghệ ảo hóa AMD I / O (AMD IOMMU) và chế độ này được bật trong cài đặt BIOS / UEFI.
Nếu chỉ có một bộ điều khiển USB được cài đặt trên một máy chủ và bạn chuyển hướng nó đến một máy ảo, bạn sẽ không thể sử dụng các thiết bị USB được kết nối cục bộ với máy chủ của mình (bàn phím, chuột). Trong trường hợp này, tốt hơn là nên thêm một bộ điều khiển USB PCI bổ sung vào máy chủ.
Nếu máy chủ có nhiều bộ điều khiển USB, bạn có thể xác định thiết bị USB được kết nối và số bộ điều khiển thông qua vỏ ESXi. Để hiển thị danh sách các thiết bị USB:
# lsusb -v | grep -e Bus -e iSerial
Tìm dòng liên quan đến ổ USB trong đầu ra. Ví dụ:
Bus 002 Device 003: ID 0280:a00c Toshiba America Info. Systems, Inc.
Sau đó, xác định trung tâm gốc và iSerial của nó bằng số bộ điều khiển ( Bus02 , trong trường hợp này):
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 3.0 root hub iSerial 1 0000:00:1D.0Nếu bạn không thấy ổ USB của mình, hãy thử ngắt kết nối thực và kết nối lại. Xem
vmkernel.log
để tìm hiểu xem USB Arbitrator đã phát hiện ra ổ đĩa của bạn hay chưa:
tail -f /var/log/vmkernel.log | grep -i USB
cpu0:33271)<6>usb 4-2: new SuperSpeed USB device number 5 using xhci_hcd cpu0:33271)<6>usb 4-2: New USB device found, idVendor=0480, idProduct=b207 cpu0:33271)<6>usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 cpu0:33271)<6>usb 4-2: Product: External USB 3.0 cpu0:33271)<6>usb 4-2: Manufacturer: TOSHIBA cpu0:33271)<6>usb 4-2: SerialNumber: 20180528012427F cpu0:33271)<6>usb 4-2: Vendor: 0x0480, Product: 0xb207, Revision: 0x0315 cpu0:33271)<6>usb 4-2: Interface Subclass: 0x06, Protocol: 0x50 cpu0:33271)WARNING: LinScsiLLD: scsi_add_host:573: vmkAdapter (usb-storage) sgMaxEntries rounded to 255. Reported size was 65535 cpu0:33271)<6>usb-storage 4-2:1.0: interface is claimed by usb-storage cpu0:33271)<6>usb 4-2: device is not available for passthrough cpu0:33271)<6>usb 4-2: usbfs: registered usb0405 cpu0:33207)<6>usb-storage 4-2:1.0: suspended
Nếu máy chủ ESXi của bạn không phát hiện thấy ổ USB, hãy đảm bảo rằng usbarbitrator
dịch vụ đang chạy:
#chkconfig usbarbitrator --list
Chỉ dừng dịch vụ quản trị viên tiện ích nếu bạn muốn truy cập trực tiếp vào thẻ USB từ ESXi shell để sao chép tệp.
Vì vậy, chúng tôi đã có số của bộ điều khiển USB được chuyển hướng đến máy ảo.
- Để chuyển hướng một bộ điều khiển USB vật lý, hãy chọn máy chủ ESXi mà máy ảo của bạn đang chạy và đi tới Quản lý -> Cài đặt -> Thiết bị PCI -> Chỉnh sửa ;
- Trong danh sách các thiết bị PCI, hãy chọn bộ điều khiển USB được yêu cầu theo ID của nó (trong ví dụ của tôi, nó là
00:1D.0
, bộ điều khiển được gọi làC610/X99 series chipset USB Enhanced Host Controller #1 Intel Corporation
); - Trạng thái của bộ điều khiển USB phải thay đổi từ Không khả dụng ( Thiết bị này hiện không khả dụng cho máy ảo sử dụng ) thành Có sẵn ( Thiết bị này khả dụng cho máy ảo sử dụng ). Bấm OK;
- Để lưu các thay đổi, hãy khởi động lại máy chủ ESXi của bạn;
- Sau khi khởi động máy chủ, hãy tắt máy ảo của bạn và thêm một thiết bị mới ( Thiết bị mới -> Thiết bị PCI -> Thêm ). Chọn bộ điều khiển USB của bạn trong danh sách thả xuống (ví dụ:
0000:00:1D| Intel Corporation USB Chipset…
); Nếu khi thêm thiết bị PCI, thông báo sau xuất hiện trong cài đặt máy ảo:“Warning: The VM will not power on until its memory reservation equals its memory size
”, Dành một số RAM cho máy ảo của bạn. - Bật nguồn máy ảo và đảm bảo rằng ổ USB đã xuất hiện trong hệ điều hành khách. Trong trường hợp của tôi, ổ USB được kết nối “ Thiết bị USB 3.0 bên ngoài Toshiba ”Đã xuất hiện trong Windows Server 2012 R2 khách.
Trong chế độ VMDirectPath, bạn có thể chuyển hướng tối đa hai thiết bị PCI vật lý đến một máy ảo.
Có một số hạn chế đối với máy ảo có thiết bị PCI được chuyển hướng:bạn không thể tạm dừng máy ảo (Suspend), thực hiện vMotion với máy chủ khác (điều đó là hợp lý, vì bạn bị ràng buộc với bộ điều khiển vật lý) hoặc tạo ảnh chụp nhanh.Hyper-V cũng hỗ trợ chuyển hướng thiết bị USB vật lý sang máy ảo.