VMware におけるSCSIコントローラの認識順序(最終まとめ)
「VMware におけるSCSIコントローラの認識順序」ではSCSIコントローラやネットワークアダプタのOSによる認識順とvmxファイル上のpciSlotNumberの関係を確認した。「VMware におけるSCSIコントローラの認識順序(追加検証)」ではpciSlotNumberの割り当てルールについて追加の検証を行った。
最後にデバイスの認識順とpciSlotNumberの割り当てのルールを一つの表にまとめる。
この表を使えば認識順の「不思議」に悩んだりすることはないし、デバイスの追加・削除を安易に行う怖さがわかるはずだ。
まとめ表の大前提
- slotNumberの解釈方法に関するナレッジ・ベース「 Mapping PCI slot numbers to guest-visible PCI bus topology (2047927)」の対象バージョンのESXiであること。
- vmxファイルにPCIブリッジ(pciBridge4〜pciBridge7)が定義されており、以下の pciSlotNumber が割り当てられていること。
- pciBridge4.pciSlotNumber = "21"
- pciBridge5.pciSlotNumber = "22"
- pciBridge6.pciSlotNumber = "23"
- pciBridge7.pciSlotNumber = "24"
まとめ表
注意!! この表は VMware ESXi 5.0.0 を使用した検証から導き出されたものであり、VMware社のマニュアルなどによる裏付けのあるものではありません。使用される方がおられましたら、使用可否をご判断のうえ、自己責任による使用をお願い致します。
接続するBusの上位PCIブリッジとFunction | OSの認識順 | pciSlotNumber | 割り当て優先度 | 接続するデバイス | |
---|---|---|---|---|---|
pciBridge4 | 0 | 1 | 160 | 1 | |
1 | 2 | 1184 | 5 | ||
2 | 3 | 2208 | 9 | ||
3 | 4 | 3232 | 13 | ||
4 | 5 | 4256 | 17 | ||
5 | 6 | 5280 | 21 | ||
6 | 7 | 6304 | 25 | ||
7 | 8 | 7328 | 29 | ||
pciBridge5 | 0 | 9 | 192 | 2 | |
1 | 10 | 1216 | 6 | ||
2 | 11 | 2240 | 10 | ||
3 | 12 | 3264 | 14 | ||
4 | 13 | 4288 | 18 | ||
5 | 14 | 5312 | 22 | ||
6 | 15 | 6336 | 26 | ||
7 | 16 | 7360 | 30 | ||
pciBridge6 | 0 | 17 | 224 | 3 | |
1 | 18 | 1248 | 7 | ||
2 | 19 | 2272 | 11 | ||
3 | 20 | 3296 | 15 | ||
4 | 21 | 4320 | 19 | ||
5 | 22 | 5344 | 23 | ||
6 | 23 | 6368 | 27 | ||
7 | 24 | 7392 | 31 | ||
pciBridge7 | 0 | 25 | 256 | 4 | |
1 | 26 | 1280 | 8 | ||
2 | 27 | 2304 | 12 | ||
3 | 28 | 3328 | 16 | ||
4 | 29 | 4352 | 20 | ||
5 | 30 | 5376 | 24 | ||
6 | 31 | 6400 | 28 | ||
7 | 32 | 7424 | 32 |
「割り当て優先度」はデバイスを追加した際に割り当てられるpciSlotNumberを決定するためのものである。未割り当てのpciSlotNumberの中で最も「割り当て優先度」が高いpciSlotNumberが割り当てられると考えれば良い。
ナレッジ
- ethXはネットワークアダプタの認識順に関わらず、udevによりMACアドレスなどに基づく名前の固定化ができるため、ネットワークアダプタの認識順はそれほど重要ではない。SCSIコントローラが問題である。
- SCSIコントローラが2個で足りるなら、必ず先に認識して欲しいSCSIコントローラ(SCSIコントローラ0にすべきだろう)の pciSlotNumber を "160" にして削除しないこと。そうすれば、2個目のSCSIコントローラの pciSlotNumber がなんであれ、認識順は守られる。
- SCSIコントローラが3個または4個の場合には pciSlotNumber を調整することで認識順を制御できる。