2010年10月

コンピュータ関連のことを、出来る時に、出来ることだけ。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【VMWareESXiの導入】の記事一覧へ


ZinoのNIC、BCM57780用のドライバはESXi4.xに含まれていません。インストールしたりESXiを稼動させたりするには、BCM57780用の「カスタムドライバ」を作成して組み込む必要があります。
カスタムドライバは、oem.tgzという名前のtgzファイル内に含めます。

oem.tgzはESXiの起動時に展開され、ディレクトリ構成を上書きします。そのため、oem.tgz内の適切なパスにドライバを配置すれば、任意のパスに目的のドライバを配置できる、という仕組みです。

■使ったもの
WinImage8.10
VMWareESXi-ブート可能なESXi4.1のUSBメモリを作成

Laplas1.53
言わずとしれたアーカイバ。bz2の解凍と圧縮に使用。

UNetbootin
ブート可能なUSBメモリを作成


■手順
1.カスタムドライバのビルド
まずカスタムドライバ本体のtg3.oを作成する必要がありますが、ここはmaruko2 Note.さんが作成されたものをそのまま使用させて頂きました。また、設定ファイルであるsimple.mapとpci.idsも使わせて頂いています。

maruko2 Note.さん、ありがとうございます<(_ _*)>

ただし、simple.mapとpci.idsはハードウェアに合わせて設定する必要があるため、次の2.の手順の中で情報収集し設定しています。


2.oem.tgzファイルの作成
(1)ブート可能なESXi4.1のUSBメモリを作成
ブート可能なESXi4.1のUSBメモリを作成」参照

(2)Tech Support Modeに移行
simple.mapとpci.idsで必要な情報を、「lspci」と「hwinfo」コマンドで確認します。
上記コマンドを実行するため、「ブート可能なESXi4.1のUSBメモリ」で起動し、Tech Support Modeに移行します。

(3)コマンドで情報取得
・Tech Support Modeにて、以下のコマンドを実行
# lspci -v
000:003:00.0 Ethernet controller Network controller: Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe
Class 0200: 14e4:1692
NICの製品名に対応する下線部分を確認

# hwinfo -p
000:003:00.0 14e4:1692 1028:040f 5/ 5/0x70 A V
lspci で確認した情報に対応する下線部分を確認

あとはAlt+F2キーでTech Support Modeを終了し、電源ボタン長押しでマシンを停止します。

(4)設定ファイルに反映しアーカイブ
Windows端末で以下の操作を行う
・「こちら」からvmware-esxi4-BCM57780-oem.tgzをダウンロード
・アーカイバ(lhaplus使用)でvmware-esxi4-BCM57780-oem.tgzファイルを展開
・展開されたファイル群より、\etc\vmware\simple.mapをテキストエディタで開き、以下の行を追加
>14e4:1692 1028:040f network tg3.o

・展開されたファイル郡より、\etc\vmware\pci.idsをテキストエディタで開き、以下の行を追加
14e4 Broadcom Corporation
・・・
1684 NetXtreme BCM5764M Gigabit Ethernet PCIe
1692 NetLink BCM57780 Gigabit Ethernet PCIe ←追加
1693 NetXtreme BCM5787M Gigabit Ethernet
・・・


・以下のディレクトリ構成で、tgz形式でアーカイブし、名前をoem.tgzに変更する。
oem.tgz
├─etc
│  └─vmware
│     pci.ids
│     simple.map
└─usr
  └─lib
     └─vmware
       └─vmkmod
          tg3.o

私は、「etc」「usr」を選択し、lhaplusを使ってtar.gz形式圧縮。名前をoem.tgzに変更して作成しました。


3.oem.tgzファイルの組み込み
(1)インストーラへの組み込み
ESXiインストール時に読み込まれるよう、USBメモリにoem.tgzを配置します。

このサイトを参考にさせていただきました。

・USBメモリは予めFAT32でフォーマットしておく。
・UNetbootinを起動。
・以下の設定で「OK」をクリックし、USBメモリへのISOイメージ書き込みを開始。
 ①ラジオボタンで「DiskImage」を選択
 ②DiskImageの右側のプルダウンメニューで「ISO」を選択
 ③ESXiのインストーラのISO「VMware-VMvisor-Installer-4.1.0-260247.x86_64.iso」を指定
 ④「Type」を「USB ドライブ」に設定
 ⑤「Drive」でUSBメモリのドライブレターを設定
UNetbootin
・書き込み中に以下のメッセージが表示されるので「Yes」をクリック。
UNetbootin
・書き込みが完了したら「Exit」をクリック。

・完成したUSBメモリ(以後「ESXiインストール用USBメモリ」)のルートディレクトリに、oem.tgzをコピー
・「ESXiインストール用USBメモリ」ルートディレクトリにあるsyslinux.cfgをテキストエディタで開く。
下線部を追加して上書き保存。
append vmkboot.gz --- vmkernel.gz --- sys.vgz --- cim.vgz --- ienviron.vgz --- install.vgz --- oem.tgz


(2)起動イメージへの組み込み
(1)が終了した状態のままでもESXiのインストールは出来ますが、ESXiの起動時にNICを認識せず停止してしまいます。(1)はあくまでインストーラにカスタムドライバを組み込んでおり、インストールされたESXiには組み込まれていないためです。

そのため、予めインストールイメージにカスタムドライバを組み込んでおきます。ESXiのブータブルUSBメモリを作成した際に取りあげた「imagedd」が、ESXiそのもののイメージファイルです。

・「ESXiインストールUSBメモリ」のルートにある「imagedd.bz2」をHDD上にコピーする。
・imagedd.bz2を展開し、imageddを取り出す。
※「VMWareESXi-ブート可能なESXi4.1のUSBメモリを作成」で取り出したimageddを使用してもかまいません。

・「imagedd」をWinImageで開く。
・WinImageの右ペインに、2.で作成した「oem.tgz」をドラッグ&ドロップ。
・以下の画面で「はい」をクリック。
WinImage1
・以下の画面で「Yes」をクリックすると、oem.tgzが上書きされる。
WinImage2
・フロッピーアイコンをクリックして上書き保存。
WinImage1

・imageddをbz2形式で圧縮し、imagedd.bz2を作成。
※bz2形式への圧縮はlhaplusで可能。
・作成したimagedd.bz2を「ESXiインストールUSBメモリ」のルートディレクトリに上書きコピー。


4.ESXi4.1のインストール
作成したESXiインストールUSBメモリで、再度ESXi4.1をインストールします。
「ESXi Installable スタート ガイド」の「対話モードを使用した ESXi 4.1 のインストール(P7)」→「手順」を実施します。
カスタムドライバも上手く読み込まれ、順調にインストールが進みましたが、今度は「7」まで進んだところで、以下の画面が出て止まりました。
error
Installation operation Failed!
The installation operation has encountered a fatal error:
Unable to find the system image to install. this is due to the image not being mounted correctly or the CD-ROM not being supported.
the following system information will assist the VMware Support team with your problem. Please record this information before proceeding.


翻訳してみると、イメージ(ISO?)が悪いみたいな事らしいです。

こちらも同様のエラーが起こっているようでしたので、参考にしてESXi4.1ではなく、ESXi4.0でインストールしてから、ESXi4.1にアップグレードしてみました。


結論から言うと、その方法で無事インストールできました♪
詳細は次回(^_^)/~



参考サイト:
VMware ESXi 4 のカスタム oem.tgz を作成する - maruko2 Note.
D510MOでVMware ESXi 4.0をインストールするには - しばそんノート
VMware ESXi を USB メモリにインストールして HP ML115 で起動 - 酒日記 はてな支店
スポンサーサイト
【VMWareESXiの導入】の記事一覧へ


ESXiにはTech Support Modeが用意されています。Tech Support Modeではシェルが起動しコマンドを実行できるため、トラブルシューティングに利用できます。

参考サイト:
VIDEO: New vSphere 4.1 ESXi Tech Support Mode(英語・動画)

■手順
(1)ESXi4.1を起動
(2)起動途中の黄色と黒の画面で、F2キーを押下
(3)Login Nameにユーザ名を入力してEnter
※デフォルト値のrootのままでOK

(4)Passwordにパスワードを入力してEnter
※初期状態だとパスワード無しのため、何も入力せずにEnterでOK

(5)System Customization画面へ移行するので、Troubleshooting Optionsを選択しEnter
(6)Enable Local Tech Supportを選択しEnter
→画面右側の表示が右ペインの表示が「Local TSM is Disabled」から「Local TSM is Enabled」に変わる事を確認
補足:「Enable Remote Tech Support(SSH)」でEnterすればsshでリモートからTech Support Modeにアクセス可能

(7)ESCキーを押下しSystem Customization画面に戻る
(8)ESCキーを押下すると、黄色と黒の画面に戻る

(9)Alt+F1キーを押下し、Tech Support Modeに変更
※Alt+F2キーで元の画面に戻る。

(10)localhost login:にroot、Password:にパスワードを入力してEnter
→特にパスワードを設定していなければ、パスワード無し。

(11)Tech Support Modeに移行し、コマンドを発行できるようになる。


【VMWareESXiの導入】の記事一覧へ


ESXi4.1のブータブルUSBメモリを作成します。

方法はほぼ以下のサイトを参考にしてます。ありがとうございます!
USB メモリブートする VMware ESXi 3.5 を作成する - maruko2 Note.

isoファイルに含まれるimagedd.bz2が、ESXi4.1のイメージファイルです。これを取り出し、USBメモリに書き込む事で、ブータブルUSBメモリを作成できます。

■使用したもの
□USBメモリ
2GBのものを使用しました。

VMware-VMvisor-Installer-4.1.0-260247.x86_64.iso
VMWareESXi4.1のインストールイメージです。

WinImage Ver8.10.8100
isoイメージやddイメージなどのイメージファイルを編集できるツールです。
isoイメージからimagedd.bz2を取り出すために使用します。
DAEMON Tools等でisoイメージをマウントして取り出しても良いのですが、ESXi導入の手順で、後々ddイメージを編集する際も使用するため、このツールを使用しました。

DDforWindows Ver0996
ddイメージをUSBメモリに書き込むことが出来るツールです。

□Laplus Ver1.53
言わずと知れたアーカイバです。bz2形式が展開できればどのアーカイバでもかまいません。


■手順
1.isoイメージからimagedd.bz2を抽出する
・WinImageを起動し、「VMware-VMvisor-Installer-4.1.0-260247.x86_64.iso」を開く。
・「imagedd.bz2」を右クリックし、「Extract」をクリック。
・「Path」で任意のフォルダを指定、「Ignore folders」選択し「OK」をクリック。
Extract
・指定したフォルダにimagedd.bz2が作成される。


2.imagedd.bz2を展開する
・Laplusでimagedd.bz2を展開すると、imageddファイルが作成される。


3.imageddをUSBメモリに書き込む。
・DDforWindowsを起動する。
・「対象ディスク」にUSBメモリ、「対象ファイル」に「imagedd」を設定する。
DDforWindows

・「<< 書込 <<」ボタンをクリックすると、USBメモリにddイメージが書き込まれる。


このUSBメモリをマシンに挿入し、USBから起動すれば、VMWareESXi4.1を起動することが出来ます。


■注意点
一旦この方法で作成したUSBメモリを元に戻したい場合は、「ディスクの管理」でUSBメモリ内のパーティションを全て削除した後、フォーマットします。理由は、USBメモリ内に複数のパーティションが作成されますが、WindowsマシンにUSBメモリを挿しても、そのままでは1つ目のパーティションしか認識しないためです。





【VMWareESXiの導入】の記事一覧へ


早速、VMWareESXiの現時点(2010/10/24)での最新版、4.1をダウンロードしてインストールしてみます。
ハード環境は以下の通り。

機種:DELL Inspiron Desktop 400(Zino HD)
チップセット:AMD 780G
CPU:AMD Athlon X2 6850e
メモリ:DDR2-SDRAM 2GB x 2
HDD:SATA HDD 500GB
NIC:Broadcom BCM57780


1.ダウンロード
VMWareのサイトから、VMWareのハイパーバイザ型無償製品であるESXiをダウンロードします。
補足:VMWareのトップページから遷移する場合は以下の順です。
「入手方法」-「評価版と無償製品ダウンロード一覧」をクリック
→「データセンター(サーバ) 無償製品」-「VMware vSphere Hypervisor (ESXi)を」をクリック

ダウンロードするのは、以下の2つです。
□ESXi 4.1 (CD ISO)
→インストールCDを作成するISO

□VMware vSphere Client
→Windows端末で動作する管理ツール

また、ここから、インストール手順が書かれているドキュメントもダウンロードしておきます。
ドキュメントは次の3系統に分かれています。
□VMWareESXi Embedded
□VMWareESXi Installable
□VMWareESX

ESXiが2つありますが、今回ダウンロードしたPCやサーバー機などのHDDにインストールするものは、ESXi Installableになります。スタートガイドをダウンロードしておきます。


2.ESXiのインストール
1.でダウンロードしたISOファイルでDVDを作成します。そのDVDからマシンをブートし、スタートガイドに沿って導入します。

ところが「対話モードを使用した ESXi 4.1 のインストール」の手順 5まで進んだ所で、以下のエラーが表示されインストールが停止しました。
Unable to load module /usr/lib/vmware/vmkmod/vmfs3: failure


いろいろと調べてみると、VMWareがサポートしているNICはかなり限られているようです。
案の定、Zinoに搭載されているBroadcomのBCM57780はHLCに記載されていませんでした。
対処法として、カスタムドライバを組み込む方法があるようです。

参考サイト:
VMware ESXi 4 のカスタム oem.tgz を作成する - maruko2 Note.
D510MOでVMware ESXi 4.0をインストールするには - しばそんノート

上記のサイトを参考に、インストーラにカスタムドライバを組み込み、ESXiをインストールしました。
手順は以下の3ステップです。
(1)カスタムドライバの作成
(2)インストーラへのカスタムドライバの組み込み
(3)ESXiのインストール


詳しくは次回から♪


参考サイト:
VMware ESXi 4 のカスタム oem.tgz を作成する - maruko2 Note.
D510MOでVMware ESXi 4.0をインストールするには - しばそんノート
今までXen4.0を試していましたが、仕事でVMwareESX/ESXiに触れる可能性が出てきました。

というわけで予習をかねて、VMWareESX/ESXi 4.xを試してみます。
いままで作成したXen環境は、残念ですが削除ですね(ToT)でも手順はこのブログに書いてるので、いつでも復旧できます♪

【VMWareESXiの導入】

1.ESXi4.1のダウンロードとインストール

2.ESXi4.1のインストール【再挑戦】
  ├ブート可能なESXi4.1のUSBメモリを作成
  └Tech Support Modeの利用方法

3.ESXi4.0のインストール→4.1へのアップグレード
  ├ESXi4.0のインストール(カスタムドライバ使用)
  ├ESXi4.1へのアップグレード
  └カスタムドライバ組み込み済みのESXi4.0インストーラをDVD化
  
Xen4.0ではまだまだやりたい事はあるのですが、仕事でVMWare使う可能性が出てきたので、今度はVMWareを試してみます。

ちなみにXen4.0でやりたかった事は以下の通り。
・ライブマイグレーション
・複数の仮想ブリッジの使用
・VGAパススルー(現マシンは非対応)
・PCIパススルー
・PtoV
・完全仮想化ドメインと準仮想化ドメインのパフォーマンス比較

機会があったらまたやりたいです。
今までとりあえずXen4.0の導入を試していましたが、ここらで目標を明確にしておきたいと思います。


第一目標は、「複数台構成のサーバーをインターネットに公開する」事です。
私が持っているマシンは1台なので、必然的にサーバーの仮想化が必要になります。
もう少し細かい方針を挙げてみます。

・サーバの1台をファイアウォールとして構成し、仮想化環境内部にDMZを構成する。
・インターネットへはVPNを使って接続する(VPNで固定IPを使えるサービスを使用)。
・DMZ内にWebサーバーを設置する。
・DMZ外に監視サーバー、テストサーバーを設置する。

図で書くとこんな感じですね。
ネットワーク図


ネットワーク構成を公開するのはセキュリティ上ちょっと問題ですけど…まあ大したこと書いてないので大丈夫でしょう( ̄∀ ̄)
とはいえセキュリティ対策は万全にするのは、インターネットに公開する上で最優先事項です。

仮想化環境の構築に何を使うかは考え中ですが、今のところVMWareServerになりそう。
散々ハイパーバイザ型試して来てホスト型?!と思いますが、理由はまた今度(^^ゞ


また、ブログの記事の方針として、経験の浅い方でもわかりやすい様に書きたいと思ってます。
私自身、この業界の経験が浅く、サーバー構築が専門でもありません。なので詳しい方が書かれている記事を読むと「分かってて当たり前」の所が分からず苦労する事が多々あります。

「分かってて当たり前」の記述は極力なくしていきたいです。


ちなみに、サーバーをインターネットに公開していた事は過去あったのですが、その知識は公開を止めた途端、記憶から霧の様に消えてしまいました。

かといってプライベートで設計書やら手順書やらのドキュメントを残すのも、時間的にちょっと辛い・・・嫌いではないんですよ。むしろ得意ですが、どうしても時間はかかるので。


そういう訳でブログに書いてます。少しでも読んで頂いた方のお役に立てれば幸いです。
【Xen4.0の導入】の記事一覧へ



完全仮想化ドメインは稼働させる事が出来たので、次に準仮想化ドメインをセットアップします。

そもそも準仮想化ドメインとは何か?をおさらいです。

Para-virtualized domain。PVドメインと略することもあります。エミュレーションのオーバヘッドを最小限におさえるために、新たに定義した仮想マシン環境を提供するドメインです。このドメイン上でOSを動作させるためには、Xen環境が再定義したハードウェア環境にあわせてOSを修正する必要があります。代わりに、このドメイン上のゲストOSは高効率で動作します。
(引用:VA Linux Systems Japan 「Xenのインストール」-「準仮想化ドメイン」)

また、準仮想化ドメインで使用するカーネルはXen用にビルドされたカーネル(Xenカーネル)です。
Xenハイパーバイザのインストールの際にビルドしたものは、Domain0とDomainU兼用のXenカーネルですので、それをそのまま使用します。


手順としては、Linuxディストリビューションを完全仮想化ドメインにインストールし、その後カーネルをXenカーネルに置き換えます。ディストリビューションには、ドメイン0と同じくCentOS 5.5を使用しました。

1.ディスク領域の確保
まずは完全仮想化の時と同様、論理ボリューム(LV)を確保します。
lvcreate -L 4G -n LogVol99 VolGroup00


2.完全仮想化ドメイン用設定ファイルの作成
完全仮想化ドメイン用のドメイン設定ファイルを作成します。
xmexample.hvmをベースに、以下の値を変更しました。詳しくは完全仮想化ドメインのセットアップを参照してください。

memory
name
uuid
disk
boot
vnclisten
vncdisplay
keymap


3.Linuxディストリビューションのインストールと設定
ネイティブLinuxのディストリビューションをインストールします。
追加パッケージは無しにしました。論理ボリューム管理(LVM)を使用すると、Domain0とDomainUで2重にLVMを使用することになるため、使用しません。

□ディスクの設定画面
CentOSInstall

ディストリビューションのインストールは、問題なく完了です。
その後VNCで接続し、ネットワークの設定を行っておきます。


4.Xenカーネルの配置
ドメイン0のカーネル関連ファイルとカーネルジュールを、ドメインUにコピーします。

[Domain0での操作]
・Xenカーネル関連ファイルとそのモジュールをアーカイブ
cd /root/
tar zPcvf boot_2.6.18.8-xen.tar.gz /boot/*2.6.18.8*
tar zPcvf modules_2.6.18.8-xen.tar.gz /lib/modules/2.6.18.8-xen/


・アーカイブしたファイルをDomainUにコピー
scp *2.6.18.8* <DomainU>:/root/

※<DomainU>にはDomainUのIPアドレスが入ります。

[DomainUでの操作]
・DomainUでアーカイブを展開
cd /root/
tar zPxvf boot_2.6.18.8-xen.tar.gz
tar zPxvf modules_2.6.18.8-xen.tar.gz


5.initrdファイルの作成
「4.Xenカーネルの配置」でDomain0からDomainUにコピーしたinitrdファイルはDomain0用に作成したものです。
Domain0はLVM環境、DomainUは非LVM環境であるため、同じinitrdではDomainUを起動できません。
理由は「ふかふかの部屋」の「3. 仮想マシン起動時に "Volume group "VolGroup00" not found"」で解説されていらっしゃいました。

そのため、DomainUでinitrdを作成します。
[DomainUでの操作]
cd /root/
depmod 2.6.18.8-xen
mkinitrd /boot/initrd-2.6.18.8-xenU.img 2.6.18.8-xen


さらにそれをDomain0にコピーします。
scp ./initrd-2.6.18.8-xenU.img <Domain0>:/root/

※<Domain0>にはDomain0のIPアドレスが入ります。

ここで一旦ドメインUをシャットダウンします。


6.準仮想化ドメイン用の設定ファイルを作成
ドメイン0で準仮想化ドメイン用のサンプル設定ファイルを作成します。
xmexample1を元に、設定値を変更しています。

□kernel = "/boot/vmlinuz-2.6.18.8-xen"
□ramdisk = "/boot/initrd-2.6.18.8-xenU.img"
Domain0上にあるカーネルイメージ及びinitrdイメージを指定します。

domUのカーネルイメージ及びinitrdイメージは、dom0からアクセスできる必要があります。それらがdomUのゲストOSのディスクイメージ上にある場合は、そのデータをdom0上へ持ってくる必要があります
(引用:VA Linux Systems Japan 「準仮想化ドメインの設定」)

「5.initrdファイルの作成」でDomainUのinitrdをDomain0にコピーしたのはこの為です。

□memory = 512
メモリの割り当て量を設定します。

□name = "sample"
仮想マシンの名前を設定します。

□uuid = "xxxxxxxxxxxxx"
uuidgenコマンドで生成したuuidを設定します。

□vif = [ '', 'bridge=xenbr0' ]
仮想ブリッジxenbr0に接続します。コメントアウトを外しただけです。

□disk = [ 'phy:/dev/VolGroup00/LogVol99,hda,w', 'phy:/dev/cdrom,ioemu:hdc:cdrom,r' ]
ディスクの設定は、完全仮想化ドメインの際と同じです。

□vfb = [ 'vnc=1,vnclisten=192.168.0.1,vncdisplay=13' ]
vnc関連の設定を1つにまとめた設定です。意味は完全仮想化ドメインの際と変わりありません。

□root = "/dev/hda2 ro"
DomainUのルートデバイス(「/」のパーティション)を設定します。

□keymap='ja'
サンプル設定ファイルには無い項目ですが、無いとVNCで接続した際不便なので設定しました。


再度ドメインUを起動します。
xm create -f sample


起動後、DomainUがXen用のカーネルで動いていることが確認出来れば、準仮想化ドメインのセットアップは完了です♪
DomainU

さらっと書きましたが、1日1時間で1週間ほどかかってますwww
特にinitrd辺りは大変でした・・・
しばらく仕事がいそがしく更新できませんでした。

記事を見返してみると、どうも構成が分かりにくいので、カテゴリごとに記事一覧を作ってみることにしました。
画面左側の「記事一覧」からアクセスできます。



【Xen4.0の導入】

1.ネイティブLinuxのインストール

2.Xenハイパーバイザのインストール

3.xendの設定

4.仮想化ドメイン(ドメインU)のセットアップ
  ├完全仮想化ドメインのセットアップ
  ├問題発生、DomainUのWin7が異常に遅い!
  ├DomainUのWindows7をセットアップ
  └準仮想化ドメインのセットアップ

5.一旦終了!


次は準仮想化ドメインのセットアップを行います。

 | Copyright © ふたごパパのサーバ構築日記 All rights reserved. | 

 / Template by 無料ブログ テンプレート カスタマイズ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。