在 kvm-linux 中除了 ssh、vnc 之外如何登录控制台

在 kvm-linux 中除了 ssh、vnc 之外如何登录控制台

kvm-linux 有时会挂断 ssh 已死

sudo kvm -hda ubuntu.img -m 512 -localtime -net nic,model=pcnet,macaddr=00:00:00:00:00:0X -net tap,script=/etc/qemu-ifup -daemonize -nographic 

在 kvm-linux 中除了 ssh、vnc 之外如何登录控制台。

在这种情况下我执行以下命令

# kill -9 [kvm 进程]

答案1

可以通过使用串行端口访问虚拟机控制台。kvm 的 -serial 选项将最多 4 个虚拟串行端口重定向到主机的物理串行端口。然后,您可以通过主机的串行端口访问 VM 的控制台。如果虚拟机因某种原因丢失了网络连接,或者您无法连接到 ssh 守护程序,则可以通过串行端口连接到 VM 以解决问题。

答案2

我的答案并不直接适用于 KVM。我的解决方案只是重新启动 SSH 服务器,使其再次可用。我假设你说的“ssh 已死”是指 sshd 进程已死,或者至少端口 22 没有响应。对于这些情况,我经常使用监控恢复服务:

因此对于 SSH 我会采用如下方法:

check process sshd with pidfile /var/run/sshd.pid
start program "/etc/init.d/ssh start"
stop program "/etc/init.d/ssh stop"
if failed port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout

当然,你有很多 monit 选项。请参阅monit 文档了解详情

答案3

我认为以下帖子回答了您的问题。

Debian Squeeze 客户机在 KVM 下运行,如何获取序列号?

基本上,您需要在客户内核上启用串行控制台,然后将其连接到主机。

相关内容