ESXi環境作成(その2)

ちょっと前回のは書き方が雑だったなぁ…と反省。
詳細に書き直してみることにする。

環境

マザーボード:Biostar TF7050-M2
チップセットNVIDIA GeForce 7050PV GPU
メモリ:1GB
HDD:Hitachi 300GB
オンボードLAN:Realtek RTL8111B - 10/100/1000 Controller
追加NICIntel PRO/1000 PT Desktop Adapter(PCI-E x1)

インストールメディア

近所のDOSパラにて1GBのUSBメモリ購入。はやりのUSBメモリ起動でやってみることに。
なお、以下の作業はすべてFedora9にて行っています。

  1. ESXi3.5Update2のISO イメージをダウンロードする。
  1. ISOイメージをループバックマウント
mount -t iso9660 -o loop VMware-VMvisor-InstallerCD-3.5.0_Update_2-110271.i386.iso ./mnt
  1. install/usr/lib/vmware/installer/ の中にあるVMware-VMvisor-big-3.5.0_Update_2-110271.i386.dd.bz2 を解凍する。
  2. VMware-VMvisor-big-3.5.0_Update_2-110271.i386.dd をUSBメモリにddコマンドで書き込む
dd if=VMware-VMvisor-big-3.5.0_Update_2-110271.i386.dd of=/dev/sdb

このUSBメモリから起動させて、黄色とグレーのESXiの画面になればOK!

ネットワーク

残念ながらオンボードLANは認識してくれないようです。
各所で動作報告のある「Intel PRO/1000 PT Desktop Adapter」を搭載し、正常にIPアドレス設定も出来ました。

VMware Infrastracture Clientのインストール、接続

IPアドレスを固定で設定し、管理PCとして使うThinkPadからFireFoxで接続。
見事ブラウザでホーム画面表示

…しかしVI ClientがWindowsにしか対応していないので、WindowsXPにて再度接続。
VI Clientをインストールして接続。
IPアドレス、ユーザー名:root、パスワードなしで接続出来ました。

HDDの認識

やはりこれもいろんなところで「認識しない」って話が。
どうやら初期状態では駄目なようなので、手を入れる必要があります。
起動時に展開される oem.tgz の中身を環境に合わせて変更することで行けそうです。

ssh接続の作業

すべてを実機でやると大変なので、リモートコンソールとしてSSHを使用できるようにします。

  1. ESXiの起動画面にて[Alt+F1]を押します。
  2. なんだか起動時の情報が表示されてますが、気にせず「''unsupported''」と入力します。
  3. パスワードを聞かれるので、設定したrootパスワードを入れます。
  4. コンソールが使えるようになるので、viを使って/etc/inetd.conf を編集します。
# ssh     stream  tcp     nowait  root    /sbin/dropbearmulti     dropbear ++min=0,swap,group=shell -i

の行の#をとってコメント状態を解除します。

ssh     stream  tcp     nowait  root    /sbin/dropbearmulti     dropbear ++min=0,swap,group=shell -i
  1. [reboot]コマンドで再起動します。

これでSSH接続が可能になります。

情報収集

IDを調査しないと手が出ないので、[''lspci -v'']を入力します。
すると、こんなのが出力されます。

00:00.00 RAM memory Memory controller: nVidia Corporation
         Class 0500: 10de:0547

00:01.00 ISA bridge Bridge: nVidia Corporation
         Class 0601: 10de:0548

00:01.01 SMBus Serial bus controller: nVidia Corporation
         Class 0c05: 10de:0542

00:01.02 RAM memory Memory controller: nVidia Corporation
         Class 0500: 10de:0541

00:02.00 USB Controller Serial bus controller: nVidia Corporation
         Class 0c03: 10de:055e

00:02.01 USB Controller Serial bus controller: nVidia Corporation
         Class 0c03: 10de:055f

00:04.00 USB Controller Serial bus controller: nVidia Corporation
         Class 0c03: 10de:055e

00:04.01 USB Controller Serial bus controller: nVidia Corporation
         Class 0c03: 10de:055f

00:06.00 IDE interface Mass storage controller: nVidia Corporation IDE interface Mass storage controler: nVidia Corporation [vmhba0]
         Class 0101: 10de:0560

00:08.00 PCI bridge Bridge: nVidia Corporation
         Class 0604: 10de:0561

00:09.00  : nVidia Corporation nVidia Corporation [vmhba1]
         Class 0106: 10de:0554

00:11.00 PCI bridge Bridge: nVidia Corporation
         Class 0604: 10de:0562

00:13.00 PCI bridge Bridge: nVidia Corporation
         Class 0604: 10de:0563

00:14.00 PCI bridge Bridge: nVidia Corporation
         Class 0604: 10de:0563

00:15.00 PCI bridge Bridge: nVidia Corporation
         Class 0604: 10de:0563

00:16.00 PCI bridge Bridge: nVidia Corporation
         Class 0604: 10de:0563

00:17.00 PCI bridge Bridge: nVidia Corporation
         Class 0604: 10de:0563

00:18.00 VGA compatible controller Display controller: nVidia Corporation
         Class 0300: 10de:053a

00:24.00 Host bridge Bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
         Class 0600: 1022:1100

00:24.01 Host bridge Bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address MapK8 NorthBridge
         Class 0600: 1022:1101

00:24.02 Host bridge Bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
         Class 0600: 1022:1102

00:24.03 Host bridge Bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
         Class 0600: 1022:1103

01:06.00 Unknown mass storage controller Mass storage controller: Triones Technologies, Inc. HPT366/368/370/370A/372
         Class 0180: 1103:0004

03:00.00 Ethernet controller Network controller: Intel Corporation 82572EI Gigabit Ethernet Controller [vmnic0]
         Class 0200: 8086:10b9

この中で、

00:06.00 IDE interface Mass storage controller: nVidia Corporation IDE interface Mass storage controller: nVidia Corporation
         Class 0101: 10de:0560
00:09.00  : nVidia Corporation nVidia Corporation
         Class 0106: 10de:0554

IDE/SATA関連のデバイスのようですね。
IDEってついてない[00:09.00]がSATA側かな?

simple.mapの編集

早速設定してみます。以下はコピペできるようにそのまま貼り付け。

cd /tmp/
mkdir -p oem/etc/vmware
mkdir -p oem/usr/share/hwdata
cd oem/etc/vmware/
cp /etc/vmware/simple.map simple.map
vi simple.map

ここで

10de:0560 0000:0000 storage ide
10de:0554 0000:0000 storage ahci

を記述。

pci.idxの編集

次に、認識したときの名称として使われる(みたいな)ファイル、pci.idxを設定

cd /tmp/oem/usr/share/hwdata
cp /usr/share/hwdata/pci.ids pci.ids
vi pci.ids

ここの2731行目に

10de  nVidia Corporation

ってあるので、ここより下に追記する。まぁIDに合わせたぐらいの位置が妥当かな?

        0560  IDE interface Mass storage controller: nVidia Corporation
        0554  nVidia Corporation
編集したファイルをoem.tgzに戻す

さて、編集したファイルも実際に使われるファイルとして配置しないと意味がないので、以下の作業が必要。

cd /tmp/oem/
chown -R 201:201 ./etc
chown -R 201:201 ./usr
chmod -R 755 ./etc
chmod -R 755 ./usr
chmod 644 ./etc/vmware/simple.map
chmod 644 ./usr/share/hwdata/pci.ids
tar -cvzf oem.tgz etc usr
cp oem.tgz /bootbank/oem.tgz
cd /bootbank/
chmod 755 oem.tgz

これで起動時に編集したファイルが読まれることになる。

起動確認

起動後に再度確認してみる。
lspci -vの結果

00:00.00 Memory controller: nVidia Corporation
00:01.00 Bridge: nVidia Corporation
00:01.01 Serial bus controller: nVidia Corporation
00:01.02 Memory controller: nVidia Corporation
00:02.00 Serial bus controller: nVidia Corporation
00:02.01 Serial bus controller: nVidia Corporation
00:04.00 Serial bus controller: nVidia Corporation
00:04.01 Serial bus controller: nVidia Corporation
00:06.00 Mass storage controller: nVidia Corporation IDE interface Mass storage controller: nVidia Corporation [vmhba0]
00:08.00 Bridge: nVidia Corporation
00:09.00 : nVidia Corporation nVidia Corporation [vmhba1]
00:11.00 Bridge: nVidia Corporation
00:13.00 Bridge: nVidia Corporation
00:14.00 Bridge: nVidia Corporation
00:15.00 Bridge: nVidia Corporation
00:16.00 Bridge: nVidia Corporation
00:17.00 Bridge: nVidia Corporation
00:18.00 Display controller: nVidia Corporation
00:24.00 Bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:24.01 Bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address MapK8 NorthBridge
00:24.02 Bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:24.03 Bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:06.00 Mass storage controller: Triones Technologies, Inc. HPT366/368/370/370A/372
03:00.00 Network controller: Intel Corporation 82572EI Gigabit Ethernet Controller [vmnic0]

おぉ?vmhba0とvmhba1が出来てるぞ!
これで認識したかな。

…といってもSATAのHDDしかないから、vmhba1側しか確認できないけど

VI ClientにてHDDの確認

VI Clientの[Configuration]から[Storage]へ行き、ウィザードでHDDを確認。
ちゃんと認識してるじゃないの(^-^)
早速すべてをvmfs3でフォーマットしてストレージとして使えるようにしておいた。

あとは

仮想マシンを作って遊んでみるだけだね〜