vSGA調査結果(Quadro4000,FirProW7000 for vSGA ドライバ情報)


今、ESX5.x系でvSGAを使用するためにQuadro 4000を使用しています。

vSGA(Virtual Shared Graphics Acceleration)は、
ESXi仮想マシンの標準GPU(VMware SVGA)をGPUのハードウェアを使用して高速化するものです。
仮想マシンからは普通の「VMware SVGAアダプター」として認識しているが、DirectX9.0cとOpenGL2.1が高速化されます。
なお複数の仮想マシンからは、VGAのメモリが許す限り同時に利用できます。
vMotionなども普通に可能なため、非常に使い勝手のよい技術になります。

なお、いままでコミュニティレベルで実施され、通称「GPUパススルー」とかいわれていた、
VGAをPCI パススルーで仮想マシンに直接接続し、仮想マシンからGPUの全機能を使用可能するものは、VMwareから正式に vDGA(Virtual Dedicated Graphics Acceleration)という名称がつきました。こちらは1GPUごとに1仮想マシンが対応となります。
PCI パススルーを使用しているので、vMotionや電源On中の仮想マシンリソースの拡張等はできなくなります。(ESX6.7でvMotionが出来るようになるかもしれません)。

またこの拡張で、vGPUやMxGPUという技術もありますが、これはGPU側の機能で1枚のGPUを複数の論理GPUとして分割し、論理GPUを仮想マシンに接続できるようにするものです。
こちらもPCI パススルーを使用しているので、vMotionや電源On中の仮想マシンリソースの拡張等は出来ない制限がありますが、ESX6.7でvGPUの場合のvMotionは可能になるようです。

 

Quadro 4000の概要は、以下の通りです。
(Fermiコア,CUDAコア256,メモリ2GBG DDR5,PCI-e 1Slot)
(最大消費電力142 W,電源補助ケーブル必須[シングル6ピン])

 

Quadro 4000 の ESX5.5U3での認識情報

~ # lspci|grep NVIDIA
0000:05:00.0 Display controller: NVIDIA Corporation NVIDIAQuadro 4000 [vmgfx0]
0000:05:00.1 Multimedia controller: NVIDIA Corporation GF100 High Definition Audio Controller
~ #
~ # lspci -v
0000:05:00.0 VGA compatible controller Display controller: NVIDIA Corporation NVIDIAQuadro 4000 [vmgfx0]
 Class 0300: 10de:06dd
~ #
~ # esxcli hardware pci list -c 0x0300 -m 0xf
000:005:00.0
   Address: 000:005:00.0
   Segment: 0x0000
   Bus: 0x05
   Slot: 0x00
   Function: 0x00
   VMkernel Name: vmgfx0
   Vendor Name: NVIDIA Corporation
   Device Name: NVIDIAQuadro 4000
   Configured Owner: Unknown
   Current Owner: VMkernel
   Vendor ID: 0x10de
   Device ID: 0x06dd
   SubVendor ID: 0x103c
   SubDevice ID: 0x0780
   Device Class: 0x0300
   Device Class Name: VGA compatible controller
   Programming Interface: 0x00
   Revision ID: 0xa3
   Interrupt Line: 0x0b
   IRQ: 11
   Interrupt Vector: 0x57
   PCI Pin: 0x64
   Spawned Bus: 0x00
   Flags: 0x0221
   Module ID: 4199
   Module Name: nvidia
   Chassis: 0
   Physical Slot: 2
   Slot Description: SLOT 2
   Passthru Capable: true
   Parent Device: PCI 0:0:3:0
   Dependent Device: PCI 0:0:3:0
   Reset Method: Bridge reset
   FPT Sharable: true
~ #
~ # vmkload_mod -l
Name       Used  Size (kb)
nvidia     104   9644
~ #
~ # grep -A 40 -i "Loading module nvidia" /var/log/vmkernel.log
2018-05-05T08:05:05.515Z cpu26:35548)Loading module nvidia ...
2018-05-05T08:05:05.522Z cpu26:35548)Elf: 1861: module nvidia has license NVIDIA
2018-05-05T08:05:05.614Z cpu26:35548)module heap: Initial heap size: 8388608, max heap size: 68476928
2018-05-05T08:05:05.614Z cpu26:35548)vmklnx_module_mempool_init: Mempool max 68476928 being used for module: 4199
2018-05-05T08:05:05.614Z cpu26:35548)vmk_MemPoolCreate passed for 2048 pages
2018-05-05T08:05:05.614Z cpu26:35548)module heap: using memType 2
2018-05-05T08:05:05.614Z cpu26:35548)module heap vmklnx_nvidia: creation succeeded. id = 0x41140ef22000
NVRM: vmk_MemPoolCreate passed for 4194304 pages.
2018-05-05T08:05:05.864Z cpu26:35548)PCI: driver nvidia is looking for devices
2018-05-05T08:05:05.865Z cpu26:35548)PCI: driver nvidia claimed device 0000:05:00.0
2018-05-05T08:05:05.865Z cpu26:35548)PCI: driver nvidia claimed 1 device
NVRM: loading NVIDIA UNIX x86_64 Kernel Module 319.65 Wed Oct 9 22:51:48 PDT 2013
2018-05-05T08:05:05.865Z cpu26:35548)Mod: 4780: Initialization of nvidia succeeded with module ID 4199.
2018-05-05T08:05:05.865Z cpu26:35548)nvidia loaded successfully.
2018-05-05T08:05:07.323Z cpu30:35697)Enabling MSI for dev 0000:05:00.0
2018-05-05T08:05:07.323Z cpu30:35697)IntrVector: 288: Vector 0x57 allocated, 149 vectors available
2018-05-05T08:05:07.323Z cpu30:35697)VMK_PCI: 720: device 0000:05:00.0 allocated 1 interrupts (intrType 2)
2018-05-05T08:05:07.323Z cpu30:35697)IRQ: 540: 0x57 <nvidia> exclusive, flags 0x10
2018-05-05T08:05:07.323Z cpu30:35697)VMK_VECTOR: 218: Registered handler for interrupt 0xff57, flags 0x10
~ #
~ # /etc/init.d/xorg status
Xorg is running
~ #
~ # gpuvm
Xserver unix:0, PCI ID 0:5:0:0, GPU maximum memory 2076672KB
 pid 40452, VM "Win7-RDPSV", reserved 131072KB of GPU memory.
 pid 41854, VM "Win7-TVMW5", reserved 131072KB of GPU memory.
 pid 41875, VM "Win7-TVMW6", reserved 131072KB of GPU memory.
 pid 41979, VM "Win10-RDPSV", reserved 131072KB of GPU memory.
 pid 42021, VM "Win7-Z800", reserved 131072KB of GPU memory.
 pid 46112, VM "Win10-64-VDI01", reserved 131072KB of GPU memory.
 pid 46181, VM "DELLWin764", reserved 131072KB of GPU memory.
 GPU memory left 1159168KB.
~ #
~ # nvidia-smi
Sun May 6 02:19:59 2018
+------------------------------------------------------+
| NVIDIA-SMI 5.319.65 Driver Version: 319.65           |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Quadro 4000         Off  | 0000:05:00.0     Off |                  N/A |
| 36%   62C   P12    N/A /  N/A |      454MB /  2047MB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Compute processes:                                               GPU Memory |
|  GPU       PID  Process name                                     Usage      |
|=============================================================================|
|  No running compute processes found                                         |
+-----------------------------------------------------------------------------+
~ #

ただ、Quadro4000はすでにVMware Compatibility Guideからも削除されており、NVIDIAのドライバの詳細にも書かれておらず、なかったもの扱いされている状態です。

VMware Compatibility Guide for vSGA ESX5.5U3

 

現在ESXi5.5使用できているQuadro4000用ドライバは 319.65というものです。
NVIDIA-VMware_ESXi_5.5_Host_Driver_319.65.zip

~ # esxcli software vib list
 Name Version Vendor Acceptance Level Install Date
 ---------------------------------- ------------------------------------- --------------- ------------------ ------------
 NVIDIA-VMware_ESXi_5.5_Host_Driver 319.65-1OEM.550.0.0.1331820 NVIDIA VMwareAccepted 2017-09-09

このドライバでサポートしているGPUは以下の通りですが、このバージョン以降はQuadro 4000サポートがなくなっているとの情報もあります。

    NVIDIA GPU product                    Device PCI ID*
    ----------------------------------    ----------------------------------
    Quadro 6000                           0x06D8       
    Quadro 5000                           0x06D9       
    Quadro 4000                           0x06DD       
    Tesla M2070-Q                         0x06DF       
    GRID K1                               0x0FF2       
    GRID K2                               0x11BF       

なお、ESXi5.1の頃は、以下のドライバが使用可能でした。
NVD.NVIDIA_bootbank_NVIDIA-VMware_304.76-1OEM.510.0.0.802205-999851.zip
(NVIDIA-VMware-304.76-1OEM.510.0.0.802205.x86_64.vib)

すでに、Quadro4000はESX6.0用のNVIDIA sVGAドライバでは認識しないとの情報もあることなので、現状Quadro4000は、ESX5.5U3までしか対応していないことになります。

 

ドライバのインストール方法は、この辺とかこの辺とかが参考になります。

~ # vim-cmd hostsvc/maintenance_mode_enter
~ # esxcli software vib install -d /vmfs/volumes/VMSV03-SSD-2/NVIDIA-vib/NVIDIA-VMware_ESXi_5.5_Host_Driver_319.65-1OEM.550.0.0.1331820.vib
Installation Result
   Message: Operation finished successfully.
   Reboot Required: false
   VIBs Installed: NVIDIA-VMware_ESXi_5.5_Host_Driver_319.65-1OEM.550.0.0.1331820
   VIBs Removed:
   VIBs Skipped:
= # vim-cmd /hostsvc/maintenance_mode_exit
= # /etc/init.d/xorg start

現在、ESXi6.0U3へのバージョンアップを検討していますが、Quadro4000が対応していない以上、vSGAをあきらめるか、別のカードを使用するかですが、NVIDIAの対応カードですと最近のビジネス用ハイエンドGPUしか対応しておらず、価格帯も中古でも2桁万円Over、下手すると3桁万円クラスなので、Home Lab用としてはなかなか手が出せません。

こんな情報もありましたが、ちょっと怖いですね。

 

で、色々調査した結果、AMDのFirePro W7000というGPUであれば、
ESX5.5およびESX6.0までの対応であれば比較的入手が楽そうであるとの情報を見つけました。

FirePro W7000 for vSGA情報(VMware Compatibility Guide)

現状、AMD GPUでESX6.5以上ではMxGPUで対応する用で、AMDのvSGAサポートががVMware Compatibility Guideでも認証されていない状況のようなのでESX6.5にあげることはできなさそうですが、どうせESX6.5以上になるとvSphere Client(C# Client)が使えなくなるのでまずはESX6.0にあげられるだけでも助かります(ちょっとvvolをつかってみたいので)。

 

というわけで、FirePro W7000 GPUを入手しました。

ちなみに、ドライバは、以下のものが使用できそうです。

 

esxi5.5用
https://support.amd.com/en-us/download/workstation?os=VMware%20vSphere%20ESXi%205.5#pro-driver
vSGA用ドライバ
fglrx-12103.1135534-1oem.550.0.0.1331820.x86_64.zip

esx6.0用
https://support.amd.com/en-us/download/workstation/esxi6
vSGA用ドライバ
vmw-esx-6.0.0-fglrx-12103.1224202-3638089.zip
vDGA用ドライバ
15.20.1041.1004-FirePro-Guest-Windowsx64-Retail.exe

なお、MxGPU対応ソフトウェア郡(S71x0用)のESXi6.0と6.5用のは以下からダウンロードできる模様です。高くて買えないので、情報だけ。

ESX6.0用
https://support.amd.com/en-us/download/workstation?os=VMware%20vSphere%20ESXi%206.0#pro-driver

ESX6.5用
https://support.amd.com/en-us/download/workstation?os=VMware+vSphere+ESXi+6.5#pro-driver

 

とりあえず、Quadro4000が入っているESXi以外は ESX6.0U3にあげたので、
そのうちFirePro W7000に挑戦して、こちらもあげようと思います。

(参考:https://community.spiceworks.com/topic/1749384-vmware-horizon-vsga-amd-w7000)

 

 

Views: 11

カテゴリー: 未分類 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です