Cách sử dụng thiết bị USB với máy ảo VMware vSphere

Chức năng chính của một hypervisor là mô phỏng các thiết bị được sử dụng bởi các máy ảo ở cấp độ phần mềm. Các thiết bị như bộ điều khiển ảo, đĩa cứng, ổ đĩa DVD-ROM, card đồ họa, card mạng, thiết bị nhập liệu, v.v., được tạo ra trong một máy ảo. Nhưng nếu bạn muốn kết nối máy in, máy quét, ổ USB, ổ cứng USB, đầu đọc thẻ thông minh USB, khóa bảo mật, khóa giấy phép USB, v.v., thì sao?

Đối với các thiết bị vật lý bên ngoài có giao diện USB, bạn có thể kết nối chúng với một máy ảo đang chạy trên VMware Workstation hoặc một Máy chủ ESXi bằng cách sử dụng tính năng USB passthrough. Bài viết blog này hướng dẫn cách sử dụng tính năng này trong VMware vSphere trên các máy chủ ESXi, bao gồm các yêu cầu và các bước để kết nối các thiết bị USB.

NAKIVO cho sao lưu VMware vSphere

NAKIVO cho sao lưu VMware vSphere

Bảo vệ dữ liệu toàn diện cho các máy ảo VMware vSphere cùng các tùy chọn khôi phục tức thì. Các điểm sao lưu an toàn tại chỗ, ngoài cơ sở và trên đám mây. Các tính năng chống ransomware.

USB Passthrough là gì?

Tính năng USB Passthrough của VMware cho phép bạn kết nối một thiết bị USB vật lý được cắm vào cổng USB trên máy chủ ESXi vật lý với một máy ảo, giống như thể thiết bị USB đó được kết nối trực tiếp với máy ảo. Tính năng Passthrough của VMware có sẵn từ phiên bản ESXi 4.1 trở đi.

Các lý do để sử dụng tính năng Passthrough cho thiết bị USB từ máy chủ ESXi sang hệ điều hành khách (OS) của máy ảo rất đa dạng. Ví dụ, nếu bạn có máy quét hoặc máy in cũ không có trình điều khiển cho các phiên bản mới nhất của hệ điều hành Windows. Bạn có thể cài đặt phiên bản Windows cũ hơn hỗ trợ thiết bị USB đó và kết nối thiết bị này với máy ảo. Một ứng dụng thực tế khác của tính năng này là khi bạn cần sao chép tệp từ/đến ổ cứng USB trực tiếp với tốc độ cao. Có thể xảy ra trường hợp người dùng cần sử dụng phần mềm được bảo vệ bằng khóa cấp phép USB phần cứng trong máy ảo.

Cách hoạt động của USB Passthrough

Có ba thành phần chính cần thiết để USB passthrough hoạt động: bộ điều phối, bộ điều khiển USB và thiết bị USB vật lý.

The arbitrator là một dịch vụ chuyên dụng trên máy chủ ESXi. Bộ điều phối quét các thiết bị USB vật lý được kết nối với máy chủ vật lý và chịu trách nhiệm định tuyến lưu lượng thiết bị USB giữa máy chủ vật lý và máy ảo. Chỉ một máy ảo có thể truy cập thiết bị USB tại một thời điểm. Quyền truy cập vào thiết bị USB được kết nối với một máy ảo sẽ bị chặn đối với các máy ảo khác. Bộ điều phối USB hỗ trợ tối đa 15 bộ điều khiển USB (vSphere 7.0). Dịch vụ Trọng tài được kích hoạt theo mặc định trong ESXi. Bộ điều khiển USB vật lý (

A USB controller ) được sử dụng trên máy chủ ESXi vật lý là bộ điều khiển mà các cổng USB vật lý được kết nối. Bộ điều khiển USB vật lý hoạt động với các thiết bị USB vật lý được cắm vào các cổng USB vật lý trên máy chủ. Bộ điều khiển USB có thể là loại tích hợp (còn gọi là tích hợp và được nhúng vào chip trên bo mạch chủ) hoặc loại ngoại vi (được triển khai dưới dạng thẻ PCI hoặc PCIe được cắm vào các khe tương ứng trên bo mạch chủ máy chủ). Bộ điều khiển USB tích hợp hoạt động như một cầu nối giữa bus USB và bus PCIe (hoặc PCI). Bộ điều khiển USB tích hợp được kết nối vật lý qua số làn PCIe thích hợp với chipset bo mạch chủ.

A virtual USB controller là một thiết bị mô phỏng được tạo ra đặc biệt cho máy ảo chạy trên trình ảo hóa. Bộ điều khiển USB ảo sẽ tương tác với bộ điều khiển USB vật lý khi một thiết bị USB vật lý được truyền từ máy chủ ESXi vật lý sang hệ điều hành khách trong máy ảo. Việc có bộ điều khiển USB ảo trong cấu hình máy ảo là bắt buộc để sử dụng tính năng truyền qua USB trong máy ảo. Tối đa tám bộ điều khiển USB ảo có thể được kết nối với một máy ảo trên một máy chủ ESXi. Nếu bạn cần xóa một bộ điều khiển USB ảo khỏi cấu hình máy ảo, bạn phải xóa tất cả các thiết bị USB được kết nối với bộ điều khiển đó trước. Trình điều khiển USB của VMware được cài đặt trên hệ điều hành khách sau khi một bộ điều khiển USB ảo được thêm vào cấu hình máy ảo. Thiết bị USB (

A physical USB device ) là bất kỳ thiết bị USB nào có giao diện USB và cổng USB để kết nối với máy tính. Tối đa 20 thiết bị USB có thể được kết nối với một máy ảo hoặc máy chủ ESXi.

Các tiêu chuẩn USB và chế độ bộ điều khiển là:

  • USB 2.0 và USB 1.1 (EHCI+UHCI)
  • USB 3.0 (xHCI) Phiên bản phần cứng máy ảo 8 trở lên

Sau khi kết nối một thiết bị USB vật lý với máy ảo bằng tính năng VMware USB passthrough, bạn có thể cần cài đặt trình điều khiển cho thiết bị USB đã kết nối trên hệ điều hành khách.

Yêu cầu cho USB 3.0

USB 3.0 có sẵn cho các máy chủ ESXi bắt đầu từ bản vá 3 của VMware vSphere 5.5. Điều này yêu cầu trình điều khiển USB xHCI trong cấu hình máy ảo. Các yêu cầu hệ điều hành để sử dụng tính năng USB 3.0 passthrough là: Windows 8.1 trở lên, Windows Server 2012 R2 trở lên hoặc Linux với nhân Linux 2.6.35 trở lên. Các thiết bị USB 3.1 được hỗ trợ ở tốc độ tối đa bắt đầu từ VMware vSphere 7.0.

Giới hạn của tính năng USB Passthrough

Có một số giới hạn mà bạn nên lưu ý trước khi bắt đầu sử dụng tính năng USB passthrough:

  • Một ổ USB không thể được sử dụng làm ổ khởi động cho máy ảo.
  • Nếu một ổ USB được sử dụng để Khởi động ESXi, ổ USB này không thể được kết nối với máy ảo.
  • Máy ảo yêu cầu phiên bản phần cứng ảo 7 trở lên.

Một số thiết bị USB có thể không được VMware hỗ trợ:

  • Bộ chia USB
  • Thiết bị âm thanh và máy quay video sử dụng truyền dữ liệu không đồng bộ
  • Một số bàn phím và chuột USB (thông tin chi tiết có thể tìm thấy trong bài viết VMware 1021345)
  • Một số thẻ thông minh sử dụng CCID có thể cần cấu hình bổ sung để kết nối với máy ảo.

vMotion có thể thực hiện được đối với các máy ảo có thiết bị USB passthrough được kết nối. Sau khi bạn cấu hình máy ảo (VM) đúng cách và kích hoạt vMotion, các thiết bị USB sẽ vẫn được kết nối với máy ảo sau khi di chuyển sang một máy chủ ESXi khác.

Có một số hạn chế của vMotion đối với các máy ảo sử dụng đĩa USB passthrough:

  • Chức năng Quản lý Năng lượng Phân tán (DPM) không được hỗ trợ vì không thể tắt nguồn máy chủ ESXi để tiết kiệm năng lượng mà không ngắt kết nối thiết bị USB khỏi máy ảo (thiết bị USB sẽ bị ngắt kết nối nếu máy chủ được tắt nguồn bằng DPM). DPM nên được tắt trên máy chủ này.
  • Khả năng chịu lỗi không được hỗ trợ.
  • Máy ảo không thể bị tạm dừng hoặc tắt nguồn (nếu không, các thiết bị USB sẽ bị ngắt kết nối khỏi máy ảo và chỉ có thể được kết nối lại sau khi di chuyển máy ảo trở lại máy chủ ESXi ban đầu mà các thiết bị USB được kết nối vật lý). Máy ảo phải được di chuyển thủ công sang máy chủ ESXi có thiết bị USB được kết nối khi bạn cần bật nguồn cho máy ảo này. Các máy khách Linux đã được khôi phục có thể gắn các thiết bị USB tại các điểm gắn khác nhau sau khi kết nối lại.
  • Các máy chủ ESXi có máy ảo sử dụng thiết bị USB passthrough phải có thể truy cập qua giao diện kernel máy ảo vmk0 (cho mạng quản lý) và cổng TCP 902.

Ngắt kết nối các thiết bị USB khỏi máy ảo trước khi sử dụng tính năng hot-add và thêm CPU, bộ nhớ hoặc thiết bị PCI. Nếu không, các thiết bị USB sẽ tự động bị ngắt kết nối và một số dữ liệu có thể bị mất khi sử dụng tính năng hot-add. Nếu bạn tạm dừng một máy ảo và sau đó khôi phục nó, các thiết bị USB sẽ bị ngắt kết nối và sau đó được kết nối lại với máy ảo.

Về việc tạo ổ đĩa USB ảo hoặc ổ đĩa flash ảo để gắn vào máy ảo chạy ESXi hoặc VMware Workstation, tương tự như việc gắn ổ đĩa mềm ảo hoặc đĩa CD/DVD, tùy chọn này hiện không được hỗ trợ.

Cách kết nối thiết bị USB với máy ảo

Bây giờ chúng ta đã nắm vững lý thuyết, chúng ta có thể chuyển sang phần thực hành và xem cấu hình trong VMware vSphere.

  1. Cắm thiết bị USB vào cổng USB trên máy chủ ESXi của bạn. Trong trường hợp của tôi, tôi sẽ cắm một ổ đĩa flash USB.
  2. Sau đó, bạn có thể kiểm tra xem thiết bị USB đã được kết nối với ESXi hay chưa trong giao diện dòng lệnh ESXi:

    lsusb

  3. Như bạn có thể thấy trong ảnh chụp màn hình sau, ổ đĩa flash của tôi hiện đã được kết nối với máy chủ ESXi.

    Configuración de dispositivos USB VMware

  4. Dịch vụ USB arbiter phải đang chạy. Bạn có thể kiểm tra trạng thái của dịch vụ bằng lệnh:

    chkconfig usbarbitrator --list

  5. Nếu bộ điều phối USB bị dừng, bạn có thể khởi động nó bằng lệnh `

    /etc/init.d/usbarbitrator start

    `. Lưu ý: Đọc thêm về ESXiCLI tại bài viết trên blog.

    Máy ảo (VM) nằm trên máy chủ ESXi được quản lý bởi vCenter Server trong ví dụ của tôi. Windows được cài đặt làm hệ điều hành khách trên máy ảo của tôi. Mở VMware vSphere Client, truy cập Hosts and Clusters. Trong ngăn Navigator, chọn máy ảo mà bạn muốn kết nối thiết bị USB bằng tính năng passthrough. Máy ảo phải đang tắt nguồn. Bạn phải Cài đặt VMware Tools trên hệ điều hành khách.

  6. Sau khi chọn máy ảo, nhấp vào Actions > Edit settings.

    Editar ajustes de VM para conectar unidad USB a máquina virtual VMware

  7. Trong cửa sổ Edit Settings , kiểm tra xem có bộ điều khiển USB trong cài đặt máy ảo hay không. Nếu bộ điều khiển USB bị thiếu, hãy nhấp vào Add New Device > USB Controllervà chọn loại bộ điều khiển USB (USB 2.0 hoặc USB 3.0).
  8. Nếu bộ điều khiển USB đã có sẵn, bạn cần thêm thiết bị USB được kết nối với máy chủ ESXi vào máy ảo của mình. Nhấp vào A dd New Device > Host USB Device.Añadir un dispositivo USB VMware a una máquina virtual
  9. Một chuỗi mới được thêm vào cấu hình máy ảo. Trong chuỗi thiết bị New USB Host , hãy chọn thiết bị USB mà bạn muốn kết nối với máy ảo. Hiện tại, tôi có hai ổ đĩa flash USB được kết nối với máy chủ ESXi vật lý của mình, và tôi đang kết nối ổ đĩa flash Verbatim với máy ảo (sản phẩm Verbatim 0x0302). Nếu bạn cần kích hoạt hỗ trợ vMotion, hãy mở rộng New USB Host thiết bị và chọn hộp kiểm “Support vMotion while device is connected” . Lưu ý các yêu cầu và giới hạn của vMotion. Nhấp vào OK để lưu cài đặt và đóng cửa sổ này.Configuración VM USB - selección de un dispositivo USB que debe conectarse a una VM
  10. Khởi động máy ảo. Sau khi hệ điều hành khách được tải, hãy đợi cho đến khi nó khởi động và nhận diện ổ USB. Tiếp theo, mở Trình quản lý thiết bị Windows. Nhấp chuột phải vào My Computer và từ menu ngữ cảnh, nhấp vào Manage. Trong cửa sổ Quản lý máy tính , nhấp vào Device Manager và mở rộng phần Disk drives (vì chúng ta đã kết nối ổ USB, thiết bị này sẽ xuất hiện trong danh mục thiết bị này). Chúng ta có thể thấy thiết bị USB Verbatim, đó là tên của ổ USB của tôi được kết nối với máy ảo bằng tính năng VMware USB Passthrough.
  11. Mở Disk Management trong cửa sổ Quản lý máy tính và đảm bảo rằng ổ USB đã được gán một ổ đĩa. Trong trường hợp của tôi, mọi thứ đều hoạt động bình thường, và giờ đây tôi có thể sao chép dữ liệu từ ổ USB sang đĩa ảo của một máy ảo (VM) trong hệ điều hành khách Windows và ngược lại.ESXi USB passthrough está funcionando y una unidad USB está conectada a una VM

VMware PCI Passthrough

Nếu thiết bị USB mà bạn muốn kết nối với máy ảo thông qua tính năng VMware USB Passthrough không được VMware hỗ trợ, bạn có thể thử sử dụng tính năng PCI Passthrough và kết nối toàn bộ bộ điều khiển USB vật lý có giao diện PCI với máy ảo.

Nếu máy chủ ESXi của bạn có bộ điều khiển USB được cắm vào khe PCI, bạn có thể truyền thiết bị PCI này sang máy ảo. Tính năng VMware PCI passthrough còn được gọi là VMDirectPass. Phương pháp này ít tiện lợi hơn so với việc sử dụng USB passthrough, nhưng nó có thể giúp bạn hoàn thành tác vụ.

Yêu cầu

Công nghệ Intel Directed I/O hoặc AMD I/O Virtualization Technology (AMD IOMMU) phải được phần cứng máy chủ hỗ trợ và kích hoạt trong UEFI/BIOS. Nếu máy chủ của bạn chỉ có một bộ điều khiển USB, bạn nên kết nối thêm một bộ điều khiển USB để tránh mất kết nối với các thiết bị USB được sử dụng bởi máy chủ ESXi vật lý.

Hạn chế và giới hạn:

  • Bạn không thể tạm dừng máy ảo.
  • Máy ảo không thể được di chuyển sang các máy chủ ESXi khác bằng vMotion.
  • Bản sao lưu máy ảo không được hỗ trợ.

Hãy xem quy trình kết nối thiết bị USB với máy ảo bằng PCI passthrough và kết nối toàn bộ bộ điều khiển USB mà thiết bị USB được kết nối với máy ảo.

  1. Để xác định thiết bị USB và bộ điều khiển USB mà thiết bị USB của bạn được kết nối (nếu có nhiều bộ điều khiển USB được cài đặt trên máy chủ của bạn), hãy sử dụng lệnh này:

    lsusb -v | grep -e Bus -e iSerial

  2. Tìm chuỗi có tên thiết bị USB được kết nối với bộ điều khiển USB và xác định ID bộ điều khiển (ví dụ: bus002).
  3. Bạn có thể kiểm tra nhật ký VMkernel khi kết nối thiết bị USB với máy chủ ESXi:

    tail -f /var/log/vmkernel.log | grep -i USB

  4. Mở VMware vSphere Client và truy cập Hosts and Clusters.
  5. Chọn máy chủ ESXi nơi máy ảo của bạn đang chạy (nơi bạn cần kết nối thiết bị USB).
  6. Truy cập tab Configure và chọn PCI Devices trong phần Hardware .
  7. Tìm và chọn bộ điều khiển USB cần thiết từ danh sách các thiết bị PCI bằng cách sử dụng ID mà bạn đã phát hiện trước đó.
  8. Trạng thái của trình điều khiển đã chọn giờ sẽ thay đổi thành Available .
  9. Nhấn OK để lưu cài đặt.
  10. Khởi động lại máy chủ ESXi để các thay đổi có hiệu lực.
  11. Đảm bảo máy ảo của bạn Máy ảo đã tắt nguồn. Vào phần Cài đặt máy ảo, nhấp vào “ Add New Device > PCI device > Add”. Chọn bộ điều khiển USB của bạn từ menu thả xuống bằng cách sử dụng ID chính xác.
  12. Bật nguồn máy ảo. Kiểm tra các thiết bị trong hệ điều hành khách. Nếu Windows được cài đặt trên máy ảo, hãy mở Trình quản lý thiết bị và kiểm tra trình điều khiển và thiết bị lưu trữ.

Kết nối Thẻ thông minh USB

Một số thiết bị USB có lớp CCID phù hợp có thể không được hỗ trợ theo mặc định để kết nối với máy ảo. Thông báo lỗi “Không thể kết nối ‘path:0/1/6/1’ với máy ảo này. Thiết bị không được tìm thấy”. Trong nhật ký, bạn có thể thấy thông báo:

(vmx-vcpu-0) chưa yêu cầu giao diện 0 trước khi sử dụng

PCSCD là daemon ESXi điều khiển đầu đọc thẻ thông minh. Quyền truy cập vào thẻ thông minh USB bị vô hiệu hóa cho các máy ảo để tránh xung đột, vì máy chủ ESXi yêu cầu một thẻ thông minh. Do đó, tính năng truyền qua USB không thể sử dụng với cài đặt mặc định cho thẻ thông minh USB. Bạn phải chỉnh sửa cấu hình máy chủ ESXi để kích hoạt tính năng USB passthrough cho thẻ thông minh USB.

  1. Dừng máy ảo. Mở cài đặt máy ảo, chọn tab VM Options và nhấp vào Edit Configuration.

    Edición de las opciones de VM para la conexión de la tarjeta inteligente USB de VM

  2. Trong cửa sổ Configuration Parameters , nhấp vào Add Configuration Params.

    Editing VM USB configuration for a USB smart card reader

    Ngoài ra, bạn có thể chỉnh sửa tệp cấu hình VMX của máy ảo trong giao diện dòng lệnh bằng cách kết nối với bảng điều khiển ESXi thông qua trình khách SSH.

  3. Chỉnh sửa hoặc thêm dòng này vào cấu hình máy ảo nếu tham số này không có sẵn:

    usb.generic.allowCCID = "TRUE"

  4. Lưu cài đặt máy ảo.
  5. Dừng dịch vụ PCSCD bằng lệnh này trên dòng lệnh ESXi:

    sudo /etc/init.d/pcscd stop

  6. Đảm bảo dịch vụ PCSCD không đang chạy:

    ps | grep pcscd

  7. Khởi động máy ảo và kiểm tra các thiết bị để xác minh rằng đầu đọc thẻ thông minh USB đã được kết nối với máy ảo.

Kết luận

Bạn có thể kết nối các thiết bị khác nhau được kết nối với các cổng USB trên các máy chủ ESXi vật lý trực tiếp với các máy ảo và sử dụng chúng trong hệ điều hành khách của máy ảo giống như cách bạn sử dụng các thiết bị USB này trên các máy tính vật lý thông thường. Bạn thậm chí có thể di chuyển các máy ảo sử dụng các thiết bị USB bên ngoài được kết nối với máy chủ ESXi chính sang một máy chủ khác bằng vMotion. Mặc dù có một số hạn chế, tính năng truyền qua USB của VMware mang lại nhiều khả năng và tính linh hoạt hơn trong các tình huống khác nhau. Việc sao lưu máy ảo VMware rất quan trọng đối với những người sử dụng VMware vSphere. Hãy tải xuống NAKIVO Backup & Replication và trải nghiệm giải pháp bảo vệ dữ liệu toàn diện này để bảo vệ các máy ảo VMware vSphere cũng như các dữ liệu khác trong môi trường của bạn.

1 năm bảo vệ dữ liệu miễn phí: NAKIVO Backup & Replication

1 năm bảo vệ dữ liệu miễn phí: NAKIVO Backup & Replication

Triển khai trong vòng 2 phút và bảo vệ dữ liệu ảo, trên đám mây, vật lý và SaaS. Các tùy chọn sao lưu, nhân bản và khôi phục tức thì.

People also read