我正在尝试让 MAAS 与 localhost 上的 virsh 通信,这样就不必配置一整台额外的物理机器来运行部署服务 juju。MAAS 似乎能够将虚拟机部署到这种程度,并且它运行的主机完全能够满足要求(似乎是 4GB 的 RAM,它有 20GB)。
在 MAAS 中,我转到标签虚拟机,设置姓名作为local_kvm
,离开区,资源池, 和密码(可选)默认,并设置地址到任一
qemu+ssh://root@localhost/system
qemu:///system
在这两种情况下:它都会失败并显示非常无用的错误消息:
Failed talking to pod: Failed to login to virsh console.
直接运行:
virsh -c <address>
接受/信任后成功连接到本地 virsh 控制台127.0.0.1作为主机。当然,考虑到如果 MAAS gui 无法识别/信任主机,它可能不会“强制”通过 SSH 连接,我再次尝试使用 MAAS GUI,但这样做之后,再次尝试在 GUI 中这样做会失败并显示相同的错误消息。
它只是说“失败了”,但并没有真正告诉我为什么。以下是我想知道的:
- 什么用户这是被执行的吗?
- 什么命令MAAS 正在尝试执行吗?
- 我可以在哪里找到日志档案包含 qemu/ssh 连接失败的详细原因?
- 是否有可能打印此错误信息不管出了什么问题,因为除了从中删除 DHCP 之外,我还没有为 KVM/libvirt-qemu 配置存储、网络等。
请注意,我已经在主机上安装了 qemu,virsh
以 root 身份在终端上运行。
网上很多说明都提到了马斯用户,但我的机器上没有这个用户。该东西是通过安装的易于作为 root 帐户,并且服务似乎以此方式运行,根。也许它不应该,为了让事情正常运作,但问题就变成了:我如何改变它不这样做,同时又不完全破坏它,因为我可以想象许多必要的(虚拟)文件由 root 拥有,需要进行更改?
答案1
我遇到了同样的问题。最初,我安装了 snap,但后来遇到权限问题后,我决定切换到 PPAapt
安装,但这并不简单,因为该项目正在努力废除它。以下是让我成功的方法。
- 如果已安装,请卸载该 snap 包。
- 安装 PPA,但不要安装
latest
,而是使用版本(正如指南所述)。这也会添加用户maas
。版本 2.9 对我有用。 - 遵循这两个几乎相同的指南,当其中一个或另一个出现不足时,可以弥补差距:maas.io 指南和非官方指南。
- 现在,您应该已经安装了一个可以正常工作的 MAAS,并且安装了使其正常工作所需的所有额外配置。在两个指南中,您最终会在其中一个指南中找到此命令,您可以在其中将用户添加
maas
到libvirt
组中:sudo usermod -a -G libvirt maas
。如果执行该命令,则用户maas
将有权访问 libvirt,并且能够virsh
在将连接字符串设置为的情况下在本地执行命令qemu:///system
。这是我的设置(MAAS 服务器也是 KVM 服务器)。 - 如果您希望使用其他用户来管理 MAAS 中的虚拟机,请将用户添加到 libvirt 组而不是
maas
,然后按照其他指南创建 SSH 密钥并将其复制过来。如果您想要更简洁的内容,您可以查看这个例子这也是您设置在未配置或手动 KVM 主机上手动创建的 VM 的方式。这也是您配置备用主机来管理 VM 的方式。
虽然他们似乎不再支持 PPA,但另一个选择可能是在lxd
容器中运行 MAAS。如果我需要升级,我会选择这条路线,你可以找到相关文档这里。