使用virsh-console连接虚拟机报连接到域一直卡着
背景
物理服务器使用kvm部署了一台虚拟机名称为manager,想通过virsh console manager连接进去虚拟机,报 "连接到域manager,换行符为^]" 一直卡着进不去。
解决方案
manager虚拟机执行如下命令
grubby --update-kernel=ALL --args="console=ttyS0"
grubby
是一个在 Linux 系统中用于管理 GRUB 配置的工具,它可以用来更新内核参数等。--update-kernel=ALL
:- 该参数表示更新所有的内核。如果系统中安装了多个内核,使用
ALL
可以确保对每个内核都进行修改。
- 该参数表示更新所有的内核。如果系统中安装了多个内核,使用
--args="console=ttyS0"
:- 这部分是添加内核参数。
console=ttyS0
是一个常用的内核参数,通常用于将系统的控制台输出重定向到串口设备ttyS0
。这在一些服务器或嵌入式设备中很有用,比如当你需要通过串口来查看系统启动信息或进行系统维护时。
- 这部分是添加内核参数。
重启生效
该命令修改的是内核参数,通常需要重新启动系统才能生效。使用以下命令重启系统:
reboot
登录验证
效果和应用场景
- 一旦系统重启,系统的控制台输出将重定向到
ttyS0
串口设备。如果你将设备的串口连接到另一个设备(如另一台计算机的串口接口),你可以使用串口终端软件(如 minicom 或 PuTTY)在该设备上查看系统启动信息和系统操作。 - 对于一些没有显示器或无法使用传统显示器的设备,或者在服务器机房环境中,使用串口进行系统管理会更加方便。
注意事项
- 确保你确实需要将控制台重定向到串口,因为这可能会影响正常的显示设备(如显示器)的使用。
- 如果你只需要修改特定的内核,而不是所有内核,可以将
ALL
替换为具体的内核标识符,例如:
grubby --update-kernel=/boot/vmlinuz-3.10.0-1160.49.1.el7.x86_64 --args="console=ttyS0"
这里 /boot/vmlinuz-3.10.0-1160.49.1.el7.x86_64
是一个具体的内核文件路径。
- 在修改内核参数时,要谨慎操作,因为错误的参数可能会导致系统无法正常启动。如果系统启动失败,可以在 GRUB 引导界面修改参数或进入救援模式来修复。
总结
请根据实际情况使用该命令,并根据需要修改具体的内核和参数,确保在操作前后备份重要数据和配置,以防出现意外情况。在进行系统重启前,确保你有足够的手段(如串口终端连接)来处理可能出现的问题