VMWare và 3D Graphics!
FASTER - STRONGER - SAVER
sales@1hosting.com.vn   0915 54 99 22
Trang Chủ > Kiến thức dịch vụ > Vmware >VMWare và 3D Graphics!

VMWare và 3D Graphics!

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 đề.

Trước tiên ta hãy xem 3D Accelerarion là gì và tại sao ta cần 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.

Các công nghệ xử lý đồ họa của Vmware

Vmware hiện sử dụng 4 công nghệ sau: Soft 3D, vSGA, vDGA và vGPU

Soft 3D

Đâ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.

vSGA

Để 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.

vDGA

Đâ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.

vGPU

Đâ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:

Bảng vGPU Profiles
NVIDIA GRIDCardVirtual GPU ProfileGraphics MemoryMax Displays Per UserMax Resolution Per DisplayMax Users Per Graphics BoardRecommended Use Case
GRID K2K280Q4 GB42560×16002

Designer

K260Q2 GB42560×16004

Designer/Power   User

K240Q1 GB22560×16008

Designer/Power User

K220Q512 MB22560×160016

Designer/Power User

GRID K1K180Q4 GB42560×16004

Entry Designer

K160Q2 GB42560×16008

Power User

K140Q1 GB22560×160016

Power User

K120Q512 MB22560×160032

Power User

vGPU đòi hỏi phải có ESXi với license Enterprise Plus cũng như Vcenter.

Horizon View và 3D Graphics

Để 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.