SSDが全体的に高止まりしてしまっていますが、比較的安価に入手できるLexar NM790がESXi 8で利用できました。
コントローラにMaxio MAP1602Aを利用しているものは、ESXiで認識しそうです。
検証用のデータストアを追加したかったのでコストを抑えられてよかった。
耐久性は暫くしないと分かりませんが…。
経験的にIntel/Solidigm製やPHISON製コンロトーラを使用しているNVMe SSDは、大体利用できるのですが比較的高価なものが多い。
コスパの良いものに使われていることが多いコントローラで利用できるものが分かってよかった。
一年位前、蝉族SSDと話題になっていたとか、当時気づかなかったのが残念。
2024年8月4日日曜日
2020年5月16日土曜日
Ascork X570M Pro4のオンボードUSBホストコントローラとUSBポート
ESXi 6.7でAsrock X570M Pro4のオンボードUSBホストコントローラをパススルー利用するため、USBホストコントローラとUSBポートの対応を調べました。
下記、lspciの実行結果。
下記、lspciの実行結果。
[root@esxi:~] lspci |grep -i usb 0000:08:00.1 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller 0000:08:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller 0000:0d:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller root@esxi:~] lspci |grep 0000:0[8d] 0000:08:00.0 Non-Essential Instrumentation: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP 0000:08:00.1 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller 0000:08:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller 0000:0d:00.0 Non-Essential Instrumentation: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP 0000:0d:00.1 Encryption controller: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Cryptographic Coprocessor PSPCPP 0000:0d:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller 0000:0d:00.4 Audio device: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio ControllerPCIとUSBポートの対応は下記になります。
- 0000:08:00.1 マザーボード上のUSB2ヘッダ
- 0000:08:00.3 下図リアパネルの赤枠+マザーボード上のUSB3ヘッダ
- 0000:0d:00.3 下図リアパネルの青枠
リアパネル (画像はAsrockのX570M Pro4の製品ページより)
2020年5月14日木曜日
ESXi 6.7でオンボードUSBホストコントローラのパススルー
Asrock X570M Pro4のオンボードUSBホストコントローラをESXi 6.7でPCIパススルーできました。
当初、PCIパススルー設定をして仮想マシンを起動すると、下記メッセージが表示されパワーオンに失敗していました。
この時に仮想マシンのログ(vmware.log)には、次の記録が残っていました。
リセット設定は、ESXiの/etc/vmware/passthru.mapに記述するようです。
フォーマットの説明はファイルの初めの方に記載されていますが、vendor-id device-id resetMethod fptShareableの順で記述します。
vendor-idとdevice-idは、次のようにlspciで調べることができます。
仮想マシンも問題なく起動します。
また、0000:08:00.1と0000:08:00.3は、PCIデバイスの設定でパススルーをアクティブにできなかったのですが、上記調査中にvmkernel.logに下記を見つけました。
試しに、ESXiのシステム>詳細設定でVMkernel.Boot.disableACSCheckをtrueに設定したところアクティブにでき、それぞれ仮想マシンからも利用できました。
参考URL
vSphere VMDirectPath I/O and Dynamic DirectPath I/O: Requirements for Platforms and Devices (2142307)
当初、PCIパススルー設定をして仮想マシンを起動すると、下記メッセージが表示されパワーオンに失敗していました。
モジュール「DevicePowerOn」のパワーオンに失敗しました。
ハードウェアまたはソフトウェアのサポートが使用できないため、デバイス pciPassthru0 の 13:0.3 への登録に失敗しました。
仮想マシンの起動に失敗しました。
この時に仮想マシンのログ(vmware.log)には、次の記録が残っていました。
vmx| I125: PCIPassthru: Failed to register device 0000:0d:00.3 error = 0xffffffff vmx| I125: Msg_Post: Error vmx| I125: [msg.pciPassthru.createAdapterFailedPlatformNotSupported] Failed to register the device pciPassthru0 for 013:00.3 due to unavailable hardware or software support. vmx| I125: ---------------------------------------- vmx| I125: Module 'DevicePowerOn' power on failed.vmkernel.logには、次の記録がありました。
cpu10:2100020)WARNING: PCI: 384: Dev @ 0000:0d:00.3 did not complete its pending transactions prior to being reset; will apply the reset anyway but this may cause PCI errors cpu7:2100020)WARNING: PCI: 471: Dev 0000:0d:00.3 is unresponsive after resetふと、リセット設定をすれば上手くいくのでは?と思い試したところうまく行きました。
リセット設定は、ESXiの/etc/vmware/passthru.mapに記述するようです。
フォーマットの説明はファイルの初めの方に記載されていますが、vendor-id device-id resetMethod fptShareableの順で記述します。
vendor-idとdevice-idは、次のようにlspciで調べることができます。
[root@esxi:~] lspci |grep -i usb 0000:08:00.1 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller 0000:08:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller 0000:0d:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller [root@esxi:~] lspci -n |grep -E '0000:0(8:00.[13]|d:00.3)' 0000:08:00.1 Class 0c03: 1022:149c 0000:08:00.3 Class 0c03: 1022:149c 0000:0d:00.3 Class 0c03: 1022:149c上記からvendor-idが1022、device-idが149cとなります。 ファイル内の他デバイスの記載を参考にresetMethodをd3d0、fptShareableはdefaultで指定しました。
[root@esxi:~] tail -2 /etc/vmware/passthru.map # AMD USB host controller 1022 149c d3d0 defaultこの設定で0000:0d:00.3のコントローラはPCIパススルーで利用できるようになりました。
仮想マシンも問題なく起動します。
また、0000:08:00.1と0000:08:00.3は、PCIデバイスの設定でパススルーをアクティブにできなかったのですが、上記調査中にvmkernel.logに下記を見つけました。
0:00:00:04.808 cpu0:2097152)PCI: 1305: Found a PCIe-to-PCIe bridge at 0000:00:08.1 0:00:00:04.808 cpu0:2097152)PCI: 423: 0000:00:08.1: PCIe v2 PCI Express Root Complex Port 0:00:00:04.808 cpu0:2097152)PCI: 427: Not a ACS capable device 0:00:00:04.808 cpu0:2097152)PCI: 488: 0000:00:08.2: PCIe v2 PCI Express Root Complex Port 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.2: Found support for extended capability 0xb (Vendor Spec 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.2: Found support for extended capability 0x19 (Secondary 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.2: Found support for extended capability 0x25 (Data Link 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.2: Found support for extended capability 0x26 (Physical L 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.2: Found support for extended capability 0x27 (Lane Margi 0:00:00:04.808 cpu0:2097152)PCI: 1305: Found a PCIe-to-PCIe bridge at 0000:00:08.2 0:00:00:04.808 cpu0:2097152)PCI: 423: 0000:00:08.2: PCIe v2 PCI Express Root Complex Port 0:00:00:04.808 cpu0:2097152)PCI: 427: Not a ACS capable device 0:00:00:04.808 cpu0:2097152)PCI: 488: 0000:00:08.3: PCIe v2 PCI Express Root Complex Port 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.3: Found support for extended capability 0xb (Vendor Spec 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.3: Found support for extended capability 0x19 (Secondary 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.3: Found support for extended capability 0x25 (Data Link 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.3: Found support for extended capability 0x26 (Physical L 0:00:00:04.808 cpu0:2097152)PCI: 248: 0000:00:08.3: Found support for extended capability 0x27 (Lane Margi 0:00:00:04.808 cpu0:2097152)PCI: 1305: Found a PCIe-to-PCIe bridge at 0000:00:08.3 0:00:00:04.808 cpu0:2097152)PCI: 423: 0000:00:08.3: PCIe v2 PCI Express Root Complex Port 0:00:00:04.808 cpu0:2097152)PCI: 427: Not a ACS capable device「Not a ACS capable device」とあるので、ACSを無効化すれば動作するようです。
試しに、ESXiのシステム>詳細設定でVMkernel.Boot.disableACSCheckをtrueに設定したところアクティブにでき、それぞれ仮想マシンからも利用できました。
参考URL
vSphere VMDirectPath I/O and Dynamic DirectPath I/O: Requirements for Platforms and Devices (2142307)
2020年5月6日水曜日
ESXi 6.7でPT3をPCIパススルー
ひとまず静音対策は置いておき、TV録画環境が移行できるか確認することにします。
Linux VM上でPT3を動作させるためESXiでPCIパススルー設定をしたのですが、リブート後も「有効/再起動が必要」と表示されたままアクティブになりません。
何か対処が必要なんだろうかと、VMKernel logを確認すると下記ワーニングが記録されていました。
ログメッセージが若干異なりますが、VMware KBにある PCI Passthrough with PCIe devices behind a non-ACS switch in vSphere (1036811) が原因のようです。
PCIのAccess Control Services(ACS)を有効にする必要があるとのこと。
BIOSで設定すればいいだろうと確認したのですが、これがなかかな分かりにくい仕様でした。
デフォルト状態だとACS設定が非表示で、AER Capを有効にするとACS設定が出現するという分かり難さ。
ACS設定の説明欄には、AER Cap設定に依存する旨の記述がありましたが、そもそも表示されてなければ設定自体があるのかどうか分からないような...。
Advanced Error Reporting (AER) capabilityとACSの関係ってよく知られているものなのかな?
ASRock X570M Pro4では、下記BIOS設定でPT3をPCIパススルーで有効化できるようになります。もちろんIOMMUは有効にしておく必要があります。
安定性は追々確認するとして、取り敢えずVMでPT3を利用できることは確認できました。
ちなみにカードリーダーはUSBパススルーで利用しています。
オンボードのUSBホストコントローラをPCIパススルーしてVMでUSBキーボードを利用したかったのですが、動作させることが出来ませんでした。
Linux VM上でPT3を動作させるためESXiでPCIパススルー設定をしたのですが、リブート後も「有効/再起動が必要」と表示されたままアクティブになりません。
何か対処が必要なんだろうかと、VMKernel logを確認すると下記ワーニングが記録されていました。
cpu8:2097649)WARNING: PCIPassthru: PCIPassthruAllowed:175: Device passthru not possible on this system (no PCI ACS support) cpu8:2097649)PCIPassthru: PCIPassthruAttachDev:217: Passthru not possible on device 0000:05:00.0
ログメッセージが若干異なりますが、VMware KBにある PCI Passthrough with PCIe devices behind a non-ACS switch in vSphere (1036811) が原因のようです。
PCIのAccess Control Services(ACS)を有効にする必要があるとのこと。
BIOSで設定すればいいだろうと確認したのですが、これがなかかな分かりにくい仕様でした。
デフォルト状態だとACS設定が非表示で、AER Capを有効にするとACS設定が出現するという分かり難さ。
ACS設定の説明欄には、AER Cap設定に依存する旨の記述がありましたが、そもそも表示されてなければ設定自体があるのかどうか分からないような...。
Advanced Error Reporting (AER) capabilityとACSの関係ってよく知られているものなのかな?
ASRock X570M Pro4では、下記BIOS設定でPT3をPCIパススルーで有効化できるようになります。もちろんIOMMUは有効にしておく必要があります。
- Advanced > AMD CBS > NBIO Common Options > Enable AER Cap : Enabled
- Advanced > AMD CBS > NBIO Common Options > ACS Enalbed: Auto (AER有効化後のデフォルトのまま)
安定性は追々確認するとして、取り敢えずVMでPT3を利用できることは確認できました。
ちなみにカードリーダーはUSBパススルーで利用しています。
オンボードのUSBホストコントローラをPCIパススルーしてVMでUSBキーボードを利用したかったのですが、動作させることが出来ませんでした。
2020年5月4日月曜日
RDM on ESXi 6.7
ESXi 6.7は、次の構成を考えています。
伝わるだろうか?簡単な図にするとこんな感じになります。
設定情報を保存しておけば、再インストールが必要になっても大した手間をかけず復旧できるかなと考えています。
HDDはZFSで利用したい。FreeBSDやLinuxでZFSを利用してもいいのですが、せっかくVMにするのなら用途を絞って楽に管理したとの思いからFreeNASを利用することにしました。FreeNASは初めて使いますがFreeBSDベースなので問題ないかなと思っています。
で、特にハマることなく構築できました。
RDM(Raw Device Mapping)の設定についてメモしておきます。
RDMはVMware Host Clientだけでは設定できないようで、ESXiにsshログインしvmkfstoolsコマンド操作が必要でした。
まず、HDDのデバイス名を調べます。
次に適当なディレクトリを作成し、vmkfstoolsでRDMを作成します。
RDMには仮想互換モードと物理互換モードがあるようですが、今回は物理互換モードで設定します。
仮想互換モードでは、スナップショットなども利用できるようです。
最後の引数のファイル名は何でもいいのですが、シリアル番号が分かるようにしておくとメンテナンスが楽になるかもしれません。
成功するとファイル名に「-rdmp」がついたファイルが増えていました。
下記参照URL
vmkfstools コマンドのオプション
物理互換モードの Raw デバイス マッピングの作成
RDM の仮想および物理互換モード
- FreeNAS(VM)をESXiのローカルデータストアから起動する。
- FreeNASは、iSCSIかNFSでHDD領域を公開する。
- ESXiは、FreeNASの領域をデータストアとして利用する。
- その他VMは、FreeNASのデータストアから起動する。
伝わるだろうか?簡単な図にするとこんな感じになります。
+ESXi
|
+SSD==datastore(local)==+FreeNAS
| |
+HDD==(RDM)=============+datastore(iSCSI or NFS)+VM1
+VM2
+VM3
ESXiとFreeNASは、USBデバイスからの起動も可能でサイズも小さいため冗長化していないNVMe SSDから起動させても障害時の対応が容易だろうとの考えです。設定情報を保存しておけば、再インストールが必要になっても大した手間をかけず復旧できるかなと考えています。
HDDはZFSで利用したい。FreeBSDやLinuxでZFSを利用してもいいのですが、せっかくVMにするのなら用途を絞って楽に管理したとの思いからFreeNASを利用することにしました。FreeNASは初めて使いますがFreeBSDベースなので問題ないかなと思っています。
で、特にハマることなく構築できました。
RDM(Raw Device Mapping)の設定についてメモしておきます。
RDMはVMware Host Clientだけでは設定できないようで、ESXiにsshログインしvmkfstoolsコマンド操作が必要でした。
まず、HDDのデバイス名を調べます。
$ ls /vmfs/devices/disks/*ATA* /vmfs/devices/disks/t10.ATA_____ST6000DM0032D2CY186__________________________________WCTaaaaa /vmfs/devices/disks/t10.ATA_____ST6000DM0032D2CY186__________________________________WCTbbbbb /vmfs/devices/disks/t10.ATA_____ST6000DM0032D2CY186__________________________________WCTccccc /vmfs/devices/disks/t10.ATA_____ST6000DM0032D2CY186__________________________________WCTddddd /vmfs/devices/disks/t10.ATA_____ST6000DM0032D2CY186__________________________________WCTeeeee /vmfs/devices/disks/t10.ATA_____ST6000DM0032D2CY186__________________________________WCTfffff /vmfs/devices/disks/t10.ATA_____ST6000DM0032D2CY186__________________________________WCTggggg /vmfs/devices/disks/t10.ATA_____ST6000DM0032D2CY186__________________________________WCThhhhh $名前が長いですね。ファイル名の末尾がシリアル番号のようです。
次に適当なディレクトリを作成し、vmkfstoolsでRDMを作成します。
RDMには仮想互換モードと物理互換モードがあるようですが、今回は物理互換モードで設定します。
仮想互換モードでは、スナップショットなども利用できるようです。
最後の引数のファイル名は何でもいいのですが、シリアル番号が分かるようにしておくとメンテナンスが楽になるかもしれません。
$ mkdir rdm $ cd rdm $ vmkfstools -z /vmfs/devices/disks/t10.ATA_____ST6000DM0032D2CY186__________________________________WCTaaaaa ST6000DM0032D2CY186_WCTaaaaa.vmdk $ vmkfstools -z /vmfs/devices/disks/t10.ATA_____ST6000DM0032D2CY186__________________________________WCTbbbbb ST6000DM0032D2CY186_WCTbbbbb.vmdk $ vmkfstools -z /vmfs/devices/disks/t10.ATA_____ST6000DM0032D2CY186__________________________________WCTccccc ST6000DM0032D2CY186_WCTccccc.vmdk $ vmkfstools -z /vmfs/devices/disks/t10.ATA_____ST6000DM0032D2CY186__________________________________WCTddddd ST6000DM0032D2CY186_WCTddddd.vmdk $ vmkfstools -z /vmfs/devices/disks/t10.ATA_____ST6000DM0032D2CY186__________________________________WCTeeeee ST6000DM0032D2CY186_WCTeeeee.vmdk $ vmkfstools -z /vmfs/devices/disks/t10.ATA_____ST6000DM0032D2CY186__________________________________WCTfffff ST6000DM0032D2CY186_WCTfffff.vmdk $ vmkfstools -z /vmfs/devices/disks/t10.ATA_____ST6000DM0032D2CY186__________________________________WCTggggg ST6000DM0032D2CY186_WCTggggg.vmdk $ vmkfstools -z /vmfs/devices/disks/t10.ATA_____ST6000DM0032D2CY186__________________________________WCThhhhh ST6000DM0032D2CY186_WCThhhhh.vmdk $
成功するとファイル名に「-rdmp」がついたファイルが増えていました。
$ ls -1 ST6000DM0032D2CY186_WCTaaaaa-rdmp.vmdk ST6000DM0032D2CY186_WCTaaaaa.vmdk ST6000DM0032D2CY186_WCTbbbbb-rdmp.vmdk ST6000DM0032D2CY186_WCTbbbbb.vmdk ST6000DM0032D2CY186_WCTccccc-rdmp.vmdk ST6000DM0032D2CY186_WCTccccc.vmdk ST6000DM0032D2CY186_WCTddddd-rdmp.vmdk ST6000DM0032D2CY186_WCTddddd.vmdk ST6000DM0032D2CY186_WCTeeeee-rdmp.vmdk ST6000DM0032D2CY186_WCTeeeee.vmdk ST6000DM0032D2CY186_WCTfffff-rdmp.vmdk ST6000DM0032D2CY186_WCTfffff.vmdk ST6000DM0032D2CY186_WCTggggg-rdmp.vmdk ST6000DM0032D2CY186_WCTggggg.vmdk ST6000DM0032D2CY186_WCThhhhh-rdmp.vmdk ST6000DM0032D2CY186_WCThhhhh.vmdk $ここまでくればVMware Host Clientで仮想マシンの編集>ハードディスクの追加でvmdkファイルを選択できるようになります。
下記参照URL
vmkfstools コマンドのオプション
物理互換モードの Raw デバイス マッピングの作成
RDM の仮想および物理互換モード
2020年5月2日土曜日
Transcend PCIe SSD200SはESXi 6.7で認識されない
NVMe SSDにESXi 6.7をインストールしようとしたのですが、Transcend PCIe SSD200Sはディスクとして認識されませんでした。
コスパでパーツを選択したので、ESXiで利用できるかどうかは調査していませんでした…。
仕方がないのでUSBメモリにインストール後確認すると、PCIデバイスとしては認識されているようです。
NVMeドライバについて調べてみると、Crucial NVMe SSDがESXiのアップグレードで認識されなくなると情報があったので試してみるとディスクとして認識させることができました。
Quick Tip – Crucial NVMe SSD not recognized by ESXi 6.7
ESXi6.5 Update2のドライバを利用すれば良いようなので、ESXi650-201905001の1.2.1.34-1vmw.650.2.50.8294253を利用すると認識されるようになります。
パッチの内容を確認するとESXi650-201912002からドライバが変更になっているようでした。
パッチ当てが面倒なので、SSD200SはRDMで利用することにします。
コスパでパーツを選択したので、ESXiで利用できるかどうかは調査していませんでした…。
仕方がないのでUSBメモリにインストール後確認すると、PCIデバイスとしては認識されているようです。
NVMeドライバについて調べてみると、Crucial NVMe SSDがESXiのアップグレードで認識されなくなると情報があったので試してみるとディスクとして認識させることができました。
Quick Tip – Crucial NVMe SSD not recognized by ESXi 6.7
ESXi6.5 Update2のドライバを利用すれば良いようなので、ESXi650-201905001の1.2.1.34-1vmw.650.2.50.8294253を利用すると認識されるようになります。
パッチの内容を確認するとESXi650-201912002からドライバが変更になっているようでした。
- ESXi650-201905001
- ESXi650-201912002
vib20/nvme/VMW_bootbank_nvme_1.2.1.34-1vmw.650.2.50.8294253.vib
vib20/nvme/VMW_bootbank_nvme_1.2.2.28-1vmw.650.3.96.13932383.vib
パッチ当てが面倒なので、SSD200SはRDMで利用することにします。
2020年4月30日木曜日
新PC
先日、検証用として使っていたHP ProLiant ML110 G7の電源が入らない状態になってしまいました。
最近も問題なくWindows Server評価版を試したりしていたので、電源かな?と思い電源を交換してみましたが治らず、 残念ながらハードウェアの知識がないためお手上げ。とうとう壊れたか。
検証環境がないと少し不便なので、下記構成でPCを作りました。
現在KVMで運用しているVMを巻き取り、検証環境を含めた仮想環境をESXiで作ろうと目論んでいるのですが...。
最近も問題なくWindows Server評価版を試したりしていたので、電源かな?と思い電源を交換してみましたが治らず、 残念ながらハードウェアの知識がないためお手上げ。とうとう壊れたか。
検証環境がないと少し不便なので、下記構成でPCを作りました。
- ASRock X570M Pro4
- AMD Ryzen5 3600
- DDR4-2666 32GB x2
- Seagate ST6000DM003 x8
- M2.SSD Transcend TS512GMTE220S x1
- M2.SSD Intel SSD 760p SSDPEKKW256G8XT x1
- MSI GeForce GTX1060 ARMOR 6G
現在KVMで運用しているVMを巻き取り、検証環境を含めた仮想環境をESXiで作ろうと目論んでいるのですが...。
登録:
投稿 (Atom)
