具有 1 个物理节点的虚拟 OpenStack 部署(Juju/MAAS)的架构

具有 1 个物理节点的虚拟 OpenStack 部署(Juju/MAAS)的架构

我想演示一些 OpenStacks HA/FT 功能(最重要的是实时迁移和存储复制)。为此,我有一台具有 32 GB RAM 和 4 核(8 线程)Xeon e3v2 的机器。到目前为止,我已经成功启动并运行了 MAAS 和 Juju,但我不确定我可以安全部署的虚拟节点数量(以及 CPU / RAM 过载比率,尽管我曾在某处读到物理 CPU 可以很好地处理 1-vcpu 机器的过载)。

目前,运行 MAAS 的 VM 使用 1 个 vCPU 和 8 GB RAM,Juju 在主机上运行。这样我就有了 7 个 vCPU 和 24 GB RAM,而不会过度使用任何资源。我想到的是以下内容:

  • 1 个控制器节点:2vCPU、4GB RAM - RabbitMQ、mysql、keystone、dashboard、cinder、nova-cloud-controller 和 lxc 容器中的 Glance
  • 2 个 Ceph 节点:每个节点 1 个 vCPU、4GB RAM - ceph
  • 2 个计算节点:每个 2 个 vCPU、8GB RAM - nova-compute
  • 1 个网络节点:1 个 vCPU,2GB RAM - 量子网关
  • 加上 MAAS 主机:1 vCPU,8GB RAM

这将导致总共 38 GB RAM 和 10 vCPU,所以我有点过度承诺了。

我真正的问题是,是否有人想到了更好的架构。我实际上只是打算展示 OpenStack(或一般云)的一些功能。

答案1

我有一个类似的设置,让我对您的配置提出建议:

  • 减少分配给 MAAS 的 RAM 数量,大约 2GB 就足够了。
  • 添加另一个 ceph 节点,这将帮助您在使用 ceph 并且 1 个节点发生故障时展示弹性。
  • CPU 的过度使用并不是那么糟糕,但你不想在内存中过度使用,因为系统将开始交换,并且一切都会获得无法使用的性能。
  • 您没有提到的是您拥有的磁盘,这对我来说是一个巨大的瓶颈,我有 2 x 7200 RPM 磁盘带有 btrfs(raid0),但在部署 juju 时这还不够。
  • 您可能还想使用 juju-deployer 并调整用于部署的命令行,特别是超时修饰符和“-s”,这是每次“juju deploy”调用之间的延迟。

我希望这有帮助。

费利佩,

答案2

如果它仍在运行,我建议你放弃它并使用 LXD。你应该不会有问题。部署这个无需 MaaS,只需运行 Juju 并对本地 LXD 进行本地控制正如这里所述。 您的机器应该能够轻松运行它。如果您需要 MaaS 来演示它(它真的非常棒。如果有 Canonical 来附近,您应该尝试查看它举办的 Openstack 路演……),那么它会变得有点复杂。

本参考文献表明在 3 台机器上进行设置,但如果确实需要,您可以偷偷摸摸地将 Juju 和 MaaS 部署到同一台其他机器上。如果您的第二台机器在 LXD 下运行 MaaS 和 JuJu,并且网桥连接到您的实验室 LAN,并且您的 PXE 流量可以通过,那么您应该能够在两台机器上的容器中运行它。我正尝试在我的笔记本电脑上使用 VMWare Fusion VM 做类似的事情,我已将内部网络桥接到雷电 NIC,以允许 MaaS 和 Juju 机器协调 Raspberry Pi 和 NUC 设备。

答案3

我没有使用 juju 进行 openstack 编排的经验,但是从使用 ceph 和 openstack 的经验来看,出于演示目的,您可以在 2GB 的机器上运行 ceph 而不会出现问题,并且我认为 maas 主机也可以配置为 6GB 而不是 8GB。

我不知道 juju 是否允许您在同一台 VM 中组合不同的角色,在我们的(非 juju)部署中,我们将控制器和网络角色组合在同一台 VM 上(不使用容器)。

答案4

在小型集群中使用物理节点时,尤其是测试实验室类型的集群,一种典型的快捷方式是将 ceph 节点与计算节点结合起来。请参阅这组 ceph-0.48 时代的Debian 说明或更现代的proxmox VE 的实验室配置

使用您提供的数字,以及其他答案中有关 ram-decreases 加 triple-ceph 的建议,也许是这样的:

  1. 3vCpu + 8gb == RabbitMQ/keystone/glance/etc + cephMon1/Osd1
  2. 2vCpu + 10gb == novaComp2/Net2/Vol2 + cephMon2/Osd2/Httpd2/Rgw2
  3. 2vCpu + 10gb == novaComp3/Net3 + cephMon3/Osd3
  4. 1vCpu + 2gb == novaQuantum4
  5. 1vCpu + 3gb == MAAS_host5

我自己目前正在研究这种性质的单节点配置,但可用的 RAM 较少,并且只有四个磁盘可供使用(cephOsd 如果有多个磁盘会更好)。我无法确认上述数字是否能为您提供足够的性能,因为我自己没有尝试过这种方案,但将某种正交节点合并以节省 vCpu&ram 的核心思想可能会为您提供足够的牵引力,让您达到想要的目标。

另请参阅,OpenStack 在一个物理节点上的半官方帮助文档VM,以及更相关的专用盒上 OpenStack 教程,网址为 devstack.org

相关内容