Cách triển khai thiết bị đồ họa bằng RemoteFX vGPU

Việc cài đặt tính năng tăng tốc video và card đồ họa trên máy tính vật lý để cải thiện hiệu suất và chất lượng hình ảnh là một công việc phổ biến. Nhưng bạn sẽ làm gì khi cần chạy các ứng dụng xử lý video hoặc mô hình hóa 3D trên một máy ảo (VM) và cần tính năng tăng tốc video phần cứng cùng card đồ họa?

Đối với máy ảo, các tài nguyên phần cứng được chia sẻ giữa các máy ảo nhằm đảm bảo việc sử dụng tài nguyên linh hoạt và hợp lý. Nếu một máy ảo đang chạy các ứng dụng nặng, nó có thể tiêu tốn nhiều tài nguyên CPU và bộ nhớ hơn so với các máy ảo khác đang ở trạng thái nhàn rỗi hoặc chạy các tác vụ ít tiêu tốn tài nguyên hơn. Ngoài ra, các máy ảo chỉ sử dụng chức năng video cơ bản để hiển thị dữ liệu theo mặc định. Trong môi trường Microsoft Hyper-V, bạn có thể sử dụng Hyper-V RemoteFX để cho phép các máy ảo chia sẻ tài nguyên của card đồ họa và khả năng tăng tốc 3D.

Đọc bài viết blog này để tìm hiểu về Hyper-V RemoteFX và cách cấu hình RemoteFX trên các máy tính Windows.

NAKIVO cho sao lưu Hyper-V

NAKIVO cho sao lưu Hyper-V

Sao lưu không cần cài đặt phần mềm đại lý, hỗ trợ nhận diện ứng dụng cho Hyper-V. Bảo vệ chống ransomware, khởi động máy ảo ngay lập tức từ bản sao lưu, hỗ trợ các nền tảng ảo hóa và vật lý khác, cùng nhiều tính năng khác.

RemoteFX là gì

RemoteFX là tính năng cho phép các máy ảo Hyper-V chia sẻ một GPU vật lý (bộ xử lý đồ họa). Các tài nguyên của card đồ họa được chia sẻ giữa nhiều máy ảo. Đây là kịch bản tối ưu cho các tác vụ có cường độ cao đột biến khi không cần sử dụng tài nguyên chuyên dụng của card đồ họa liên tục. Hyper-V RemoteFX có thể được sử dụng để triển khai hạ tầng máy tính để bàn ảo (VDI). GPU RemoteFX là một thiết bị ảo được gắn vào máy ảo, chia sẻ tài nguyên của một card đồ họa vật lý được cài đặt trên máy chủ Hyper-V (chia sẻ GPU và bộ nhớ đồ họa).

RemoteFX được giới thiệu trong Windows 7 và đã có sẵn trong Windows 8, Windows 10, Windows Server 2008 R2 SP1, Windows Server 2012 và Windows Server 2016. Tính năng này không có trong Hyper-V Manager trong phiên bản mới nhất của Windows Server 2019 – bạn không thể bật Hyper-V RemoteFX trong giao diện người dùng đồ họa (GUI). Sử dụng RemoteFX giúp giảm tải CPU (bộ xử lý trung tâm) và tăng khả năng mở rộng trong môi trường ảo. Bạn không cần gắn một GPU chuyên dụng cho mỗi máy ảo (VM) khi sử dụng Hyper-V RemoteFX vì các máy ảo có thể chia sẻ GPU một cách động cho tác vụ.

Render video, xử lý hình ảnh nặng, làm việc với các ứng dụng CAD và mô hình hóa 3D là một số trường hợp bạn có thể cần tăng tốc 3D và GPU RemoteFX trong máy ảo. Một GPU hiện đại thích hợp hơn cho xử lý song song so với CPU, xử lý nhiều tác vụ đồng thời và có nhiều lõi xử lý hơn. Số lượng màn hình và độ phân giải sử dụng phụ thuộc vào bộ nhớ video và hiệu năng GPU của card đồ họa. Sử dụng Remote Desktop, không phải VMConnect (Virtual Machine Connection), để kết nối với các máy ảo sử dụng RemoteFX.

Ưu điểm của RemoteFX là có thể sử dụng trên các phiên bản Windows dành cho máy tính để bàn và máy chủ. Mặc dù việc mua một card đồ họa được hỗ trợ và tương thích với phần cứng máy chủ có thể không dễ dàng, hầu hết các máy tính để bàn thường chạy hệ điều hành Windows dành cho khách hàng đều được cài đặt bộ điều hợp đồ họa PCI Express.

Kết thúc hỗ trợ

Có một lỗ hổng bảo mật (CVE-2020-1036) mà tội phạm mạng có thể lợi dụng để thực thi mã từ xa. Hacker có thể thực thi mã từ xa trên máy chủ bằng cách sử dụng các ứng dụng được thiết kế đặc biệt trên một máy ảo (VM) có GPU RemoteFX để tấn công trình điều khiển đồ họa trên máy chủ Hyper-V. Trong trường hợp này, máy chủ không thể xác thực đúng cách đầu vào từ người dùng đã xác thực trên hệ điều hành khách. Microsoft không cung cấp bản vá để khắc phục lỗ hổng này và cho biết đây là một vấn đề về kiến trúc. Do những lo ngại về bảo mật này, Microsoft đã quyết định vô hiệu hóa và gỡ bỏ RemoteFX khỏi tất cả các phiên bản Windows thông qua tính năng cập nhật tự động:

  • RemoteFX vGPU đã bị vô hiệu hóa vào ngày 14 tháng 7 năm 2020 đối với tất cả các phiên bản Windows.
  • RemoteFX vGPU đã bị gỡ bỏ vào ngày 13 tháng 4 năm 2021.

RemoteFX hoạt động trên Windows 10 phiên bản 1803 và các phiên bản Windows trước đó (có thể được cấu hình chỉ với vài cú nhấp chuột trong giao diện người dùng (GUI) của Hyper-V Manager). Sau bản cập nhật KB4571756 (bản cập nhật tích lũy được phát hành vào tháng 9 năm 2020), tính năng này đã bị vô hiệu hóa trong GUI. Do đó, cấu hình RemoteFX trên Windows 10 không khả dụng trong giao diện người dùng (GUI) của Hyper-V Manager trên Windows 10, phiên bản 1809, vì tính năng này đã bị vô hiệu hóa. Trước các bản cập nhật vào tháng 4 năm 2021, RemoteFX GPU phải được kích hoạt trong PowerShell bằng các lệnh đặc biệt.

Yêu cầu của RemoteFX

  • Phiên bản Windows được hỗ trợ trên máy chủ Hyper-V (Windows 7 Ultimate/Enterprise, Windows 8 Ultimate/Enterprise, Windows 10; Windows Server 2008 R2 SP1, Windows Server 2012, Windows Server 2016, Windows Server 2019). Không được cài đặt các bản cập nhật loại bỏ Hyper-V RemoteFX.
  • GPU phải tương thích với DirectX 11 trên máy chủ (DirectX 10 có thể được sử dụng trên Windows Server 2008 và Windows 7 được cài đặt trên máy vật lý). Nếu có nhiều card đồ họa được cài đặt trên máy chủ Hyper-V, chúng phải giống hệt nhau. DirectX 11 có sẵn trên Windows 8.1 và các phiên bản Windows mới hơn trên các máy ảo khách.
  • Bộ xử lý (CPU) phải hỗ trợ SLAT (Second Level Address Translation). Tên của tính năng này là Extended Page Tables (EPT) đối với bộ xử lý Intel và Nested Page Tables (NPT) đối với bộ xử lý AMD.
  • Các hệ điều hành khách được hỗ trợ bao gồm Windows 7 SP1, Windows 8 và 8.1, Windows 10 1703 trở lên, Windows Server 2008 R2, Windows Server 2012, Windows Server 2016 (chỉ trong triển khai một phiên).

Cách cấu hình RemoteFX

Chuẩn bị máy vật lý làm máy chủ Hyper-V. Đảm bảo rằng bạn đã cài đặt trình điều khiển đồ họa cho bộ điều hợp đồ họa trên máy chủ Hyper-V. Bạn nên cài đặt phiên bản ổn định mới nhất của trình điều khiển do nhà cung cấp GPU của bạn cung cấp (ví dụ: NVIDIA hoặc AMD).

Chuẩn bị một máy ảo đang chạy phiên bản Windows được hỗ trợ để sử dụng Hyper-V RemoteFX. Trong ví dụ của tôi, tên của máy ảo là Windows-VM và tên của máy chủ Hyper-V là Hyper-V-prim.

Cài đặt các tính năng cần thiết

Cài đặt dịch vụ Remote Desktop Virtualization Host trên máy chủ Hyper-V.

Mở Server Manager, và nhấp vào Manage > Add Roles and Features.

Trình hướng dẫn Thêm vai trò và tính năng sẽ mở ra.

Installation Type. Chọn Role-based or feature-based installation. Nhấp vào Next ở mỗi bước của trình hướng dẫn để tiếp tục.

Installing roles and features in Windows

Server Selection. Chọn một máy chủ từ nhóm máy chủ. Đảm bảo rằng máy chủ Hyper-V của bạn đã được chọn.

Selecting a server to install a role or feature

Server Roles. Chọn Remote Desktop Services trong danh sách các vai trò. Nếu vai trò Hyper-V chưa được cài đặt, hãy chọn và cài đặt vai trò Hyper-V.

Installing Remote Desktop Services to use Microsoft RemoteFX on Hyper-V

Features. Bỏ qua bước này.

Remote Desktop Services. Đọc phần giải thích và chuyển sang bước tiếp theo.

Role Services. Chọn Remote Desktop Virtualization Host. Bạn có thể đọc mô tả ở khung bên phải.

Installing the Remote Desktop Virtualization Host service to use RemoteFX

Khởi động lại máy chủ Hyper-V khi quá trình cài đặt vai trò hoàn tất.

Cấu hình cài đặt Hyper-V

Mở Hyper-V Manager bằng cách chạy virtmgmt trong dòng lệnh hoặc sử dụng giao diện người dùng Windows. Sau đó mở Hyper-V Settings.

Trong khung điều hướng của cửa sổ Hyper-V Settings , nhấp vào Physical GPUs. Trong menu thả xuống, chọn card đồ họa của bạn, sau đó chọn hộp kiểm Use this GPU with RemoteFX .

Selecting a video card to use the GPU with RemoteFX

Nếu bạn không thể chọn hộp kiểm này, thì card đồ họa của bạn không thể được sử dụng cho RemoteFX, hoặc RemoteFX đã bị vô hiệu hóa.

Dừng máy ảo.

Mở Hyper-V Manager, chọn máy ảo của bạn, nhấp chuột phải vào máy ảo và mở VM Settings.

Trong cửa sổ Cài đặt máy ảo , nhấp vào Add Hardware trong khung bên trái (khung điều hướng). Trong khung bên phải, bạn sẽ thấy danh sách các thiết bị có thể thêm vào máy ảo. Quy trình này tương tự đối với Generation 1 và Máy ảo thế hệ 2.

Nếu RemoteFX 3D Video Adapter đang hoạt động (sử dụng phông chữ màu đen), hãy chọn bộ điều hợp này và nhấp vào Add. Tùy chọn này hoạt động trong các phiên bản Windows cho đến ngày 14 tháng 7 năm 2020, khi các bản cập nhật được cài đặt.

Nếu Windows của bạn đã được cập nhật, tùy chọn RemoteFX 3D Video Adapter sẽ không hoạt động (sử dụng phông chữ màu xám) và bạn không thể thêm bộ điều hợp này trong GUI của Hyper-V Manager. Đồng thời, tùy chọn ” Physical GPUs ” không còn hiển thị trong ” Hyper-V Settings.

Configuring virtual hardware for a VM – adding a RemoteFX 3D Video Adapter

“. Bạn có thể khắc phục điều này trong PowerShell.

Chạy lệnh sau trong PowerShell trên máy chủ Hyper-V để thêm bộ điều hợp video 3D RemoteFX vào máy ảo (VM):

Add-VMRemoteFx3dVideoAdapter -VMName your_VM_name

Nếu lệnh được thực thi thành công, một thông báo cảnh báo sẽ hiển thị.

CẢNH BÁO: Chúng tôi không còn hỗ trợ bộ điều hợp video 3D RemoteFX. Nếu bạn vẫn đang sử dụng bộ điều hợp này, bạn có thể gặp rủi ro bảo mật.

Nếu bạn thấy lỗi: Add-VMRemoteFx3dVideoAdapter: Để kích hoạt thiết bị này, hãy sử dụng Server Manager để cài đặt dịch vụ vai trò Máy chủ ảo hóa Remote Desktop

Dịch vụ ảo hóa Remote Desktop không được cài đặt trên máy chủ Hyper-V. Xem Installing the needed features ở phần trước của bài viết này.

Enabling Windows 10 RemoteFX after installing updates

Như tôi đã đề cập trước đó, nếu các bản cập nhật Windows ngày 14 tháng 7 năm 2020 đã được cài đặt, Microsoft RemoteFX sẽ bị vô hiệu hóa. Nếu bạn có các máy ảo (VM) được cấu hình để sử dụng RemoteFX, chúng sẽ không khởi động được. Lỗi RemoteFX của Windows 10 sau đây sẽ xuất hiện khi cố gắng khởi động một máy ảo trên hệ điều hành Windows 10 đã cài đặt bản cập nhật ngày 14 tháng 7 năm 2020:

Đã xảy ra lỗi khi cố gắng khởi động máy ảo đã chọn:

‘VM-name’ không thể khởi động.

Bộ điều khiển hiển thị 3D tổng hợp (ID bản sao xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx): Không thể bật nguồn với lỗi ‘Không đủ tài nguyên hệ thống để hoàn tất dịch vụ được yêu cầu.’

Máy ảo không thể khởi động vì tất cả các GPU hỗ trợ RemoteFX đều bị vô hiệu hóa trong Hyper-V Manager. Bạn phải kích hoạt ít nhất một GPU.

Một biến thể khác của lỗi:

Máy ảo không thể khởi động vì máy chủ không đủ tài nguyên GPU.

Bạn có thể khắc phục lỗi này trong PowerShell. Phương pháp này áp dụng cho Windows 10 và các phiên bản Windows Server tương ứng. Sử dụng các lệnh trong PowerShell để khắc phục lỗi này và kích hoạt RemoteFX. Chạy lệnh này để kiểm tra thông tin về bộ điều hợp video trên máy chủ Hyper-V:

Get-VMRemoteFXPhysicalVideoAdapter

Tìm chuỗi này:

Enabled: False

Điều này có nghĩa là RemoteFX đã bị tắt. Thay đổi giá trị này thành True.

Windows 10 RemoteFX configuration in PowerShell

Sao chép tên của card đồ họa (trong ví dụ của tôi, NVIDIA GeForce GTX 1060 ).

Chạy lệnh:

Enable-VMRemoteFXPhysicalVideoAdapter -Name "video_card_name"

Nhập tên card đồ họa của bạn.

Thử khởi động máy ảo của bạn bằng RemoteFX một lần nữa. Máy ảo giờ đây sẽ khởi động được.

Lưu ý các lệnh PowerShell sau để quản lý bộ điều hợp video 3D RemoteFX:

Set-VMRemoteFx3dVideoAdapter

Get-VMRemoteFXPhysicalVideoAdapter

Sau khi thêm bộ điều hợp video 3D RemoteFX vào máy ảo, bộ điều hợp này sẽ hiển thị trong danh sách phần cứng của máy ảo với các tùy chọn để thiết lập độ phân giải, số lượng màn hình và bộ nhớ video chuyên dụng.

Nếu bạn không thấy các tùy chọn này trong giao diện người dùng (GUI) của Hyper-V Manager, hãy sử dụng các tham số bổ sung khi thêm bộ điều hợp video RemoteFX vào máy ảo (VM) trong PowerShell, ví dụ:

Set-VMRemoteFx3dVideoAdapter -VMName Windows-VM -MaximumResolution 1024x768 -VRAMSizeBytes 536870912

Nếu Microsoft RemoteFX được cấu hình thành công, trong hệ điều hành Windows khách đang chạy trên máy ảo, bạn sẽ thấy thiết bị Microsoft RemoteFX Graphics Device – WDDM trong phần Display Adapters của Device Manager . Bộ điều hợp video 3D RemoteFX này là một thiết bị ảo chia sẻ tài nguyên của thẻ video vật lý được cài đặt trên máy chủ Hyper-V vật lý bằng cách sử dụng RemoteFX.

Khắc phục sự cố

Đôi khi có thể xảy ra các lỗi khác. Dưới đây là giải thích về một lỗi thường gặp khi người dùng không thể kết nối với máy ảo (VM) đang chạy thông qua Remote Desktop RemoteFX.

Triệu chứng:

  1. Kết nối video từ xa bị ngắt và hiển thị thông báo tương ứng.
  2. RDP không thể kết nối: Phiên Remote Desktop của bạn đã bị kết thúc, có thể do một trong các lý do sau.

Nếu lỗi này xảy ra trên máy ảo của bạn, hãy chỉnh sửa chính sách nhóm trong hệ điều hành Windows trên máy ảo đó.

Nhấp vào Start > Run > gpedit.msc để mở Trình chỉnh sửa chính sách nhóm cho máy tính cục bộ.

Trong khung bên trái của cửa sổ Trình chỉnh sửa chính sách nhóm , điều hướng đến

Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Remote Session Environment > RemoteFX for Windows Server. Nhấp đúp vào Configure RemoteFX trong khung bên phải của cửa sổ.

Một cửa sổ với Cấu hình RemoteFX tính năng mở ra. Chọn Enabled, và nhấp vào OK để lưu cài đặt.

Nhấp đúp vào Use WDDM graphics display driver for Remote Desktop Connections (có sẵn cho Windows 10 phiên bản 1903 và các phiên bản Windows mới hơn).

Trong cửa sổ hiện ra, chọn Disabled, và nhấn OK.

Cập nhật cấu hình chính sách nhóm để áp dụng cài đặt mới bằng lệnh:

gpupdate /force

Khởi động lại máy ảo của bạn. Thử kết nối với máy ảo của bạn bằng Chế độ Phiên Nâng cao.

Cách ngăn chặn việc vô hiệu hóa RemoteFX trên máy chủ Hyper-V

Sau khi bản cập nhật Windows phát hành vào tháng 4 năm 2021 được cài đặt, các máy ảo sử dụng bộ điều hợp video 3D RemoteFX sẽ không khởi động được. Bạn có thể tắt cập nhật tự động trên máy tính Windows theo trách nhiệm của mình để tiếp tục sử dụng RemoteFX. Lưu ý rằng các bản vá bảo mật sẽ không được cài đặt tự động trên máy tính Windows nếu cập nhật Windows bị tắt. Các lỗ hổng chưa được vá là mối đe dọa đối với máy tính của bạn, khiến chúng có nguy cơ bị nhiễm ransomware, virus và các phần mềm độc hại khác.

Bạn có thể tải xuống các bản cập nhật Windows (bản vá) thủ công từ trang web của Microsoft và cài đặt chúng. Tìm hiểu các bản cập nhật Windows nào nhằm loại bỏ RemoteFX và không cài đặt chúng. Hãy xem xét triển khai WSUS (Windows Server Update Services) trong tổ chức của bạn và bỏ chọn các bản cập nhật mà bạn không cần.

Đừng quên sao lưu các máy chủ Windows và máy ảo Hyper-V của bạn. Trong trường hợp xảy ra thảm họa hoặc tấn công ransomware, việc có bản sao lưu sẽ cho phép bạn khôi phục dữ liệu, khôi phục khối lượng công việc và tiếp tục hoạt động trong thời gian ngắn. Sử dụng NAKIVO Backup & Replication để sao lưu các máy vật lý và máy ảo của bạn.

Hãy thử NAKIVO Backup & Replication

Hãy thử NAKIVO Backup & Replication

Đăng ký dùng thử miễn phí để khám phá toàn bộ các tính năng bảo vệ dữ liệu của giải pháp. Dùng thử miễn phí trong 15 ngày. Không có bất kỳ giới hạn nào về tính năng hay dung lượng. Không cần thẻ tín dụng.

Các giải pháp thay thế cho Hyper-V RemoteFX

Microsoft khuyến nghị khách hàng sử dụng DDA thay vì RemoteFX sau tháng 4 năm 2021.

DDA (Discrete Device Assignment) là tính năng cho phép bạn kết nối một thiết bị (trong trường hợp của tôi là thiết bị PCI Express) trực tiếp với một máy ảo (VM). Đối với card đồ họa, card này phải được ngắt kết nối khỏi máy chủ và kết nối với máy ảo. Chỉ một máy ảo (VM) có thể sử dụng một card đồ họa với DDA tại bất kỳ thời điểm nào.

Trình điều khiển đồ họa cho GPU phải được cài đặt trên hệ điều hành khách (guest OS) của máy ảo, không phải trên máy chủ. Trong trường hợp này, các tính năng như DirectX 12 và CUDA (Compute Unified Device Architecture) có sẵn trên máy ảo (CUDA không có sẵn trên máy ảo khi sử dụng RemoteFX). Khi sử dụng Direct Device Assignment, việc di chuyển máy ảo giữa các máy chủ Hyper-V là không thể.

Cân nhắc sử dụng các giải pháp thay thế của VMware cho máy chủ và máy tính để bàn chạy máy ảo. Sử dụng Virtual Shared Graphics Acceleration (vSGA) và Virtual Shared Pass-Through Graphics Acceleration trong VMware vSphere để chia sẻ GPU với nhiều máy ảo. Sử dụng các card đồ họa tương thích hỗ trợ ảo hóa GPU và có các tính năng phần cứng phù hợp:

  • nVidia GRID vGPU
  • AMD Multiuser GPU

Bạn có thể kích hoạt đồ họa 3D tăng tốc cho một máy ảo tại VMware Workstation nếu sử dụng máy tính để bàn thay vì máy chủ.

Kết luận

Hyper-V RemoteFX là tính năng hữu ích cho phép các máy ảo chia sẻ tài nguyên phần cứng của card đồ họa vật lý được cài đặt trên máy chủ Hyper-V và sử dụng tăng tốc 3D cho các ứng dụng trên máy ảo. Để cấu hình RemoteFX trên máy ảo, hãy cài đặt dịch vụ Remote Desktop Virtualization Host trên máy chủ Hyper-V, chỉnh sửa cài đặt chung của Hyper-V để chọn GPU cần sử dụng cho tăng tốc video, và thêm bộ điều hợp video 3D RemoteFX trong các tùy chọn phần cứng ảo của máy ảo. Rất tiếc, Hyper-V RemoteFX đã bị Microsoft ngừng hỗ trợ, và việc sử dụng RemoteFX chỉ khả thi cho đến khi bạn cài đặt các bản cập nhật Windows của tháng 4 năm 2021.

People also read