注)本日記は試行錯誤の途中状況を記録したものです。
仮想化のホストマシンは、サーバー室等に置かれていることが多く、物理的に直接デスクトップを操作することが難しく、また、デスクトップ自体がインストールされていないことも普通にあります。
リモートからコンソールで仮想化ゲストOSをインストールできるととても便利です。
そこで、virt-installコマンドを使ってコマンドラインからゲストOSとしてCentOS 6をインストールできるか試してみました。
最初の試み(virt-installでCentOS 6をテキストモードインストール)
# virt-install -n centostmpl -r 768 -s 64 --vcpus=1 \ --os-type=linux --os-variant=rhel6 \ --network bridge=br0 --nographics \ --location='http://ftp.riken.jp/Linux/centos/6/os/x86_64/' \ --extra-args='console=tty0 console=ttyS0,115200n8' \ -f /var/lib/libvirt/images/centostmpl.img Starting install... ファイル .treeinfo を読出中... | 796 B 00:00 ... ファイル vmlinuz を読出中... | 7.6 MB 00:01 ... TA ファイル initrd.img を読出中... | 60 MB 00:13 ... ETA 割り当て中 'centostmpl.img' | 64 GB 00:00 ドメインを作成中... | 0 B 00:00 ドメイン centostmpl に接続しました エスケープ文字は ^] です gPXE (http://etherboot.org) - 00:03.0 C100 PCI2.10 PnP BBS PMM2FE0@10 C100
この後、テキストモードでCentOSのインストーラが立ち上がり、NetworkManagerでネットワークを設定しようとしてエラーになってしまいました。ブリッジ接続をNetworkManagerが認識できないことが原因と思われます。
また、CentOS 6のインストーラはtextモードではファイルシステム構成、インストールするソフトウェア構成を設定できないという問題があるため、KVMゲストOSの構成を自由に設定したい場合には不向きです。
VNCなどでvirt-installでもGUI環境でのインストールができるようですが、うまく使いこなすことができませんでした*1。
次の試み:キックスタートを使う
CentOS 6のテキストモードインストールはだめっぽいので、キックスタートを使ってみます。
まず、ホストOSの/var/www/html下にCentOSディレクトリを作成し、そこにCentOS 6 DVDの中身を丸ごとコピーします。
次に、/var/www/html/ks.cfg(キックスタートの設定ファイル)を作成します。この設定ファイルの書き方はぐぐった見よう見まねです。
install url --url http://192.168.1.1/CentOS lang ja_JP.UTF-8 keyboard jp106 timezone --utc Asia/Tokyo network --device eth0 bootproto dhcp zerombr clearpart --all --initlabel part /boot --fstype ext4 --size=500 part swap --size=1024 part pv.2 --size=0 --grow volgroup VolGroup00 --pesize=32768 pv.2 logvol / --fstype ext4 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow %packages --nobase @core $end
virt-installを実行します。
# virt-install -n centostmpl -r 768 -s 64 --vcpus=1 --os-type=linux --os-variant=rhel6 --network bridge=br0 --noautoconsole --location /var/www/html/CentOS --extra-args "ks=http://bouchard/ks.cfg" -f /var/lib/libvirt/images/centostmpl.img
virsh consoleでも無反応なので、どうなっているか状況が分からないので、シリアル設定を追加します。
# virt-install -n centostmpl -r 768 -s 64 --vcpus=1 --os-type=linux --os-variant=rhel6 --network bridge=br0 --noautoconsole --location /var/www/html/CentOS --extra-args "ks=http://bouchard/ks.cfg console=tty0 console=ttyS0,115200n8" -f /var/lib/libvirt/images/centostmpl.img
virsh consoleで接続すると、テキストモードインストーラと同じような画面でNetworkManagerがhttp://192.168.1.1/ks.cfgにアクセスできないとエラーを出して対話入力待ちになっていました。
ここらで今年は時間切れ、続きは来年?
*1:virt-viewerが必要になり、結局ホストマシンのデスクトップが必要となるような気がしますが、詳しくはよく分かりません。