ハイパーバイザ型仮想化ソフト事始め その4 NetBSDでXen/Dom0とRAID構築編
posted by jun-g at Sun, 08 May 2011 14:42 JST
前回の続き 。
NetBSDのインストール
まずはNetBSD 5.1/amd64をインストール。普通にインストールCDから起動してインストール先をUSBメモリにしてインストールするだけで完了。
…とはいかず。ML110 G6のオンボードLANがNetBSDで認識されなかった。VM用にPlanexのLANアダプタを増設してあってそちらは認識されたので無事インストールできた。
PLANEX PCI-EX 1000BASE-T LANアダプタ GPE-1000T
インストール後、USBから問題なくブートする事を確認。NetBSDを初めて触ったのでFreeBSDとの違いにやや戸惑う。cvsupすら無いのか。でもって最新のpkgsrcをcvsからcheckoutして下準備。USBメモリの書込速度が遅いことも手伝ってめちゃくちゃ時間がかかった。
Dom0の構築
4月上旬に最新のXen4.1がpkgsrcに登録されたことを知り早速インストールしようとしたが、pkgsrcのMakefileを見るとNetBSD-currentでしか使えないみたいだった。残念。
というわけで、pkgsrcに登録されている一つ前のバージョンであるXen3.3を使う事にした。インストールおよびセットアップは以下のページを参考にした。
Xenのインストール及び設定が完了し、無事Dom0が起動していることが確認できた。
# xm list Name ID Mem VCPUs State Time(s) Domain-0 0 512 1 r----- 10.3
RAID10の構築
続いてRAID10の構築。 NetBSDでは標準で RAIDframe という機能が搭載されていて、これを使ってRAIDを構築する。
FreeBSDでRAID10を構築した際はgmirrorでRAID1アレイを複数作成し、それらをgstripeでRAID0に束ねるという方法を使ったが、NetBSDでも同様の方法で構築する、とraidctl(8)のマニュアルに書いてあったのでその通りにする。RAID構築にあたっては下記のページを参考にした。
まずはRAID1でraid0とraid1(ややこしいがそれぞれデバイス名)の設定ファイルを作成。
# cat /etc/raid0.conf START array 1 2 0 START disks /dev/wd0e /dev/wd1e START layout 128 1 1 1 START queue fifo 100 # cat /etc/raid1.conf START array 1 2 0 START disks /dev/wd2e /dev/wd3e START layout 128 1 1 1 START queue fifo 100
次に実際にRAID1アレイを構築して初期化。
# raidctl -C /etc/raid0.conf raid0 # raidctl -I 0 raid0 # raidctl -iv raid0 # raidctl -C /etc/raid1.conf raid1 # raidctl -I 1 raid1 # raidctl -iv raid1
でもってdisklabelを設定してnewfsして使えるようにする。disklabelはこんな感じ。
# disklabel raid0 # /dev/rraid0d: type: RAID disk: raid label: fictitious flags: bytes/sector: 512 sectors/track: 128 tracks/cylinder: 8 sectors/cylinder: 1024 cylinders: 1907739 total sectors: 1953524992 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # microseconds track-to-track seek: 0 # microseconds drivedata: 0 4 partitions: # size offset fstype [fsize bsize cpg/sgs] a: 1953524992 0 4.2BSD 0 0 0 # (Cyl. 0 - 1907739*) d: 1953524992 0 unused 0 0 # (Cyl. 0 - 1907739*)
raid1のdisklabelも同じ内容。続いてRAID0の構築。raid0とraid1を束ねる。
# cat /etc/raid2.conf START array 1 2 0 START disks /dev/raid0a /dev/raid1a START layout 128 1 1 0 START queue fifo 100 # raidctl -C /etc/raid2.conf raid2 # raidctl -I 2 raid2 # raidctl -iv raid2
あとは同じようにdisklabelを書きこんでnewfsして完了。マウントしてファイルの読み書きが出来ることを確認。
しかし再起動してみるとraid2が認識されない。どうもautoconfigというモードを有効にしないといけないらしいのでautoconfigを有効にする。
# raidctl -A raid0 # raidctl -A raid1 # raidctl -A raid2
raid0とraid1はしなくても良かったのかもしれないが念の為。これで再起動しても自動的にraid2が認識されるようになったので、/etc/fstabにマウントの設定を追加して作業完了。
# echo '/dev/raid2a /pub ffs rw 1 2' >> /etc/fstab
続く。