Xenハンズオンセミナーに行ってきたゾ

2007年1月22日(月)五反田のノベル本社でXenのセミナーがあった。カメのXenには思いっきりお世話になっているワタシも参加して、とてもためになった。そしてここで習った「ライブマイグレーション」を自分の家でもやってみたので、そうしたことを報告するのだ。

NNLの耳寄り情報

ノベルさんにはNNL(ノベルニューズレター)というメールマガジンがあって、これに購読申し込みをするかノベルさんのセミナーに来場もしくはエントリするか、資料請求するか担当者さんと名刺交換するかいずれかすると送られてくるらしい。全部やったことがあるのでそのどれが理由かわからないがワタシのところにも月に一、二度送られてくるが、これが結構ヤバいものが多い。つまり「うッ、これは行かなければ」という気にさせるイベントのお知らせが多いのだ。特に2006年夏、SUSE Linux Enterprise 10 が発表されてからのここ数ヶ月間、それ関係のセミナーに二回「うッ」と思って出かけた。
年が明けてまた一通のNNLが送られてきたがそれにはSUSE Linux Enterprise 10 Server,略してSLES10, またの名をカメプラサーバ10でXenのハンズオンセミナーのお知らせがあった。
速攻申し込む。だってこのワタシ、「はじめてのXen」とか書いてるけど、もっぱら「Xenでいろんな仮想マシンに挑戦しながらLinuxのしくみを学ぼう」というデスクトップユーザ向けの企画で、サーバ運用とか仮想ネットワークの詳しいしくみとかいうことにはかなり無知つかだぁーなんかめんどくさそうでかったりそうな感じ、いう状態でホカってある。今度のセミナーは仮想マシンの複製、配布、ライブマイグレーションなどワタシにとっては非常に弱い分野がまさに実践できるという。こりゃ行かないテはない。

立ち見でいいから見せてッ!Xenセミナー

だが、定員は18名。おまけに無料。応募者大殺到でノベルのサーバパンクということになりゃしないだろうか。いやなにせノベルさんのサーバならカメプラだし磐石だろう。と宣伝くさいことも交えてメール受理後約5分の間にこれだけのことを考えた末、指定の申込フォームから送信した。さらに「定員オーバーならハンズオンしなくていいですから立ち見でいいですから見せてください」と送信した。すると二、三日後メールが来て「おめでとうございます多数の御応募の中からあなたが選ばれました、貴様は選ばれなかった数億人の怨みと無念を背負ってこの席に座ることを肝に命じ万が一にもドタキャンなどした日にはその罪業子子孫孫まで」とは書いてなかったがキャンセルの場合は早めに御連絡くださいネというようなことが書いてあった。

やってきました五反田に

1月22日の朝、出かけた。場所は五反田のノベル本社だ。もう何度か行ったことがあったので、五反田の駅からは全く迷わなかった。だが湘南新宿ラインの大崎駅でうっかり外に出るところだった。危なかった。
ノベル本社は受付やロビーやいたるところに大小のカメぐるみやらカメのパッケージやらが置いてある。あと受付にはドイツのSuse時代の外カメさんも一匹いるのが珍しい。
会場はここの一室で、テーブルの上にノートパソコンが置いてある。HPのnx9005だ。有線でネットワークにつながれている。 セミナーの講師は「株式会社びぎねっと」の社長さんの宮原さん。最近、仮想化技術専門の兄弟会社「日本仮想化技術株式会社」も発足されたので、今回はこっちの会社としての開講である。

まずはカメプラサーバのインストールから

セミナーは10時スタート。まず、目の前のnxにカメプラをインストールすることからはじめる。机の上にはカメプラデスクトップとサーバのお試しDVDパッケージが置いてある。これを使うのだ。
nxにはDVDドライブが付いていた。これは日本仮想化技術株式会社さんが激安ドライブを仕入れて工賃ゼロで取り付けたものなのだそうだ。インストールディスクを入れたらちゃんと回った。こりゃもうお手のものだ。あらかじめインストールパッケージにXENを加え、インストールに2,30分かかる間、XENについての説明を受ける。

カメの歩みを加速するには

カメプラのインストールが済んだらさっそく仮想マシンの作成だ。だがさっそくここでとてもためになることを知った。カメプラサーバの仮想マシン作成には、データの正確性を期して、元のデータとベリファイしながらゆっくりと書き込む設定になっているのだそうだ。なるほどそれでえらく遅いのだ、ワタシも何度かやっているが2,3時間かかるのがアタリマイェーになっていた。おかげでいつも仮想カメ作成は寝る前と決め、「火の元、戸締り、仮想カメのヤッさんよし、ではおやすみなさい」という感じだった。



だがアップデートするか、設定ファイルをちょっと書き換えるかで、この問題は解決できるのだ。

それは/etc/xen/scripts/blockというファイルだ。

最後のほうに

do_or_die losetup -y $sync "$loopdev" "$file"
という記述がある。do_or_dieとはまた漢なスクリプトだが、とにかくこの-yを取る。それだけだ。それだけなのにセンセったら「さあでは編集します。vi使いますヨダイジョブですかみなさんviわかりますか」と脅かすから思わず聞いちゃったじゃないの「先生、geditでもいいですか




字だけのインストールは速ッ!

この変更を行ってから仮想カメの作成に入る。設定と起動はヤッさんにおまかせだ。カメプラヤッさんによる仮想化めの詳細は以前こちらに紹介したのでドゾ。
立ち上がった仮想カメの仮想ヤッさんインストーラでは、しかしワタシがやったことのない設定をやった。それは、「インストール項目からXとプリントサーバをはずして、あとWEBサーバを入れる」


仮想カメの「字のヤッさん」で、インストールするパッケージを編集

ガーン。絵のない、字だけの仮想カメを作るのか。GUI馬鹿一代のワタシにとってそれはかなり苛酷な条件だが、仕方がない。だがベリファイしない設定でXも入れないと、仮想カメのインストールはなんと8分程度で終わった。8分だヨ!ドラゴンフォースのどれでも同じ曲のどれか一曲聴いてるうちに終わっちまうゼ!でも当然ドラゴンフォースは聴かずにこれからの学習方針などの説明を受ける。


Xenを使うためのメモリはどのくらい?

ちなみにこの程度の仮想マシンなら、メモリは128MB分けてやればまあなんとか動くのだそうだ。さらにその128MBはいつも抑えられているわけではない。起動のときがやはり一番タイヘンで、100MBくらい食うらしい。でも、食わないときはXenが判断してドムゼロのほうに戻してくれるのだそうだ。こうしたメモリ管理システムを、閉じた容器の中で風船の一方が膨らんで他方がへしゃがる(東北弁)、というような関係として、「balloon」と呼ぶのだそうだ。それも初めて知った。Xen2.0のときはだからメモリ割り当てコマンドが「xm balloon」とされており、何度もスペルを間違えて失敗したものだがなんでバルゥーンなんて言うのかは知らなかった。とにかくぅー、全体としてはノートパソコンによくある256MBというキビシイ環境でもまあなんとか、スワップが発生してゲリゲリゲリとかなりはするが、不可能ではない、ということだった。なーるほど。ワタシは1GBより小さい環境でXenを動かしたことがないからわからなかったわホッホッホッホーッホッホッ。ちなみにワタシの使ったnxチャマには768MBものメモリが入っていた

いいなうらやましいな音の出るカメノート

それでだいたい午前中の講義が終わった。昼休みに調べたのだがグラフィックはATI RS 100ってヤツで問題なくXGAが出たし なんとサウンドがPavillion Ze4400 builitin Audioってのでちゃんと音が出た。チクショーッワタシのレツノーじゃ音が出ないのヨッだからレツノーカメではCDが聴けないのッ。と、そこまで調べたのにCPUのクロックを確かめるのを忘れたのがいかにものに子らしい。AMDのシールは貼ってあったけど。

起動した仮想カメで遊んでみる

午後からは仮想ヤッさんでルートのパスワードだのネットワークだのハードウェアだの設定する過程はまだ終わっていなかったのでそれをやった。字だけでフットワークの軽い仮想カメが構築された。自分のドムゼロや他人のマシンにpingを打ってみたり、仮想カメでWebサーバを起動してドムゼロのブラウザからアクセスしたりしてしばし楽しむ。

仮想カメをファイルコピーで複製

次にこの仮想カメの複製だ。仮想カメのネタがイメージファイルである場合ステキなのは、このファイルを複製すれば容易にもうひとつ仮想カメができることだ。そりゃま、字だけでも1.5GBくらいはあるので時間はかかるが、インストールディスクを入れ直してキーボードを設定して新規インストールを選んで...などの手間がかからない。
仮想カメの名前がvm11であれば、そのイメージファイルはヤッさん管理によるデフォルトではvar/lib/xen/images/vm11というフォルダの中にあるhdaというファイルだ。複製してvm12という名前にするには、vm1フォルダをvm12フォルダという名前で隣にコピーする。 それから、起動設定ファイルは/etc/xen/vm/vm11という名前で保存されているのでこれもvm12というファイル名で隣に保存する。

コピカメの起動設定ファイルを書き換える

さらに、この起動設定ファイルを編集し、ネタ(イメージファイル)のパスやドメイン名を書き換える。たとえば
disk = [ 'file:/var/lib/xen/images/vm11/hda,hda,w' ]
name = 'vm11'
disk = [ 'file:/var/lib/xen/images/vm12/hda,hda,w' ]
name = 'vm12'
あと、ヤッさん管理で作成されたこの起動設定ファイルには、仮想ネットワークデバイスに仮想macアドレスが与えられている。たとえば
vif = [ 'mac=00:16:3e:13:d8:bf' ]
これはvm11に与えられたアドレスであるので適当に変える。ここで00:16:3eまでは、Xensource社が登録しているアドレスなんだそうだ。やる気だなXensource。ま、末尾くらいを16進のどれかに変えてやりゃいい。16進なんだからqとか混ぜちゃだめだヨ。

コピカメの起動はコンソールから

で、仮想カメvm12を、起動設定ファイルvm12により起動する。これはヤッさんにまかせず、昔風にコンソールから打つ。
#xm create -c vm12
「vm12」と打てばXen(xend)は/etc/xen/vm/vm12のことだなとわかってくれるのだ。エライねえ。

コピカメのネットワーク設定をキレイにする

で、仮想カメ12が起動するが今度は、仮想ネットワークのデバイス名がeth1になっている。これはみだぐないので、名前をeth0に戻す方法がある。それは、この起動したコピカメでの作業だ。 コピカメの
/etc/udev/rules.d/30-net_persistent_names.rules
というファイル。ダイジョブだーッ。ドムゼロの「絵の端末」からログインしての作業だから、lsでファイル名出して端末内でコピペできるからダイジョブだーッ。
でも編集はviでやらなきゃダメぇー。このへんから、それまで優等生だったのに子の作業が遅れ始める。あとその日は雨のち晴れとはいえ乾燥した冬の日、ノートのタッチパッドが静電式らしく上に手をかざすと画面上のカーソルがあっちゃこっちゃに飛んでしまう。心の中で「待ってェー」と叫びながら、でもviで「d」キーを二回押すと一行削除できることを初めて学んだ。

そこに書いてあるのは、「コレコレのmacアドレスにコレコレのデバイス名を与えよ」という設定だ。vm11からコピーしてきたイメージファイルの中身だからvm11のmacアドレスにeth0が与えられてしまっている。今、macアドレスを変更して起動したので、eth1が与えられてしまったわけだ。そこで、ここに書いてある設定をを全部消す。

あと、sshも「前のホスト」のIDが登録されているので

#rm /etc/ssh/ssh_host*
で、関連ファイルを全部消す。

これで仮想カメvm21を再起動すれば、今度は起動メッセージに「eth0はまだ設定されていません」と出る。
これをテキスト版ヤッさんで設定する。ヤッさんのネットワークカードの設定を見ると、eth0には前の仮想カメvm11のIPアドレスがちゃっかり登録されている。「削除」をクリックする。eth0そのものが抹消されるわけではないのでダイジョブだ。「削除」されるのは「設定」で、したがってこのeth0が「まだ設定されていません」と表示される。そこで新しいIPアドレスに編集しなおす。
これで、仮想マシンの複製が完了したというわけだ。


もうXenの仮想ネットワークは(少し)語らせろ

さて仮想カメのイメージファイルをコピーなどしている間にその仮想ネットワークについての解説も受けた。

ドムゼロのコンソールでifconfigを打つと、見慣れたeth0やloの他に、見慣れないデバイス名がたくさん出てきて不気味な気分になる。
これらのうちまず「peth0」はXenでないときのeth0だ。Xenを起動すると、まずこの物理デバイスeth0がpeth0のお札をペシっと貼られて封印され、その中身はXenがひねくり出したニセのeth0にそっくりコピーされてしまう。だから今ifconfigで出てきたeth0デバイス、アドレスも生意気に割り振っててパケットの受渡しなんぞも記されているが、そいつは偽物よッ!ということになるのだ。
というのは実はちょっと違っていて、Xenはまずvif0.0、vif1.0,vi2.0...という仮想インターフェイスを自分の中に作り出し、物理デバイスeth0のマネをするのはこのうちのvif0.0だ。ドムゼロが起動するときには普通のLinuxと同じようにネットワークはどこですかぁーと探すと、ハードウェア情報の代わりにこのvif0.0の情報がeth0に渡されるわけで、正確にはだまされているのはeth0、ワタシも被害者なんですということになる。
同様に、Xenの仮想インターフェイスvif1.0はある追加ドメインのeth0になり、vif2.0は別の追加ドメインのeth0になる。じゃあ物理デバイスが2個ある場合はというと、物理デバイスeth1がvif0.1を通じてドムゼロのvif0,1になり以下同様。
実は物理デバイスは1個しかなくてもまさに架空のvif0.1をひねくり出して追加ドメインに複数の仮想ネットワークデバイスを与えることもできるらしいがそれはむづかしいらしいので深く追求しないー。
なお、ドムゼロからifconfigで見えるのはpeth0とvifの情報までで、仮想カメのeth0やeth1のアドレスがどうなっているかとかは見えない。

ワタシが理解したのはこの程度だったが、これだけでももう、あのifconfigの見知らぬデバイス名にはビビらないぞ。ドンと来おーい。


先生、宿題やってみました「ライブマイグレーション」

最後は本日のメインエベント「ライブマイグレーション」。時間の都合で結構駆け足だったので、各自家に帰ったらゆっくりやってみましょうという宿題になった。よい子ののに子はそこで、講義のノートと渡された資料をもとに、自分の二台のタワーでやってみることにした。

「ライブマイグレーション」とは、1台の物理マシンで飼ってた仮想カメを2台目の物理マシンに渡しちゃうという機能である。わかりやすく言うと1つのカメ小屋を掃除するのでそこのカメを別の小屋に移すということができるわけだ(わかりやすいのかヨ)。これが最も確実に行えるのは御察しの通り2台のハードウェアアーキテクチャが全く同じな場合である。特にCPUなんかは違ってるとうまくいかない恐れが大きく、昔に比べ暴走することはほとんどなくなってきた今日のCPUを暴走させることができる数少ない方法とも言える。


我が家のマイグレ・コンビ

ではうちの二台のマシンとはそれぞれ何者か。なお、名前はタワーの色に基づいている。関係ありそなアーキテクチャは以下の通り。

シロ子さん:Core Duo T2500, ASUS N4L-VM DH, DDR2, SATA-HDD
クロ子さん:Athlon 64 3500+, MSI K8, DDR, IDE

全然違うやないかッ。さて、カメはこんな違う家に預けられてやっていけるのか?

両マシンにカメプラサーバを入れる

これらにそれぞれ、カメプラサーバをインストールする。そんなことをしていいのかって?ワッハッハ心配は無用だ!もう何度もノベルさんのセミナーに行っているのでおミヤゲにもらったお試し版がわんさかあるのだ。全部使っていいわけでしょ、ネ。ついでにお試し版10枚集めたら正規ライセンスくれるとかなりませんかノベルさーん。

受渡しする仮想カメの原型を作る(クロ子さん)

まず、クロ子さん側にこれまでの方法で仮想カメをひとつ作った。さすがに、今度は小さく作った。セミナーで作ったのと同じ絵なし、プリントサーバなし。正常に動作することを確認する。まずこれで動作しなきゃあとの作業は全然意味ないからナ。

iscsiターゲットのネタ作成(クロ子さん)

次に、この仮想カメの複製を作る。イエース、あらゆるところでセミナーの復習をしているのだ。どこに複製するかというと、シロ子さんにも共有できるように、クロ子さんに「iscsi」ターゲットを作る。これも復習だ!復習するは我に有り(言うと思った)

iscsiというのはリモートのパーティションやイメージファイルを、あたかもscsi接続したブロックデバイスのように(おおッ何か説明してるぞコイツ)マウントできるしくみだ。
ということは、ブロックデバイスかイメージファイルがなきゃならない。作ろう。root権限で、/myscsiというディレクトリを作り、そこにmyscsi.imgというイメージファイルを作成。普段ワタシは4Gくらいでビビってしまうのだが、セミナーで8Gというデカい領域を取っていたのに安心して、こっちもそれだけ取った。カメプラと同じreiserfsでフォーマットしておく。


ヤッさんでiscsiターゲットの設定(クロ子さん)

接続先をiscsiターゲットという。これを構築するには「iscsitarget」というパッケージが必要だ。これはデフォルトではインストールされない。また、ちょっと確かめるの忘れたし今ちっとそれだけのためにカメプラ起動するのやんだぐなっているので確かめないけどヤッさんメニューにも標準では現れないかも知れない。 とにかくヤッさんのソフトウェア管理でiscsitargetをインストールしてからヤッさんを起動すると「ネットワークサービス」に「iscsiターゲット」という項目が現れる。これをクリックする。


ヤッさんでiscsitargetを探すには、「iscsi」キーワードとかでチョク探りを入れる


関係ありそなもの全部入れちゃえッ


ヤッさんに現れた「iscsiターゲット」

起動した設定画面には「サービス」「グローバル」「ターゲット」というタブがある。「サービス」のタブは、ブート時に起動するか手動で起動するかを選ぶものだ。「グローバル」は特定のユーザがパスワードでアクセスするか、認証なしでアクセスできるかを決める。

「ターゲット」が大事だ。iqnナントカという名前はありがたくいただいておくことにした。ID、LUNもしかり。「パス」だけに、さきほど作った/myscsi/myscsi.imgを指定する。


ターゲットの「パス」を設定

これでターゲットの設定は終わりだ。完了すると、サービスを(再)起動して変更を反映してくれる。

ヤッさんでiscsiイニシエータの設定(クロ子さん)

これをまずクロ子さん自身から利用してみよう。今度はヤッさんから「iscsiイニシエータ」を選ぶ。


ヤッさんの「iscsiイニシエータ」

これも設定画面には「サービス」「グローバル」などのタブがあるのでまず「検出されたターゲット」タブをクリックする。検出されたターゲットの一覧には何もない。これから検出するのだ。下に並んだボタンのうち「検出」をクリックする。
ページが切り替わって、ターゲットのIPアドレスの指定が求められる。クロ子さん自身のIPアドレスを指定する。「次へ」をクリックする。
すると、再び検出されたターゲットの一覧画面になり、今度はさきほどiqnのナントカという名前が上がっているという次第だ。


クロ子さん自身のIPアドレスを指定する


さきほど設定したターゲットが検出された

だが「接続済み」の欄がFalseになっている。心配することはない。今度は「ログイン」ボタンをクリックすればよい。「接続済み」の欄がTrueになったら、「接続したターゲット」タブをクリックして見よう。今検出したターゲットが一覧に現れているはずだ。

偽SCSIの作成を確認(クロ子さん)

で、接続したらどうなるっての?それがだヨ、きみい。ヤッさんの「システム」>「ハードディスク分割」を選んでみたまえ。「ハードウェアに精通した人じゃないとコイツは過ぎたオモチャだから特にのに子のようなヤツは触らないほうが云々」という警告が出るが突破する。大丈夫、見るだけだからサ、ゲヘ、ゲヘ。
で、見ると、そこに/dev/sdaというパーティションができているだろうッ!それが要するに今接続したiscsiターゲットなんだ!容量8Gの、ちょっと前のSCSIハードディスクのように認識されているんだ!これを見たら満足して、コイツは「中止」して元に戻る。


/dev/sdaができているッ


偽scsiデバイスを確固たるフォルダにマウントする(クロ子さん)

さてこの偽scsiは認識はされたがマウントされていないので、まだクロ子さんからも使えない。そこで、/myscsi/mntフォルダを作ってマウントしてやるのだ。これは全くフツーのマウント方法だ。
#mount /dev/sda /myscsi/mnt
マウントしたらそこに、さきほど作った仮想カメをコピーする。
#cp -R /var/lib/images/vm1 /myscsi/mny/myserver
みたくするのだ。
そしたら、さっき学んだサーバの複製方法を大活用して、このmyserver仮想カメをセットアップする

。 ここでクロ子さんから仮想カメmyserverを起動してみてもいいが、ちょっと飛躍してみよう。シロ子さん側からクロ子さんのmyserverネタにiscsiでアクセスして、仮想カメを起動しちゃうのだ。


シロ子さんからクロ子さんのiscsiターゲットを利用する

シロ子さん側の設定は、iscsiイニシエータだけだ。これは始めからヤッさんメニューに用意されている。しかし、ヤッさんでこれの設定を始めようとすると、openiscsiをインストールさせてくださいと言ってくる。そこでインストールディスクを食わせるなどしてその場でインストールさせてやる。
同じようにクロ子さんのターゲットに接続できたら、「パーティション分割するふり設定」でデバイス名を見てみよう。シロ子さんはすでにSATAなので、/dev/sdaという既に偽スカデバイス名が与えられている。そこでこれにさらに追加された偽スカはというと、/dev/sdbになっている。すばらしい。ワタシなんざ物理デバイスでさえSCSI増設なんざしたこたないのに。

こっちもそっくりのフォルダパスを作ってそこにマウントする。

#mount /dev/sdb /myscsi/mnt
でもホントはこれは安全じゃないんダ。生デバイスとして生マウントしているから、ネットワークアクセスのときのようにアクセスコントロールがされない。クロ子さんとシロ子さんが同時にターゲットにアクセスするとアクセス競合が起こる危険がある。自分がそれをやらない自信があってもどっかのうっかり駄右衛門がヤッてしまったりする可能性も否定できない(たぶん)だから、これはあくまで一時的な実験のためだけの設定だヨ。

仮想カメmyserverの起動(シロ子さん)

仮想カメmyserverの起動設定ファイルは自分で作った。実はヤッさんの自動作成したファイルは「DomUloarder」というちょっとエグい方法を取っていて、仮想カメのネタからドムゼロのテンポラリフォルダにランダムなファイル名でコピーを作ったりなんだりしている。だから複雑なことをやらそうとするとその過程がときどきエラーを吐くのだ。
だから、Xen2.0以来の正攻法で行こう。その起動設定ファイル「xmmyserver」はこんな内容だ。
kernel = "/boot/vmlinuz-xen"
ramdisk = "/boot/initrd-xen"
memory = 256
name = "myserver"
vif = [ 'mac=てきとうなmacアドレス' ]
disk = [ 'file:/myscsi/mnt/myserver/hda,hda,w' ]
root = "/dev/hda2 ro"
extra = "3"
このファイルが置かれているディレクトリに行って
#xm create -c xmmyserver
おッ、立ち上がった!これだけでも儲けもんだゼ。iscsi最強ッ。

他のホストからの引渡しができるようにする(両方)

実は、シロ子さんもクロ子さんも、「よそのホストからの仮想マシン受付はまかりならぬ」設定になっている。無論セキュリティのためだ。そこで、両方の設定ファイルを編集してこの制限を撤廃する。

/etc/xen/xend-config.sxpというファイルだ。これはどちらもドムゼロにあるファイルだから、geditで編集できるのヨ、おっほっほーッ。

(xend-relocation-server yes) になっているのを確認する。
(xend-relocation-address '') のイゲタをはずす。
(xend-relocation-hosts-allow '')のイゲタもはずす。
これでxendサービスを再起動だ。
#service xend start

シロ子さんからクロ子さんへ、仮想カメを渡す!(シロ子さん)

さて、シロ子さんがクロ子さんのネタで立ち上げた仮想カメmyserver。シロ子さん側でxm topコマンドにより、今の状態をモニタしてみよう。「Domain-0」と「myserver」がリストアップされているはずだ。

シロ子さんで別のコンソールを立ち上げる。これはドムゼロのコンソールだ。root権限で以下のコマンドを打ってみよう。

#xm migrate --live myserver クロ子さんのIPアドレス
エンターをパッシイインと押すッ!するとしばらくレスポンスがないが、ドキドキしながら見つめていると、コンソールにイゲタが現れるとともに、リストからmyserverの名前が消えた!


クロ子さんに渡された仮想カメを確認(クロ子さん)

我が環境ではディスプレイがボタンで切替えなのでちょっと臨場感に欠けるが、クロ子さんの側を見てみよう。
xm topで立ち上げたリストにはmyserverの名前が上がっている。すげえ!でもステータスがブロックの「b」になっている。生きているのだろうか?佃煮になって送られてきたなんてことはないだろうか?

クロ子さん側のコンソールで

#xm console myserver
とやってみる。Enterは一度ではダメ!二回打つ。すると、「myserver:~」というプロンプタが表れた。
ifconfigなどのコマンドを打ってみる。myserverのIPアドレスが表示された。よしよし!生きているようだ。

動作中の仮想カメをシロ子さんへ送還(クロ子さん)

デハ、もう少しライブ感を出してみよう。シロ子さんかどっかにpingを打ってみる。 64 bytes from ナントカカントカ という行がズラズラと表示される。このズラズラを放置したまま、今度はクロ子さんからシロ子さんにコイツをマイグレって見る!

pingを吐きながらヤツは戻ってきた!(シロ子さん)

クロ子さんのリストからmyserverが姿を消したら、再び画面を切り替える。シロ子さんのコンソールで
#xm console myserver
バシバシッ(Enterを2回打つ音)!来た来たーッ!pingの応答を吐き散らしながら、ヤツが戻ってきたぜーッ!すげえ。こんなアーキテクチャ違うのに。お前らカッコイイぜッ。



というわけでタイヘンためになるハンズオンでした。ノベルさん日本仮想化技術さん、ゼシゼシもっとたくさんの人に対して開催してください。Webinarとして配信してもいいかも知れませんね。


なお、ノベルのサイトにカメプラのライブマイグレーション、それからホントマジで実用でこれで仕事すんだヨという稼働例が示されている。

SUSE Linux Enterprise Server 10 ライブマイグレーション環境構築ガイド
High Availability Storage Foundation(英語)。略称HASF。前述のアクセス競合を防いだり、連携するサーバどうしが互いの状態をモニタしながら機能を補完しあったりというシステムだ。ときいたヨ確かセミナーで。