Red Hat Training

A Red Hat training course is available for RHEL 8

2.4.4. 仮想マシンのシリアルコンソールを開く

virsh console コマンドを使用すると、仮想マシン (VM) のシリアルコンソールに接続できます。

これは、仮想マシンが次のような場合に役に立ちます。

  • VNC プロトコルまたは SPICE プロトコルは提供されないため、GUI ツールのビデオ表示が提供されない
  • ネットワークに接続されていないため、SSH を使用して 相互作用できない

前提条件

  • 仮想マシンに、カーネルコマンドラインでシリアルコンソールが設定されている。これを確認するには、仮想マシンの cat /proc/cmdline コマンドの出力に console=ttyS0 が含まれていることを確認します。以下に例を示します。

    # cat /proc/cmdline
    BOOT_IMAGE=/vmlinuz-3.10.0-948.el7.x86_64 root=/dev/mapper/rhel-root ro console=tty0 console=ttyS0,9600n8 rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb

    シリアルコンソールが仮想マシンに正しく設定されていない場合は、virsh コンソール を仮想マシンに接続すると、応答のないゲストコンソールに接続できます。ただし、Ctrl+] ショートカットを使用すると、応答しないコンソールを終了できます。

  • 仮想マシンでシリアルコンソールを設定するには、以下を行います。

    1. 仮想マシンで /etc/default/grub ファイルを編集し、console=ttyS0 を、GRUB_CMDLINE_LINUX で開始する行に追加します。
    2. 変更を反映させない可能性があるカーネルオプションを削除します。

      # grub2-editenv - unset kernelopts
    3. Grub 設定を再読み込みします。

      # grub2-mkconfig -o /boot/grub2/grub.cfg
      Generating grub configuration file ...
      Found linux image: /boot/vmlinuz-3.10.0-948.el7.x86_64
      Found initrd image: /boot/initramfs-3.10.0-948.el7.x86_64.img
      [...]
      done
    4. 仮想マシンを再起動します。

手順

  1. ホストシステムで、virsh console コマンドを使用します。次の例では、libvirt ドライバーが安全なコンソール処理に対応していると、仮想マシン guest1 に接続します。

    # virsh console guest1 --safe
    Connected to domain guest1
    Escape character is ^]
    
    Subscription-name
    Kernel 3.10.0-948.el7.x86_64 on an x86_64
    
    localhost login:
  2. virsh コンソールは、標準のコマンドラインインターフェースと同じ方法で相互作用できます。

関連情報

  • 仮想マシンのシリアルコンソールの詳細は、virsh man ページを参照してください。