【CentOS6】シリアルコンソール経由でKVMに接続する
前置き
普段は踏み台経由でssh接続しているのでシリアルコンソールは必要ないのだけど、リモートで仮想マシン編集してるとネットワークが使えない状況で仮想マシンにログインしたいことがたまにあります。前々からやろうと思って放置してましたが、設定してみました。
設定内容
CentOS6では/etc/grub.conf
を編集するだけでOK。
具体的には以下の通り。
# cat /etc/grub.conf | grep -v ^# default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1 terminal --timeout=5 serial console title CentOS (2.6.32-504.8.1.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-504.8.1.el6.x86_64 ro root=UUID=a1fdc0dc-caed-4493-b9e5-e420a97d415c rd_NO_LUKS rd_NO_MD crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=jp106 LANG=ja_JP.UTF-8 rd_NO_LVM rd_NO_DM console=ttyS0,115200 initrd /initramfs-2.6.32-504.8.1.el6.x86_64.img title CentOS (2.6.32-431.20.3.el6.x86_64)
# diff /etc/grub.conf* 14,15d13 < serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1 < terminal --timeout=5 serial console 18c16 < kernel /vmlinuz-2.6.32-504.8.1.el6.x86_64 ro root=UUID=a1fdc0dc-caed-4493-b9e5-e420a97d415c rd_NO_LUKS rd_NO_MD crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=jp106 LANG=ja_JP.UTF-8 rd_NO_LVM rd_NO_DM console=ttyS0,115200 --- > kernel /vmlinuz-2.6.32-504.8.1.el6.x86_64 ro root=UUID=a1fdc0dc-caed-4493-b9e5-e420a97d415c rd_NO_LUKS rd_NO_MD quiet rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=jp106 LANG=ja_JP.UTF-8 rd_NO_LVM rd_NO_DM
(serial
とterminal
の行を追加し、kernelオプションにconsole=ttyS0,115200
を追加してます)
反映
/etc/grub.conf
を変更したら再起動で反映。
動作確認
シリアルコンソールが有効になっているかどうかは以下の通り確認出来ます。
# initctl list | grep serial serial (ttyS0) start/running, process 1064
(stop/waiting
ならNG、start/running
ならOK)
シリアルコンソールを利用する
設定が完了するとvirsh console <domain>
で接続できるように。
# virsh console serial ドメイン serial に接続しました エスケープ文字は ^] です CentOS release 6.6 (Final) Kernel 2.6.32-504.8.1.el6.x86_64 on an x86_64 serial.hylogics.com login:
以上です。