墜落日記 - 2010年7月19日の墜落
XenServer の感触
XenServer を選択肢に入れてみたはいいけど XenServer 自体は使ったことがない。
XenServer の利用には Linux の知識が必要とか言われているけど、どの程度の Linux の知識が必要とされているのかも定かではない。
なので、仮想ゲスト自体は作れなかったとしても感触を確かめるために VMware Player 3.0 の中に XenServer 5.6 を放り込むという暴挙を試みた。
結論から言うと、取り敢えず動いた(笑)
ただ、仮想ゲストはまだ作っていない。
Domain-0 の Linux はインストール時に設定した root ユーザのパスワードで SSH2 にてログイン出来た。
実環境では root でいきなりログイン出来ちゃうこととか、パスワード認証だけで入れちゃうこととか、この辺りのセキュリティは色々と調整しないとまずいかな。
情報を得たかった XenServer のストレージ管理は、Strage Repository (SR) という単位で行うらしい。
Strage Repository を作成するには、NFS 上の VHD ファイルか、iSCSI か、FC が必要になる。
ローカルストレージを Strage Repository として利用したい場合、XenCenter からは追加できない模様。
Domain-0 に入ってブロックデバイスなりパーティションなりを LVM 化してマウントしないといけないようだ。
例えば、hdb 全体を Strage Repository として登録したいなら Domain-0 で以下のようにするらしい。
xe sr-create name-label="Local Strage 1" type=lvm device-config:device=/dev/hdb
パーティション単位ならこんな感じだ。
xe sr-create name-label="Local Strage 2" type=lvm device-config:device=/dev/hda3
すると即座に XenCenter 側に Strage Repository が認識され、利用できるようになる。
削除したい場合は、
xe pbd-list
で解放したい PBD の UUID を調査し、
xe pbd-unplug uuid=...
xe pbd-destroy uuid=...
さらに
xe sr-list
で削除した Strage Repository の UUID を調査し、
xe sr-forget uuid=...
で忘れさせる………らしい。
まだコマンドの詳しい内容は調査中。
自分、Linux の Logical Volume Manager (LVM) は今まで触ったことないので、ちょっとまとめる。
LVM では、物理パーティションなどをまず Physical Volume (PV) として確保する。
それら Physical Volume を論理的にひとまとめにして Volume Group (VG) を構築する。
そして Volume Group の中に Logical Volume (LV) を作成し、各ディレクトリにマウントする仕掛けになっているらしい。
これにより物理パーティションを抽象化した柔軟な領域管理が行えるようだ。
XenServer でローカルディスクを利用する場合、Strage Repository にはどうもこの Volume Group が相当するらしい。
前述の xe sr-create で構築した Strage Repository の中に仮想ディスクを作成すると、Logical Volume が増えたことが lvscan コマンドから確認できた。
Logical Volume の中身はまだ見ていない。
しかし1つ疑問が。
xe sr-create コマンドでは Physical Volume の作成から Volume Group の作成、Strage Repository への登録まで一気にやってしまった。
しかし既存の Volume Group を登録したい場合、どのようになるのだろう?
例えば XenServer 自体をクリーンインストールせざるを得ない場合などに、既存の Volume Group を Strage Repository へ登録して既に作成済みの仮想マシンを再利用できないと非常に具合が悪い。
で、調べていくと一応方法はあるらしい。
"xe help --all" でコマンド一覧を調べ、"sr-introduce" コマンドが怪しいと思ったので検索したら出てきた。
んが、なんでこんなに面倒なんだ?
VM メタデータの収集? VMware の *.vmx ファイルみたいにゃ簡単に読み書きできないってこと?
Volume Group の認識がなんで UUID? 名前でいいじゃん? ローカルなんだし?
あの XenServer が勝手に付ける分かりにくい Volume Group 名を変えちゃダメってこと?
でも UUID から Volume Group が認識できるってことは Volume Group の UUID を調べる方法はあるってコトだよな?
って言うか、どうして Volume Group が直接 Strage Repository へマウントされていないわけ?
PBD ってなんぞ? 物理ブロックデバイス? XenServer ホストと SR 間のコネクタ?
ちなみに Volume Group 名を変えたら再起動後に Strage Repository を認識しなくなった?
UUID から Volume Group 名を機械的に生成、認識しているらしい?
またも疑問符だらけ。
様々なストレージの種類を抽象化するための仕組みだとは思うけど、勉強が足りん………(汗々)
取り敢えず日本語化されている XenServer 5.5 管理者ガイドでもって勉強しよう。
この辺りがクリアになれば、無理にストレージサーバ構成を取らなくても良くなるんだけど………
基本的な感触としては、Strage Repository に登録したらその後は Domain-0 から触れてはいけない感じ?
ちなみにこちらにも記述はあったが、XenServer の再インストール、アップグレードインストール時に仮想ゲスト用のストレージを選択する画面でストレージ選択してしまうとパーティション情報が問答無用で初期化されてしまうらしい。
なんちゅ~危ない作りをしてるんだ!?
でも障害時の復旧手段とか考えたら VMware の VMFS と違ってまだ LVM でいじれる分だけマシかなぁ~?
ん~ VMFS も Linux にマウントできるようにならないかなぁ~?
コメントは投稿されていません。