Hatena::Diary

S5R

2010-03-28

VMware ESXi と FreeNAS で仮想化環境を構築しよう

17:10 | はてなブックマーク - VMware ESXi と FreeNAS で仮想化環境を構築しよう - S5R

概要

サーバを 2 台使って、 VMware ESXi と FreeNAS を構築します。

VMware ESXi が稼動してるサーバには HDD を一切接続せずに、 FreeNAS 上の NFS を VMware のストレージとして使用します。

なぜ 2 台使うのか

ML115 は電源容量が 365W と非常に少なく*1、 CPU やメモリ、その他ハードウェアデバイスを接続した上で、大量の HDD を接続するとすぐに電源が足りなくなってしまいます。

また、 ML115 の電源は特殊な形状・ネジ配置になっており*2、通常の ATX 電源は使用できません*3

電力消費の大きい CPU と HDD を別々のサーバに分離することで解決するのが、今回の方法です。

また VMware ESXi では、ローカルに接続された HDD は独自のファイルシステムでフォーマットするため、 HDD クラッシュ時のサルベージで非常に手間がかかります。

必要なもの

ハードウェア
  • サーバ 2 台 (僕は ML115 G5 を 2 台使います)
  • USB メモリ 2 本 (容量は 1GB くらいあれば良いと思います、数百円程度で購入できるはずです)
  • HDD たくさん
ソフトウェア
  • VMware ESXi
  • FreeNAS

VMware ESXi のセットアップ

VMware ESXi を動作させるマシンでは HDD を動作させないので、 CPU やメモリのアップグレードがオススメです。

私は CPU を AthlonII X4 630 に、メモリは 8GB(2GBx4) に換装しました。

HDD や光学ドライブは使用しませんので、電源ケーブルを抜いておくのがオススメです。

インストール方法

VMware ESXi のインストーラディスクからイメージファイルを抽出し、 dd コマンドを使って USB メモリに VMware ESXi を直接コピーします。

Windows マシンでは DD for Windows というソフトを使えば良いようです。

Mac OSX や Linux その他 Unix コマンドが使用できる環境下では、 dd コマンドを使用しましょう。

Mac OSX では、 USB メモリが自動的にマウントされて非常に面倒なので umount コマンドで手動アンマウントしましょう。

mount コマンドで /dev/disk1 とかがマウントされているとこを調べて umount -f でアンマウントします。

umount -f /Volumes/USB_Memory

その後 dd コマンドでイメージをコピーすることでブート可能な USB メモリを作成することが出来ます。

USB メモリをサーバに刺して VMware ESXi を起動する

突き刺す、 USB から起動しよう。

ML115 にはなぜかマザボに直接 USB 端子が付いていて、 USB メモリを箱の中に隠すことが出来ます。

USB メモリをうっかり蹴飛ばすなどの事故が未然に防げるのでオススメです。

とりあえず、 VMware ESXi が起動したところで 1 台目は放置しておきます。

FreeNAS のセットアップ

FreeNAS は LiveCD があるのですが、 LiveCD では設定ファイルを保存できないので、 USB メモリ上にインストールします。

このマシンには HDD を積んであるので HDD に直接インストールしても良いのですが、出来ることなら HDD を全て繋げて RAID を構築したいところです。

なので、 USB メモリにインストールします。

FreeNAS の LiveCD を CD-R に焼く

FreeNAS は dd コマンドを使って直接書き込むことが出来ないので、一旦 CD-R に焼き、 USB メモリにインストールします*4

ポイントは USB メモリを通常のストレージと扱って普通にインストールするということです。

あと USB メモリは UFS でフォーマットしておきましょう。

FreeNAS で NFS の設定をする

HDD をたくさん刺しましょう。 FreeBSD ですので、 ZFS を使用した RAID5 (RAID-Z) を構築するのも良いかもしれないですね。

FreeNAS の設定はググればたくさん出ると思いますので、各自しらべて設定をしましょう。

重要なのは NFS を有効にし、 VMware ESXi でストレージとして認識可能にすることです。

VMware ESXi の設定を行なう

VMware ESXi は VIC (VMware Infrastructure Client) を用いて操作を行ないます。 VIC を動作させるためには Windows か Linux が必要になります*5

VIC から仮想マシンを作成し、データストアには FreeNAS で作成した NFS を指定しましょう。

NFS で指定することによって、通常のファイルシステム上に VMware のイメージファイルを作成することが出来ます。

また、それらのイメージファイルは ESXi だけでなく、他の VMware 製品でも利用することが出来ます。

VMware ESXi で楽しもう

僕のように、メインで使用するマシンが MacBook であったりすると、 VIC を利用するために VirtualBox を起動しなくてはいけませんが、 ESXi 上に Windows Server を構築し、そこに VIC をインストールすることで解決することが出来ます。

また、 VI Remote CLI (VMware Infrastructure Remote CLI) というツールを使用することで、コマンドラインから操作することが出来ます。

Linux にインストールすることも出来るのですが、 Virtual appliance for the VMware Infrastructure Remote CLI と呼ばれる、 VI Remote CLI がインストール済みの Linux を VMware ESXi にインポートするのも良いでしょう。

まとめ

  • VMware を扱うときには Windows か Linux が無いと辛い
  • VMware ESXi は独自ファイルシステムでフォーマットするのはやめてほしい
  • VIC がイマドキ J# で書かれてるなんて信じられない
  • J# で実装するくらいなら、 Java で書いた方が Mac OSX ユーザも幸せになれてよかったのにな
  • VMware は Windows が要らなくなったら革命する(俺の中で)

*1http://www26.atwiki.jp/ml115_g5/pages/11.html

*2http://www26.atwiki.jp/ml115_g5/pages/31.html

*3:ケースに穴を開けることで解決することも出来るようです http://d.hatena.ne.jp/kurohige2/20091215/1260877213

*4:仮想マシン上に FreeNAS をインストールして、そこで USB メモリに書き込むという方法も出来ると思います

*5:僕はあいにく OSX しか持ち合わせていなかったので VirtualBox 上に Windows をインストールし、そこから VIC を起動するというようなことをしていました

トラックバック - http://d.hatena.ne.jp/s5r/20100328/1269763805