カテゴリ:Vyatta

2011-10-25 Tue


Vyatta君の Id "T0" respawning too fast なるメッセージを止める [XenServer][Vyatta]


XenServer上で Vyatta を動かしていると

INIT: Id "T0" respawning too fast: disabled for 5 miutes


なんてメッセージが頻繁に仮想マシンのコンソールに吐き出されます。これは、XenServerで動かしている Vyatta にttyS0 が存在しないのにも関わらず、標準で ttyS0 のコンソールに関する設定が入っているためです。
なので

http://www.vyatta.org/forum/viewtopic.php?p=2559#2559

を参考に、Vyatta の設定モードから該当の設定を消してやります。

$ configure
# delete system console device ttyS0
# commit
# save


これで OK :-)



2011-10-19 Wed


XenServer5.x系に Vyattaをインストールする [XenServer][Vyatta]


Vyatta は、ソフトウェアルータとして最近数年注目されています。仮想化の流行によって、その注目度も、さらに加速している気もしますが、XenServerで使ってるぜ!ってあんまり聞かない気がするので、インストール方法を書いときます。利用者が少なくてサポートが後手に...とかなっても悲しいので ;-p

http://www.vyatta.org あたりから

vyatta-livecd-virt_VC6.3-2011.07.21_i386.iso

を入手します。Vyatta 6.3 から、XenServer専用のテンプレート(xvaファイル)は提供されなくなって、すべてのこのISOイメージがベースとなってます
"CIFS ISO Library" あたりに入れておくといいでしょう。もしISO Libraryを 作ってないなら、XenCenterをインストールしている Windowsの1ディレクトリを CIFS ISO Library として登録してしまうと、お手軽で楽。

ともあれ、まず LiveCD で Vyatta を立ち上げます。XenCenterから

1. "New VM" で、VM Template として "Other install media" を指定する。
2. "Install from ISO library or DVD drive" で上記 isoイメージを指定(*1)
3. 1vCPU & Memory 512MB & HDD 4GB あたりで VMを作成(VM名は VC63あたりで)

で、しばらく待つとVMが立ち上がってくるので、Console からログインします。初期ID/Passは、ともに "vyatta"になってます。

で、このままだと普通に LiveCD で Vyatta が立ち上がっただけなので、インストールを開始します。そのまま "install-system"と type してください。

vyatta@vyatta:~$ install-system


でここからちょっと表示と改行タイミングがあってないので、リターンキー3回押したあとに、"Yes"と入力してリターンを押してください。で、再度リターンキーを押すと、インストールが開始されるのが、見えるはずです。

なにをやったかというと

Would you like to continues? (Yes/No) [Yes]: <- リターン1回目
Partition (Auto/Union/Parted/Skip) [Auto]: <- リターン2回目
Install the image on? [sda]: <- リターン3回目
Continue? (Yes/No) [No]: Yes <- "Yes"の入力とリターン4回目
How big of a root partition should I create? (1000MB - 4295MB) [4295]MB: <- リターン5回目


を入力したことになります。

で、

Which one should I copy to sda? [/opt/vyatta/etc/config/config.boot]:


と聞かれるので、そのままリターンを押します。すると vyatta ユーザの初期パスワードを聞いてくるので、適当に付けてやります

Enter vyatta password: <- 類推しづらいパスワードを入力
Retype vyatta password: <- 確認のため、再度パスワードを入力


さらに

Which drive should GRUB modify the boot partition on? [sda]:


で、そのままリターンを押します。すると、paravirtual で動作させるかどうか聞いてきますので、Yes と答えます。

conversion to PV domU? [No]: Yes <- "Yes"の入力とリターン


これでインストールは完了です。次に XenTools を導入します。一旦、VMをshutdownしましょう

vyatta@vyatta:~$ shutdown
Proceed with shutdown? [confirm] <- リターンを入力


shutdown が確認できたら、LiveCD を Eject して VMをスタートさせます。
VMが起動してきたら、ID : vyatta で、先ほど設定したパスワードと共にログインします。また、VM の DVD Drive 1 には xs-tools.iso を指定しておきます。

あとは、下記を実行(debパッケージのバージョンは、導入している XenServerのバージョンによって異なります)

$ sudo su -
# mount /dev/cdrom /mnt
# dpkg -i /mnt/Linux/xe-guest-utilities_5.6.100-651_i386.deb
# umount /mnt
# shutdown


これで、Xen Tools の導入が完了です。が、まだ終わりません。この状態だと、完全仮想化で動くので、パフォーマンスもよくないですし、XenMotion もできません。このため、このVMを準仮想化として動作させるように XenServer 側で設定していきます。

まず、XenServer(ホスト側)にログインし、対象のVMの uuid を調べます。

# xe vm-list name-label=VC63


次に、PV で起動するようにブート関連のパラメータ設定を変更していきます。<uuid> には、上記コマンドで調べたVM の uuid を指定します。長いですが、数文字打ち込んで "Tab" キーを押せば補完入力も可能です。

# xe vm-param-set uuid=<uuid> HVM-boot-policy=
# xe vm-param-set uuid=<uuid> PV-bootloader=pygrub


次に、boot させるHDDの属性を変更します。まず最初に

# xe vbd-list vm-name-label=VC63


で、VMにつながっている HDD をチェックします。今回の例だと、device が hda と表示されているはずです。これを bootable=true にします。

# xe vbd-param-set uuid=<uuid> bootable=true


ここで指定する uuid は、vdi-uuid *ではない* ことに注意してください。vbd の uuidです。

ここまでくればあと1歩。これで reboot すれば、準仮想化として動作するはずです。が、ログインプロンプトまで順調に表示されるものの、入力ができない状態に陥るかと思います。
理由はよくわかりませんが、慌てずに一旦 XenCenter を終了させ、再度 XenCenter を起動させてみてください。今度は普通につながるはずです。

あとはよく使う Firewall のルールを入れ、/config/config.boot から "interface ethernet"を削除してからこのVMをテンプレート化してしまえば、仮想ルータを作り放題です :-)

参考: http://www.vyatta.org/getting-started/how-to-install

Referrer (Inside): [2011-10-20-1]