VMware có hỗ trợ 3D cho các máy ảo hay không? Cấu hình như thế nào, có phức tạp không? 1Hosting sẽ giúp các bạn trả lời câu hỏi này!
“Phức tạp” là câu trả lời của chúng tôi, cấu hình để chạy các tính năng 3D trên các hệ thống ảo hóa cũng không đơn giản. Lý do là các vendor chưa support được về mặt phần cứng cũng như công nghệ graphic của ảo hóa còn đang trong thời kỳ phát triển. Hãy cùng 1Hosting xem xét một vài công nghệ 3D Graphic trên VMware để hiểu rõ bản chất vấn đề.
3D Acceleration hay còn gọi là Hardware 3D Acceleration nghĩa là sử dụng thiết bị phần cứng như GPU vào các công việc xử lý đồ họa. Nếu không có GPU, bộ xử lý trung tâm CPU sẽ phải làm thay nhiệm vụ của GPU và nếu ứng dụng mang nặng tính đồ họa, nó sẽ sử dụng rất nhiều năng lực của CPU, từ đó làm ảnh hưởng đến hiệu năng chung của hệ thống. Các ứng dụng như game 3D, hay 3D rendering là những ứng dụng rất tốn kém /CPU này.
Vmware hiện sử dụng 4 công nghệ sau: Soft 3D, vSGA, vDGA và vGPU
Đây là công nghệ thô sơ nhất khi nó không cần phải có card đồ họa rời GPU trong Vsphere. Thay vào đó nó sử dụng CPU của máy ảo cho các công việc tạo hình, đồng thời gần như không làm việc với tập lệnh DirectX và bộ thư viện OpenGL. Để chạy được 3D soft, các máy ảo chỉ cần cài SVGA 3D driver có sẵn trong bộ VMware Tool.
Để sử dụng được vSGA, ta cần có một card đồ họa gắn vào máy chủ Vsphere. vSGA cho phép nhiều máy ảo cùng chia sẻ GPU này cho các công việc dựng hình. Các máy ảo chỉ cần có SVGA driver và nó chuyển việc tạo hình vào một process là Xorg.
Xorg được coi như là một giao tiếp giữa SVGA driver và GPU. Công nghệ này cần thêm 1 bước nữa là cài được các vib driver chuẩn cho các adapter trên hệ thống ESXi.
Khi môt máy ảo cần share GPU, nó cần được cấp memory từ video memory của adapter. Mỗi máy ảo tối đa sử dụng được 512Mb bộ nhớ. Một nữa số bộ nhớ được dành cho GPU, một nửa còn lại là dành cho host. Chính vì thể, với 1 card đồ họa 8Gb RAM, mỗi máy ảo nhận 256 Mb thì tối đa chỉ support được cho 64 máy ảo.
vSGA sử dụng SVGA 3D driver nên nó cũng bị giới hạn việc hỗ trợ các tập lệnh DirectX và thư viện OpenGL nhưng có thể chạy tốt với những ứng dụng đồ họa không cần xử lý 3D nhiều.
Đây là công nghệ mới, cho phép vSphere ESXi chuyển thẳng GPU đến một máy ảo nào đó, tức là máy ảo có thể sử dụng trực tiếp phần cứng của GPU thông qua ESXi. Ta gọi kỹ thuật này là GPU pass-through.
Để máy ảo có thể tương tác trực tiếp với phần cứng, nó phải sử dụng các driver chuẩn của nhà sản xuất GPU (native driver), khi đó sẽ có hiệu suất tốt nhất và hỗ trợ đầy đủ các tập lệnh DirectX11 và thư viện OpenGL 4.1x.
Nhưng vDGA chưa phải là hoàn hảo khi nó chỉ cho phép một GPU phục vụ duy nhất một máy ảo, nếu muốn máy ảo thứ 2 cũng có GPU, ta phải thêm một card đồ hoạ nữa. Điều này là khá hạn chế khi phải bổ sung phần cứng phức tạp và cuối cùng là với PCI pass-through, vMotion trở nên vô nghĩa.
Đây là công nghệ của NVIDIA, là sự kết hợp đồng thời những ưu điểm của vSGA và vDGA. Với vGPU, các máy ảo cùng nhau chia sẻ GPU, tương tác trực tiếp với GPU thông qua bộ driver của NVIDIA.
Mỗi máy ảo được cấp một vGPU bới phần mềm GRID Manager được cài đặt bên trong ESXi và từ đó máy ảo làm việc với vGPU như GPU vật lý. NVIDIA GRID vGPU được hỗ trợ trên các card NVIDIA GRID K2 và GRID K1. Mỗi card này đều chứa nhiều nhân GPU ở bên trong, ví dụ GRID K1 có 4 GPU với 192 processor core và 4GB ram mỗi GPU trong khi GRID K2 có 2 GPU với mỗi GPU có 1536 processor core và 4GB RAM.
vGPU được gắn vào các máy ảo được gọi là vGPU profile, mỗi cái có một đặc điểm riêng về tính năng kỹ thuật. Dưới đây là các loại vGPU profile:
NVIDIA GRIDCard | Virtual GPU Profile | Graphics Memory | Max Displays Per User | Max Resolution Per Display | Max Users Per Graphics Board | Recommended Use Case |
GRID K2 | K280Q | 4 GB | 4 | 2560×1600 | 2 | Designer |
K260Q | 2 GB | 4 | 2560×1600 | 4 | Designer/Power User | |
K240Q | 1 GB | 2 | 2560×1600 | 8 | Designer/Power User | |
K220Q | 512 MB | 2 | 2560×1600 | 16 | Designer/Power User | |
GRID K1 | K180Q | 4 GB | 4 | 2560×1600 | 4 | Entry Designer |
K160Q | 2 GB | 4 | 2560×1600 | 8 | Power User | |
K140Q | 1 GB | 2 | 2560×1600 | 16 | Power User | |
K120Q | 512 MB | 2 | 2560×1600 | 32 | Power User |
vGPU đòi hỏi phải có ESXi với license Enterprise Plus cũng như Vcenter.
Để chạy được máy ảo hỗ trợ 3D Graphics, việc setup trên ESXi host là chưa đủ. GPU Pass-through (vDGA) không thể kết nối qua RDP. Ta cần phải có một giao thức kết nối từ xa hỗ trợ vDGA. Với giao thức RDP, máy ảo sẽ không nhận ra GPU từ remote session và các ứng dụng đồ hoạ sẽ không thể chạy được.
Đó là lúc ta cần Horizon View, một giải pháp cho VDI cung cấp giao thức remote desktop và nâng cao hiệu suất của đồ họa trong vSphere.
Ta sẽ tìm hiểu thêm về Horizon View ở đây.
Có một lưu ý rất đáng giá đó là, với VDI, không chỉ đơn thuần là chuẩn bị thêm một card đồ họa vật lý là đủ. Các ứng dụng 3D render với những hình ảnh chất lượng tốt đòi hỏi phải có đủ bandwith mạng vì sau khi thực hiện render, server sẽ gửi về màn hình các bitmap với dung lượng lớn, thêm nữa do quá trình xử lý gồm giải nén và giải mã các hình ảnh nên sẽ mất thời gian cho CPU xử lý, nếu CPU không đủ mạnh, hình ảnh sẽ trở nên giật khi người dùng thao tác.
Qua việc tìm hiểu như trên, ta có thể thấy, ảo hoá môi trường làm việc (Desktop Environment Virtuallization) vẫn còn chứa đựng những hạn chế công nghệ nhất định. Có thể trong thời gian tới, các vendor sẽ cho ra những công nghệ ảo hoá mới để hỗ trợ xử lý đồ hoạ, 1Hosting sẽ liên tục cập nhật để giới thiệu và ứng dụng ngay trong môi trường làm việc của chúng tôi, hướng tới triển khai trên phạm vi các doanh nghiệp.