KVM の virsh console コマンドを使って、(極端な話、ネットワークが有効になっていなくても)ホストOSからゲストOSにコンソールログインすることができる、ことになっています。
が、何も考えずに virsh console (ドメイン名) を実行すると
と表示され、ここで Enter キーを押すとログインプロンプトが表示される・・・はずなのですが、なぜか固まってしまいます。
どうもゲストOS側でコンソールログインをするための設定が必要な模様。結論としては次の2点:
(1) /etc/grub.conf にカーネルオプションを追加設定
kernel /vmlinuz-2.6.18-238.el6 ro root=/dev/*** console=tty0 console=ttyS0,115200n8
(kernel で始まる行の最後に赤字部分を追加、kernel で始まる行が複数ある場合は全てに設定)
(2) /etc/inittab にコンソールモードの設定を追加
S0:12345:respawn:/sbin/agetty ttyS0 115200
(赤字の一行を追加)
これで再起動後に、改めてホストOSから virsh console XXXX でコンソールログインが可能になります。
なお、コンソールから抜けるには CTRL+] です。
ゲストOSが
・別のゲストOSを元に複製で作成して、
・DHCPでIPアドレス設定するようになっていて、
・かつGUIが使えない(virt-manager から参照できない)
ようなケースでは、起動直後のIPアドレスを確認するための手段が「コンソールログインして ifconfig」しかないので、この方法が必要になるのでした。
が、何も考えずに virsh console (ドメイン名) を実行すると
ドメイン XXXX に接続しました
エスケープ文字は ^] ですと表示され、ここで Enter キーを押すとログインプロンプトが表示される・・・はずなのですが、なぜか固まってしまいます。
どうもゲストOS側でコンソールログインをするための設定が必要な模様。結論としては次の2点:
(1) /etc/grub.conf にカーネルオプションを追加設定
kernel /vmlinuz-2.6.18-238.el6 ro root=/dev/*** console=tty0 console=ttyS0,115200n8
(kernel で始まる行の最後に赤字部分を追加、kernel で始まる行が複数ある場合は全てに設定)
(2) /etc/inittab にコンソールモードの設定を追加
S0:12345:respawn:/sbin/agetty ttyS0 115200
(赤字の一行を追加)
これで再起動後に、改めてホストOSから virsh console XXXX でコンソールログインが可能になります。
なお、コンソールから抜けるには CTRL+] です。
ゲストOSが
・別のゲストOSを元に複製で作成して、
・DHCPでIPアドレス設定するようになっていて、
・かつGUIが使えない(virt-manager から参照できない)
ようなケースでは、起動直後のIPアドレスを確認するための手段が「コンソールログインして ifconfig」しかないので、この方法が必要になるのでした。
コメント