通过 libvirt 访问客户操作系统的接口

通过 libvirt 访问客户操作系统的接口

*nix是否有任何可能的(不一定是本机的)方法可以使用libvirt/ (而不是 libvirt 模块)功能访问客户操作系统(例如,终端使用是我的主要目的)LXC?我并不是要使用lxc-console命令之类的方法。

答案1

如果客户机设置了串行控制台,则可以使用virsh console。这在 kvm 上效果很好,但从未在 LXC 上尝试过。

要直接访问串行控制台(不使用 libvirt),请将其添加到 qemu-kvm cmd 行

-chardev socket,id=monitor,path=/srv/kvm/${VMNAME}/run/monitor.sock,server,nowait \
-monitor chardev:monitor \
-chardev socket,id=serial0,path=/srv/kvm/${VMNAME}/run/console.sock,server,nowait \
-serial chardev:serial0

在这种情况下,我将套接字指向 /srv/kvm/VMNAME/run 然后你可以使用minicom

cd /srv/kvm/VMNAME/run
minicom -D unix\#console.sock

在大多数发行版中,你还需要console=tty0 console=ttyS0,115200n8在内核引导行中包含或类似内容

答案2

virsh domdisplay <VM-name>如果客户机没有启用串行控制台,将为您提供用于连接客户机图形控制台的 URL。

virsh console <VM-name>将连接到客户机的串行控制台。

如果所有这些命令行垃圾都让您感到厌烦,请安装 GUI virt-manager,然后您就可以通过指向和单击来管理您的客人。(请注意,virt-manager目前还不能安装LXC 嘉宾。)

答案3

您可以定义一个 LXC 服务器外部无法访问的私有网络,并使用该网络通过 SSH 访问 LXC 客户机(并且仅将 SSH 绑定到 LXC 客户机内的该网络)。

相关内容