![通过 libvirt 访问客户操作系统的接口](https://linux22.com/image/621346/%E9%80%9A%E8%BF%87%20libvirt%20%E8%AE%BF%E9%97%AE%E5%AE%A2%E6%88%B7%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%9A%84%E6%8E%A5%E5%8F%A3.png)
*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 客户机内的该网络)。