ESXiサーバーにSATA情報を追加する

 

ESXiサーバーを運用しようと思っているiBASE MI900F-Rなのですが、Q965+ICH8 という組み合わせでオンボードのSATAを認識しません。基本的に会社で使う予定なのでFreeNASiSCSIと組み合わせるつもりなので特別必要はないのですが、どうやらsimple.mapというファイルを設定することで認識させることができるらしいのでいろいろ調べてみました。

 

結局まだうまく認識ができていないんですが手順はまとめておきます。

 

準備しておくもの

·     USBメモリへインストールしたESXiサーバー

·     SSH接続が可能なターミナルソフト(今回はUTF-8 TeraTerm Pro with TTSSH2

 

作業の流れ

·     ESXiサーバーのSSHの有効化 

·     設定に必要な情報を取得

·     SATA情報の追加

·     DG965WHでの成功例

 


ESXiサーバーのSSHの有効化 

各種設定をするためにSSHを有効にします。ESXiサーバーで作業をする場合はこの手順はとくに必要ありません。

 

1           ESXiサーバーを起動します。

2           Alt-F1」を押して「tech support mode」に入ります。

3           unsupported」と入力して「Enter」を押します。(入力を間違えた場合は「Ctrl-U」を押すと入力情報が破棄されます。)

コマンド入力モードになります。

 

4           コマンドラインで「vi /etc/inetd.conf」と入力します。

vi/etc/inetd.confを修正できるようになります。

[コマンドライン]

~ # vi /etc/inetd.conf

 

先頭の#を削除します。

(行の先頭にカーソルを移動して「x」を押すと削除されます。)

修正前

#ssh     stream  tcp     nowait  root    /sbin/dropbearmulti     dropbear ++min=0,swap,grou

修正後

ssh     stream  tcp     nowait  root    /sbin/dropbearmulti     dropbear ++min=0,swap,grou

 

5           修正が終わったら「Esc」を押して、「:wq」と入力して「Enter」を押します。

viが終了します。

 

6           コマンドラインで「reboot」と入力します。

[コマンドライン]

~ # reboot

 

再起動後、SSHでのログインが可能になります。

 


設定に必要な情報を取得

 

1           UTF-8 TeraTerm Proを起動します。

[Tera Term:新しい接続]が表示されます。

 

2           ホストに接続するESXiIPアドレスを入力、サービスにSSHを選択してOKをクリックします。

[SSH認証]が表示されます。

3           ユーザー名に「root」、パスワードに指定したパスワード(初期設定のままなら空白)を入力してOKをクリックします。

[Tera Term VT]が表示され、コマンドラインの入力ができるようになります。

 

4           コマンドラインから「lspci」、「lspci -v」、「hwinfo -p」を入力します。

各種PCI情報が表示されます。(赤字部分が今回のマザーボードのSATAコントローラに関係する部分)

 

[lspciで表示される情報]

 ~ # lspci
00:00.00 Bridge: Intel Corporation
00:01.00 Bridge: Intel Corporation
00:02.00 Display controller: Intel Corporation
00:25.00 Network controller: Intel Corporation 82566DC Gigabit Network Connection [vmnic0]
00:26.00 Serial bus controller: Intel Corporation
00:26.01 Serial bus controller: Intel Corporation
00:26.07 Serial bus controller: Intel Corporation
00:27.00 : Intel Corporation
00:28.00 Bridge: Intel Corporation
00:28.01 Bridge: Intel Corporation
00:28.03 Bridge: Intel Corporation
00:29.00 Serial bus controller: Intel Corporation
00:29.01 Serial bus controller: Intel Corporation
00:29.02 Serial bus controller: Intel Corporation
00:29.07 Serial bus controller: Intel Corporation
00:30.00 Bridge: Intel Corporation 82801BA/CA/DB/EB PCI Bridge
00:31.00 Bridge: Intel Corporation
00:31.02 Mass storage controller: Intel Corporation
00:31.03 Serial bus controller: Intel Corporation
00:31.05 Mass storage controller: Intel Corporation
02:00.00 Network controller: Galileo Technology Ltd.
03:00.00 Mass storage controller:

 

[lspci -vで表示される情報]

~ # lspci -v
00:00.00 Host bridge Bridge: Intel Corporation
         Class 0600: 8086:2990

00:01.00 PCI bridge Bridge: Intel Corporation
         Class 0604: 8086:2991

00:02.00 VGA compatible controller Display controller: Intel Corporation
         Class 0300: 8086:2992

00:25.00 Ethernet controller Network controller: Intel Corporation 82566DC Gigabit Network Connection [vmnic0]
         Class 0200: 8086:104b

00:26.00 USB Controller Serial bus controller: Intel Corporation
         Class 0c03: 8086:2834

00:26.01 USB Controller Serial bus controller: Intel Corporation
         Class 0c03: 8086:2835

00:26.07 USB Controller Serial bus controller: Intel Corporation
         Class 0c03: 8086:283a

00:27.00  : Intel Corporation
         Class 0403: 8086:284b

00:28.00 PCI bridge Bridge: Intel Corporation
         Class 0604: 8086:283f

00:28.01 PCI bridge Bridge: Intel Corporation
         Class 0604: 8086:2841

00:28.03 PCI bridge Bridge: Intel Corporation
         Class 0604: 8086:2845

00:29.00 USB Controller Serial bus controller: Intel Corporation
         Class 0c03: 8086:2830

00:29.01 USB Controller Serial bus controller: Intel Corporation
         Class 0c03: 8086:2831

00:29.02 USB Controller Serial bus controller: Intel Corporation
         Class 0c03: 8086:2832

00:29.07 USB Controller Serial bus controller: Intel Corporation
         Class 0c03: 8086:2836

00:30.00 PCI bridge Bridge: Intel Corporation 82801BA/CA/DB/EB PCI Bridge
         Class 0604: 8086:244e

00:31.00 ISA bridge Bridge: Intel Corporation
         Class 0601: 8086:2810

00:31.02 IDE interface Mass storage controller: Intel Corporation
         Class 0101: 8086:2820

00:31.03 SMBus Serial bus controller: Intel Corporation
         Class 0c05: 8086:283e

00:31.05 IDE interface Mass storage controller: Intel Corporation
         Class 0101: 8086:2825

02:00.00 Ethernet controller Network controller: Galileo Technology Ltd.
         Class 0200: 11ab:4362

03:00.00 IDE interface Mass storage controller:
         Class 0101: 197b:2368
 

[hwinfo -pで表示される情報]
~ # hwinfo
hwinfo -p --pci         List info about PCI devices present
       -i --interrupts  List interrupt information
~ # hwinfo -p
Bus:Sl.F Vend:Dvid Subv:Subd ISA/irq/Vec P M Module       Name
                             Spawned bus
00:00.00 8086:2990 8086:2990               V
00:01.00 8086:2991 0000:0000  7/  7/0x71 A V
00:02.00 8086:2992 8086:2992  7/   /     A V
00:25.00 8086:104b 8086:0000  5/  5/0x79 A V e1000        vmnic0
00:26.00 8086:2834 8086:2834  7/  7/0x71 A V usb-uhci
00:26.01 8086:2835 8086:2835  5/  5/0x81 B V usb-uhci
00:26.07 8086:283a 8086:283a 10/ 10/0x89 C V ehci-hcd
00:27.00 8086:284b 8086:284b  9/  9/0x91 A V
00:28.00 8086:283f 0000:0000  7/  7/0x71 A V
00:28.01 8086:2841 0000:0000 10/ 10/0x99 B V
00:28.03 8086:2845 0000:0000 11/ 11/0xa1 D V
00:29.00 8086:2830 8086:2830 11/ 11/0xa9 A V usb-uhci
00:29.01 8086:2831 8086:2831 11/ 11/0xa1 B V usb-uhci
00:29.02 8086:2832 8086:2832 10/ 10/0x89 C V usb-uhci
00:29.07 8086:2836 8086:2836 11/ 11/0xa9 A V ehci-hcd
00:30.00 8086:244e 0000:0000     005       V
00:31.00 8086:2810 8086:2810               V
00:31.02 8086:2820 8086:2820 11/ 11/0xa1 B V
00:31.03 8086:283e 8086:283e 11/   /     B V
00:31.05 8086:2825 8086:2825 11/ 11/0xa1 B V
02:00.00 11ab:4362 1148:4340  7/  7/0x71 A V
03:00.00 197b:2368 197b:2368 10/ 10/0x99 A V

 

表示された情報と/etc/vmware/simple.mapを確認しsimple.map修正するための情報を確認します。

 

今回は

8086:2820 8086:2820

8086:2825 8086:2825

が設定する情報になります。

左から

ベンダーID:ドライバID」:サブベンダーID:ドライバID

になります。

5           コマンドラインから「vi /etc/vmware/simple.map」を入力します。

simple.mapの内容が表示されます。simple.mapの下のほうに

 

8086:27c5 0000:0000 storage ahci:(82801GBM/GHM (ICH7 Family) SATA AHCI Controller
8086:27c6 0000:0000 storage ahci:(82801GHM (ICH7-M DH) SATA RAID Controller
8086:27df 0000:0000 storage ide
82801G (ICH7 Family) IDE Controller
8086:2828 0000:0000 storage ata_piix82801HBM/HEM (ICH8M/ICH8M-E) SATA IDE Controller
8086:2920 0000:0000 storage ata_piix
82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA IDE Controller
8086:2921 0000:0000 storage ata_piix
82801IB (ICH9) 2 port SATA IDE Controller

 

のような表示があります。(赤字の部分は実際には表示されません。)

http://pci-ids.ucw.cz/を見るとわかるのですが、それぞれICH7ICH7-MICH9R(赤字の部分)などの設定が記載されています。

ここにICH8の指示があれば本来は問題なく認識するはずです。

なので、ここにICH8の指示を追加します。

 

今回は

8086:2820 8086:2820 ata_piix

8086:2825 8086:2825 ata_piix

を追加する必要があります。

6           hhttp://pci-ids.ucw.cz//usr/share/hwdata/pci.idsを確認してpci.idsに設定する内容を確認します。

 

今回は28202825なのでそれぞれ

2820 82801H (ICH8 Family) 4 port SATA IDE Controller

2825 82801H (ICH8 Family) 2 port SATA IDE Controller

を追加する必要があります。

 

ここまでで下準備は終了です。


SATA情報の追加

 確認した修正の内容を実際に反映していきます。修正の反映にはコマンドラインとviエディタを利用します。LinuxUNIXになれていないとよくわからないと思いますが、このまま入力し実行していけばとりあえず何とかなると思います。

 

1           ~ # cd /tmp/

2           /tmp # mkdir -p oem/etc/vmware

3           /tmp # mkdir -p oem/usr/share/hwdata

4           /tmp # cd oem/etc/vmware

5           /tmp/oem/etc/vmware # cp /etc/vmware/simple.map simple.map

6           /tmp/oem/etc/vmware # vi simple.map

 

−−ここで下記内容を追加します。−−

8086:2820 8086:2820 ata_piix

8086:2825 8086:2825 ata_piix

(修正が終わったら「Esc」を押して、「:wq」と入力して「Enter」を押します。

7           /tmp/oem/etc/vmware # cd /tmp/oem/usr/share/hwdata

8           /tmp/oem/usr/share/hwdata # cp /usr/share/hwdata/pci.ids pci.ids

9           /tmp/oem/usr/share/hwdata # vi pci.ids

 

−−ここで下記内容を追加します。−−

2820 82801H (ICH8 Family) 4 port SATA IDE Controller

2825 82801H (ICH8 Family) 2 port SATA IDE Controller

(修正が終わったら「Esc」を押して、「:wq」と入力して「Enter」を押します。

 

10       /tmp/oem/usr/share/hwdata # cd /tmp/oem

11       /tmp/oem # chown -R 201:201 ./etc

12       /tmp/oem # chown -R 201:201 ./usr

13       /tmp/oem # chmod -R 755 ./etc

14       /tmp/oem # chmod -R 755 ./usr

15       /tmp/oem # chmod 644 ./etc/vmware/simple.map

16       /tmp/oem # chmod 644 ./usr/share/hwdata/pci.ids

17       /tmp/oem # tar -cvzf oem.tgz etc usr

 

usr/
usr/share/
usr/share/hwdata/
usr/share/hwdata/pci.ids
etc/
etc/vmware/
etc/vmware/simple.map

 

18       /tmp/oem # cp oem.tgz /bootbank/oem.tgz

19       /tmp/oem # cd /bootbank/

20       /vmfs/volumes/5eba03ec-a0a011ca-ef37-77796ad89bab # chmod 755 oem.tgz

21       /vmfs/volumes/5eba03ec-a0a011ca-ef37-77796ad89bab # reboot

 

これで再起動後に認識できるはずですが、結局iBASE MI900F-Rではうまく認識させることができませんでした。

 


DG965WHでの成功例

iBASE MI900F-Rで、SATAインタフェースをうまく認識させることができなかったので、その後リベンジということでDG965WHMKRを購入して試してみることにしました。

iBASE MI900F-RICH8でしたが、DG965WHMKRRAIDも可能なICH8DHを使っている点がSATAインタフェースでは大きな違いになります。また、iBASE MI900F-RではBIOS上からSATAのモードを設定することができませんでしたが、DG965WHMKRではSATAのモードを「IDE」、「AHCI」、「RAID」と3種類設定できます。試してみたところ、「AHCI」以外では認識できませんでした。

ここではDG965WHMKRで成功したときの設定例を必要箇所を抜粋して説明します。

 

simple.mapの修正

lspci」や「hwdata-p」を確認したところ、このマザーボードでは

8086:2821 8086:514d

の部分が設定必要なベンダーID:ドライバID」:サブベンダーID:ドライバIDであることがわかりました。

sample.mapを見回してみるとサブベンダーID:ドライバID0000:0000で設定しているところがほとんどだったので今回は

8086:2821 0000:0000

で登録をすることにしました。ドライバのモードはahciでないとうまくいかないことがあるというのを前もって調べていたのでahciを指定します。

結局

8086:2821 8086:514d ahci

としてsimple.mapに書き込みました。

 

pci.idsの修正

pci.idsの内容はhttp://pci-ids.ucw.cz/を確認して

2821           82801HR/HO/HH (ICH8R/DO/DH) 6 port SATA AHCI Controller

としてpci.idsに書き込みました。

 

実行結果

設定前

設定後

Vmhba33-36としてSATAインタフェースを認識しています。

inserted by FC2 system