ssh 进入虚拟机(或者直接访问虚拟机控制台)

ssh 进入虚拟机(或者直接访问虚拟机控制台)

我正在尝试启动多个虚拟机,并且需要直接控制台访问(无论是通过 ssh 等)

到目前为止,我可以使用 virsh/KVM 工具启动多个虚拟机。我的做法是,我只有一个模板转储的 xml 配置文件并创建虚拟机。但是,我总是必须在 GUI 上回复才能访问虚拟机控制台。我尝试通过 ssh 进入它,结果出现了以下错误。ssh:连接到主机 192.168.122.14 端口 22:连接被拒绝在查看多个论坛后,我无法让 SSH 工作,也许还有其他方法可以解决这个问题。我该如何解决这个问题,或者有更好的替代方案吗?

我也尝试过可以使用 ssh 的 vagrant,但我更喜欢使用 virsh/KVM 工具(稍后我需要执行实时迁移,virsh 对实时迁移的支持比 vagrant 更好)

答案1

虽然 oVirt 是一个很好的解决方案,但它并没有回答这里的具体问题。

Libvirt 提供了直接访问虚拟机的方法。要进行设置,您需要执行以下操作:

  1. 在客户机中启用 ttyS0 控制台(添加console=ttyS0到 grub 行,在/etc/securetty或中启用控制台/etc/inittab
  2. 在客户 domxml 中添加以下代码:
<serial type='pty'>
  <target port='0'/>
</serial>
<console type='pty'>
  <target type='serial' port='0'/>
</console>
  1. 启动虚拟机并用于virsh console VMNAME访问串行控制台

答案2

你看过奥维特? 它在工具之上添加了一个很好的管理层,libvirt如果您开始支持多台机器,这将大有帮助。它最大的优点之一是简化了网络管理。如果您想要一个SPICE控制台窗口,只需单击图标即可。如果您不想使用 GUI,我会查看单击 GUI 图标时下载的 console.vv 文件,我相信如果您可以获得 VM ID,您可以在脚本中模仿相同的操作。

我不确定今天它是否是一个选项,但我认为在机器启动时自动打开控制台的选项是一个合理的功能请求。

相关内容