vyatta6.0の仮想化への対応が素晴らしい件

vyatta6.0のbetaが出たこともあり、XenServerで試してみようとしたところ配布されているXenServer imageがなぜかXenCenterからインポートできず、HVMでインストールしてPVに変えるかとvyattaのサイトでisoをダウンロードしようとした所、Virtualization isoというものを発見。
通常のisoもあるのですがvirtualizationという単語もついているしCitirixから資本も投下されているからXenServerでもうまく動いてくれるのではと思い、virtualization isoの方を使用してインストールしたのですが、これが素晴らしい出来でした。
さすがCitirxのお金が入っているだけあって、XenServerのHVMでインストール自体は問題なく完了し、リブート直前に「XenServerのHVMで動いているようだけど、PVで動かす予定ある?」と訊かれ(メッセージは英語でしたが)、Yesと答えてインストールは完了。
その後どうしていいのかわからなかったので、とりあえずHVMからPVへいつもの手順で変換し、徐に起動したところあっさりと起動してくれました。
ubuntuやdebianのHVMからPVは落とし穴があって色々苦労したんですが、virtualization isoではfstabにはデバイスファイル名を書かないようになっていたり、ブートローダー周りもうまくやってくれているようです。
拍子抜けでしたが、ハマリどころなくて良かったな、と。

ちなみに、ubuntu/debianどちらもPVにできたんですが、以下の点で苦労しました。トライする人はご注意ください。

  • pygrubはgrub2形式の設定ファイルを取り扱うことができません。ubuntu9.10はgrub2が入るのでgrub-pcへ入れ替えなければPV後起動できなくなります。
  • /bootパーティションは論理パーティションに置かなければなりません。ubuntuデフォルトでは拡張パーティションに/bootが作られるので、PV化すると起動しなくなります。
  • HVM/PVどちらでも動くようにするためには、それぞれに対応したカーネルをインストールし、grubのroot=の箇所はUUIDで書くとどちらでもうまく扱ってくれると思います(おぼろげ)。
  • 起動しなくなったら、ホストからxe-edit-bootloader コマンドでVMのfstabが編集できる。ただし、論理パーティションに/bootがある場合のみにしか使用できない。
  • xe vm-param-set uuid=<VM UUID> PV-args=”console=tty0 xencons=tty” のPV-argsは使用するカーネルによって違う。citrixのforum等ではconsole=hvc0にするよう書いてあったが、自分の場合はnoninteractive(CentOSと一緒)でコンソールが使えた。tty0やhvc0では逆にコンソールが使えなかった。

容量が結構あるので、サーバには置きませんがubuntu9.10、debian lennyのXenServerテンプレート(amd64)欲しいかたいたらtwitter:artnまでご連絡ください。おすそ分けします。

  1. No comments yet.

  1. No trackbacks yet.