CentOS7 KVMゲストOS(CentOS7)へコンソールログインができない

シェアする

KVM上でゲストOSにCentOS7を導入し、そのゲストOSへコンソールログインをしようとした場合、ログインが出来ずに固まってしまいます。

ゲストOSへコンソールログインを出来るようにするには、ゲストOS側での設定変更を行なう必要があります。

ゲストOSへのコンソールログインができるようにする

ホストOSからゲストOSへ接続しようとしても、途中で固まってしまいます。
これは、ゲストOS側がコンソールログインが出来るようになっていないためです。

# virsh console centos72 <LF>
Connected to domain centos72
Escape character is ^] <= ここでストップ

ゲストOS側の設定を変更します。
SSHでログインするか、もし、ゲストOSにIPアドレスの割り当てがされていない場合は、ホストOS上で、「仮想マネージャ」を使って設定します。※ホストOS側がGUI環境である必要があります。

CentOS7の起動メニューは、/boot配下にあるファイルを参照して、自動生成するようになっています。
GRUB2では、「/etc/default/grub(全体的な設定)」か「/etc/grub.d/40_custom(個別設定)」のファイルを編集します。

# vi /etc/default/gurb <LF>
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.md.uuid=X:X:X:X rd.md.uuid=X:X:X:X
rd.lvm.lv=centos/swap rhgb quiet" <= この行を編集
GRUB_DISABLE_RECOVERY="true"
# sed -i '/GRUB_CMDLINE_LINUX=/s/"$/ console=tty0 console=ttyS0,115200n8r"/' /etc/default/grub <LF>

GRUBの定義を生成します。

# grub2-mkconfig -o /boot/grub2/grub.cfg <LF>
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-1897112b359e420d9dd0939ad69fdac8
Found initrd image: /boot/initramfs-0-rescue-1897112b359e420d9dd0939ad69fdac8.img
done

ゲストOSのマシンリブートを実施して、追加したカーネルオプションが有効になったかを確認します。

# shutdown -r now <LF>