web-dev-qa-db-ja.com

virshコンソールがエスケープ文字「^]」でハングする

新しく構築されたVMをキックスタートしようとしています。私は次のことにこだわっています。コンソールから始めて、このVMのユーザー名とその他の情報を含めることができるようにします。

   @vmhost02 ~]$ Sudo virsh start --console testengine
   Domain testengine started
   Connected to domain testengine
   Escape character is ^]

そこに留まり、「^]」以外のキーは聞こえません。

アイデアについてさらに情報が必要な場合はお知らせください...

どうもありがとう。

16
iamauser

1)

ゲストで/etc/default/grubを編集して、次のことを確認してください。

GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --Word=8 --parity=no --stop=1"

次に実行します:

# update-grub
# reboot

2)

それが機能しない場合は、console=ttyS0GRUB_CMDLINE_LINUX_DEFAULTquiet/etc/default/grubに置き換えてみてください。

GRUB_CMDLINE_LINUX_DEFAULT="... console=ttyS0"

また:

# update-grub
# reboot

3)

あなたはまだ試す必要があるかもしれません:

# systemctl enable [email protected]
# systemctl start [email protected]
# reboot
7
Peque

仮想コンソールとして使用するttyを定義する必要があります。 vncまたはsshを使用してvmにアクセスできる場合は、次のファイルを作成します

vi /etc/init/ttyS0.conf

コンテンツは次のようにする必要があります

start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
exec /sbin/getty -L 38400 ttyS0 vt102  # This is your term type vt102

これらの設定を保存し、その後ホストマシンから

 virsh destroy [vm-name]; service libvirtd stop; service libvirtd start; virsh start [vm-name]

LibvirtにSIGTERMを送信しない場合があるため、ここではlibvirtの停止/開始を行っています。

最後に試してください

 virsh console [vm-name]
6

Val0x00ffのソリューションよりも簡単な場合があります。console=ttyS0のカーネル行の最後に/boot/grub2/grub.cfg VMのファイル(これはデフォルトでは行われていないようです):

   (vm)$> grubby --update-kernel=ALL --args="console=ttyS0"
   (vm)$> reboot

次にvirsh consoleは期待どおりに機能します。

1