在我的环境中,我在 Ubuntu 16.04 上安装了 MAAS 2.0(用于在我的私有网络中的其他服务器上自动部署操作系统)。为了安装 MAAS,我使用了本地 Ubuntu 镜像。
问题是,当我调试一台服务器(之前使用 MAAS GUI 注册)时,调试过程将在调试机器上安装一些软件包。发生这种情况时,调试机器会联系互联网上的 Ubuntu 档案,而不是我的本地镜像。
两个问题:
由于 PXE 启动时 MAAS 服务器上的一切都已准备就绪,启动映像不应该包含所有必要的软件包吗?(为什么需要连接互联网?)
我使用了默认的调试脚本,没有使用 MAAS GUI 将任何自定义脚本上传到“调试脚本”。如果我需要在不连接互联网的情况下调试服务器,我是否需要将自己的自定义脚本上传到 MAAS?
答案1
为什么
MAAS 需要访问 Ubuntu 存档来安装软件包以完成调试和部署。如果您有 Ubuntu 存档的本地镜像,则可以将 MAAS 配置为使用该镜像而不是“archive.ubuntu.com”。
配置
这取决于 MAAS 的版本。我将提供有关如何在 2.1.1 上执行此操作的信息,因为这是 Xenial 中的默认版本。
网页用户界面
访问 MAAS 顶部主导航中的“设置”页面。然后在第二个标题中单击“软件包存储库”。在默认 MAAS 安装的该页面上,您将看到存储库“Ubuntu 存档”和“Ubuntu 额外架构”。如果您仅使用 i386 或 amd64,您很可能想要修改“Ubuntu 存档”。将鼠标悬停在该行上并单击编辑图标。从这里,您可以修改存档的 URL 以指向您的 Ubuntu 镜像。如果需要,对“Ubuntu 额外架构”执行相同操作。
命令行界面
这也可以通过 CLI 完成。
对于“Ubuntu 档案”:
maas {session} package-repository update 1 url="http://{ip_or_hostname}/ubuntu"
对于“Ubuntu 额外架构”:
maas {session} package-repository update 2 url="http://{ip_or_hostname}/ubuntu"