手当たり次第に書くんだ

飽きっぽいのは本能

CentOS 6 KVM ゲストに virsh console で接続する – シリアルコンソール設定

この記事は CentOS 6 を前提にした古いサーバー構築・保守手順の記録です。CentOS 6 は既にサポートが終了しているため、新規構築では現行の Linux ディストリビューションを利用してください。ここでは、当時の環境を保守・確認するための資料として整理しています。

CentOS 6 サーバー構築・保守ガイドへ戻る

概要

virsh コマンドを使用指定ゲスト OS へシリアルコンソール接続するための GRUB の設定です。

/boot/grub/grub.conf

/boot/grub/grub.conf を編集します。serial --unit=0 --speed=9600, console=ttyS0,9600 を追加しています。

cat > /boot/grub/grub.conf <<'EOF'
#boot=/dev/vda
default=0
timeout=5
#splashimage=(hd0,0)/grub/splash.xpm.gz
#hiddenmenu
serial --unit=0 --speed=9600
title CentOS (2.6.32-358.2.1.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-358.2.1.el6.x86_64 <中略> rd_NO_DM rhgb quiet console=ttyS0,9600
        initrd /initramfs-2.6.32-358.2.1.el6.x86_64.img
EOF
  • default=0: デフォルトで起動するエントリーを指定します。ここでは、最初のエントリー(インデックス 0)がデフォルトとして指定されています。
  • timeout=5: GRUB メニューが表示されるまでの待機時間を秒単位で指定します。ここでは、5 秒間待機してデフォルトのエントリーが自動的に選択されるように設定されています。
  • serial --unit=0 --speed=9600: GRUB 用のシリアルコンソールの設定を指定します。シリアルポートのユニット番号 (unit) とボーレート (speed) が指定されています。これにより、シリアルコンソールへの接続が可能になります。
  • title CentOS (2.6.32-358.2.1.el6.x86_64): GRUB メニューに表示されるエントリーのタイトルを指定します。ここでは、CentOS の特定のカーネルバージョンが指定されています。
  • root (hd0,0): カーネルのルートファイルシステムが存在するパーティションを指定します。ここでは、(hd0,0) がルートパーティションを指しています。
  • kernel: ブートするカーネルのイメージを指定します。カーネルのイメージファイルのパスと、カーネルに渡されるブートパラメータが含まれています。この例では、console=ttyS0,9600 が指定され、シリアルコンソールへのログ出力が有効になります。
  • initrd: イニシャル RAM ディスク (initrd) のイメージファイルを指定します。このファイルは、カーネルが起動する際に一時的なルートファイルシステムとして使用されます。

このパラメータはカーネルがアップデートされた場合でも引き継がれます。変更後、システムを再起動して有効にします。

関連記事

virsh console が必要になる場面

virsh console は、ネットワークに入れない KVM ゲストへシリアルコンソールで接続するための手段です。SSH が使えない状態でもログインできるように、ゲスト側の console 設定が必要になります。

  • ゲスト側の grub 設定。
  • inittab や systemd 側の tty 設定。
  • libvirt 定義に serial / console があるか。
  • 通常の SSH と非常時の console を分けて考える。
CentOS 6 KVM ゲストに virsh console で接続する – シリアルコンソール設定

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る