ESXi6.0のvSGAでQuadro4000を使う

ESXi6.0のvSGA (Virtual Shared Graphics Acceleration)で
Quadro4000を使えたらな、と思いお借りしてやってみました。
鼻ミルさんありがとうございました!

vSGA
vSGA (Virtual Shared Graphics Acceleration)

結果から言いますと
xorgサーバが起動しないためvSGAは動きません。

そもそも、公式でも
ESXi6.0では、Quadro4000(Fermiコア)は対応しているとは書いてないです。
おとなしくGRID K1かK2、Teslaを買いましょう。。。

https://www.vmware.com/resources/compatibility/search.php?deviceCategory=vsga

それでも
男は負けると分かっていてもやらなければならい時があるんだ!!

まずは確認

[root@esxi:~] lspci|grep NVIDIA
0000:09:00.0 Display controller: NVIDIA Corporation GF100GL [Quadro 4000]
0000:09:00.1 Multimedia controller: NVIDIA Corporation GF100 High Definition Audio Controller

きちんとESXi上では認識できています。

ドライバですが、新しいKepler版と古い版を入れてみましたがどちらも結果は変わらず。。。
NVIDIA-VMware_ESXi_6.0_Host_Driver_346.42-1OEM.600.0.0.2159203-offline_bundle.zip
NVIDIA-kepler-VMware_ESXi_6.0_Host_Driver_361.45.09-1OEM.600.0.0.2494585-offline_bundle.zip

さてやってみましょう


vibをインストールするだけです。
その際、メンテナンスモードにしてやる必要があります。

[root@esxi:~] esxcli software vib install -d /PATH/NVIDIA-kepler-VMware_ESXi_6.0_Host_Driver_361.45.09-1OEM.600.0.0.2494585-offline_bundle.zip  --maintenance-mode
Installation Result
   Message: Operation finished successfully.
   Reboot Required: false
   VIBs Installed: NVIDIA_bootbank_NVIDIA-kepler-VMware_ESXi_6.0_Host_Driver_361.45.09-1OEM.600.0.0.2494585
   VIBs Removed: NVIDIA_bootbank_NVIDIA-VMware_ESXi_6.0_Host_Driver_346.42-1OEM.600.0.0.2159203
   VIBs Skipped:

普通にインストール出来ました。
ここで念のため再起動

モジュールを確認してみます。

[root@esxi:~] vmkload_mod -l|grep nvidia
nvidia                   0    10020

モジュールはOKです。

ツールで見てみます。

[root@esxi:~] nvidia-smi
[root@esxi:~] Failed to initialize NVML: Unknown Error

雲行きが怪しいです。。。

気を取り直して、xorgサーバを起動します。

[root@esxi:~] /etc/init.d/xorg start
[root@esxi:~] /etc/init.d/xorg status
Xorg is not running
[root@esxi:~] 

\(^o^)/
動かねぇ。

ログを確認してみる。

[root@esxi:~] grep -A 10 -i "Loading module nvidia" /var/log/vmkernel.log

2016-09-02T17:29:10.574Z cpu10:33195)Loading module nvidia ...
2016-09-02T17:29:10.586Z cpu10:33195)Elf: 1865: module nvidia has license NVIDIA
NVRM: vmk_MemPoolCreate passed for 505855 pages.
2016-09-02T17:29:10.816Z cpu10:33195)CpuSched: 596: user latency of 33196 tq:nvidia_timer_queue 0 changed by 33195 vmkeventd -6
NVRM: loading NVIDIA UNIX x86_64 Kernel Module  361.45.09  Tue May 10 08:46:38 PDT 2016
2016-09-02T17:29:11.068Z cpu10:33195)Device: 191: Registered driver 'nvidia' from 20
2016-09-02T17:29:11.068Z cpu10:33195)Mod: 4943: Initialization of nvidia succeeded with module ID 20.
2016-09-02T17:29:11.068Z cpu10:33195)nvidia loaded successfully.
2016-09-02T17:29:11.498Z cpu8:33194)IOMMU: 2053: Device 0000:09:00.0 placed in new domain 0x4301ec713be0.
2016-09-02T17:29:11.498Z cpu8:33194)DMA: 886: Protecting DMA engine 'NVIDIADmaEngine'. Putting parent PCI device 0000:09:00.0 in IOMMU domain 0x4301ec713be0.
2016-09-02T17:29:11.498Z cpu8:33194)DMA: 646: DMA Engine 'NVIDIADmaEngine' created using mapper 'DMAIOMMU'.

うーん認識もモジュールも読めてる。

本当に認識できているか見てみる。

[root@esxi:~] esxcli hardware pci list -c 0x0300 -m 0xf
0000:01:03.0
   Address: 0000:01:03.0
   Segment: 0x0000
   Bus: 0x01
   Slot: 0x03
   Function: 0x0
   VMkernel Name:
   Vendor Name: Advanced Micro Devices, Inc. [AMD/ATI]
   Device Name: ES1000
   Configured Owner: Unknown
   Current Owner: VMkernel
   Vendor ID: 0x1002
   Device ID: 0x515e
   SubVendor ID: 0x103c
   SubDevice ID: 0x31fb
   Device Class: 0x0300
   Device Class Name: VGA compatible controller
   Programming Interface: 0x00
   Revision ID: 0x02
   Interrupt Line: 0x07
   IRQ: 255
   Interrupt Vector: 0x00
   PCI Pin: 0x00
   Spawned Bus: 0x00
   Flags: 0x0221
   Module ID: -1
   Module Name: None
   Chassis: 0
   Physical Slot: 4294967295
   Slot Description:
   Passthru Capable: true
   Parent Device: PCI 0:0:30:0
   Dependent Device: PCI 0:0:30:0
   Reset Method: Bridge reset
   FPT Sharable: true

0000:09:00.0
   Address: 0000:09:00.0
   Segment: 0x0000
   Bus: 0x09
   Slot: 0x00
   Function: 0x0
   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: 0x0a
   IRQ: 255
   Interrupt Vector: 0x00
   PCI Pin: 0x00
   Spawned Bus: 0x00
   Flags: 0x0201
   Module ID: -1
   Module Name: None
   Chassis: 0
   Physical Slot: 2
   Slot Description: PCI-E 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

はい。ここに注目!!
Module Name: None
ダメですね、、、
ここが本来ならば出てこなければならず、
それがないため、xorgがあがりません。

https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2065794ここに書いてある通りです。

アンインストールする

[root@esxi:~] vmkload_mod -u nvidia
Module nvidia successfully unloaded
[root@esxi:~] 
esxcli software vib list | grep NVIDIA
NVIDIA-kepler-VMware_ESXi_6.0_Host_Driver  361.45.09-1OEM.600.0.0.2494585       NVIDIA           VMwareAccepted      2016-09-03
[root@esxi:~] 
[root@esxi:~]  esxcli software vib remove -n NVIDIA-kepler-VMware_ESXi_6.0_Host_Driver --maintenance-mode
Removal Result
   Message: Operation finished successfully.
   Reboot Required: false
   VIBs Installed:
   VIBs Removed: NVIDIA_bootbank_NVIDIA-kepler-VMware_ESXi_6.0_Host_Driver_361.45.09-1OEM.600.0.0.2494585
   VIBs Skipped:

おしまい!!

コメントを残す

メールアドレスが公開されることはありません。

Enter code * Time limit is exhausted. Please reload CAPTCHA.

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください