====== サーバのESXi化が泥沼化 その2 - SATAコントローラの追加 ======
[[blog:2012:2012-10-29|前回]]、H77のSATAをパススルーしたら他のSATA I/Fが認識されなくなったのは、AHCIのドライバが読み込まれなくなったせいらしい。
ESXiの各種ドライバは、ESXiが公式に対応するデバイスが存在して初めて読み込まれる仕組みになっているそうなので(まぁそりゃそうか)、H77がパススルーによって見えなくなる→AHCIドライバが読み込まれない→他のSATA I/Fが使えないという状態だった模様。これまでASM1061と88SE9123は、H77 SATAのおこぼれで偶然動いていたというわけ。
デバイスとドライバの対応表を弄れば、非公式デバイスを使えるようになるっぽいので書き換えてみる。
下記作業ログ内に出てくるsata-ahc.v00は、sata**-**ahc.v00(ハイフン)な環境とsata**_**ahc.v00(アンダースコア)な環境がある模様。自分の環境では間違いなくハイフンなんだけど謎。コマンドをコピペされる際は注意されたし。
5.1をクリーンインストールした場合はアンダースコア、5.0から5.1にアップデートした場合はハイフンな模様。
- ESXiホストにSSHでログイン
- lspciコマンドで追加したいデバイスのベンダIDとデバイスIDを確認(必要な箇所のみ抜粋)
# lspci -v
000:001:00.0 SATA controller Mass storage controller: Marvell Technology Group Ltd. 88SE9123 PCIe SATA 6.0 Gb/s controller [vmhba34]
Class 0106: 1b4b:9123 ←これ
000:006:00.0 SATA controller Mass storage controller: [vmhba36]
Class 0106: 1b21:0612 ←これ
- hwinfoコマンドでサブIDを確認(5.0のみ。5.1だとコマンドがなくサブIDは0000:0000で大丈夫っぽい?)
# hwinfo -p
000:001:00.0 1b4b:9123 1b4b:9123 11/ 11/0x88 A V ahci vmhba34
000:006:00.0 1b21:0612 1849:0612 5/ 5/0xa0 A V ahci vmhba36
↑これ
- マップファイルを展開
~ # cd /tmp
/tmp # mkdir tweak; cd tweak
/tmp/tweak # vmtar -x /bootbank/sata-ahc.v00 -o sata-ahc.tar
/tmp/tweak # tar xvf sata-ahc.tar
- マップファイルに上で確認したデバイスを追加
/tmp/tweak # vi etc/vmware/driver.map.d/ahci.map
(↓を最後に追加)
regtype=linux,bus=pci,id=1b4b:9123 1b4b:9123,driver=ahci,class=storage
regtype=linux,bus=pci,id=1b21:0612 1849:0612,driver=ahci,class=storage
- vSphere Client上でストレージアダプタ名を正しく表示させたければ、[[http://pci-ids.ucw.cz/|The PCI ID Repository]]でベンダ名とデバイス名を探して、デバイス名リストに追加する。デバイス行のインデントはタブ文字なので注意。弄らなくても動作に支障はない。
/tmp/tweak # vi usr/share/hwdata/driver.pciids.d/ahci.ids
1b4b Marvell Technology Group Ltd.
9123 88SE9123 PCIe SATA 6.0 Gb/s controller
1b21 ASMedia Technology Inc.
0612 ASM1062 Serial ATA Controller
- 編集したファイルをアーカイブし直し、元のアーカイブを上書き
/tmp/tweak # rm sata-ahc.tar
/tmp/tweak # tar cvf sata-ahc.tar etc usr
/tmp/tweak # vmtar -c sata-ahc.tar -o sata-ahc.vgz
/tmp/tweak # mv sata-ahc.vgz /bootbank/sata-ahc.v00
- 再起動
上手く追加出来てればvSphere Clientから正しく認識される。追加前と追加後でvmhbaの割り当て順が変わってるが、まぁキニシナイ。
{{ :blog:2012:esxi_storage_adaptor_added.png |}}
これでようやくH77 SATAのパススルーが出来る!と、喜び勇んで設定&FreeBSDのVMに割り当てて起動!そして、PSoD………/(^o^)\ナンテコッタイ
===== 参考サイト =====
* [[http://shell.peach.ne.jp/aoyama/archives/2249|ESXi5.1のIDマップを作成してみる(Marvell 88SE9123/88SE9230編) « 環境さんぷる]]
* [[http://ynigi.web.fc2.com/esxi_sata.htm|ESXiサーバーにSATA情報を追加する]]
* [[http://hopu.hatenablog.com/entry/20111210/1323529504|VMware vSphere Hypervisor 5.0でSATAディスク認識 - インフラSEの書き込み]]
* [[http://andysworld.org.uk/2011/09/20/tweaking-esxi-50-adding-un-supported-hardware-to-vmware-vsphere-esxi-50-adding-a-qle-220-to-esxi-50/|Tweaking ESXi 5.0 - Adding un-supported hardware to VMware vSphere ESXi 5.0 - Adding a QLE-220 to ESXi 5.0 « andysworld!]]