将RAM分配给虚拟机


0

我正在开发OpenStack Cloud。我有两个VM。我已经安装了CentOS 7。我已经安装一个虚拟机作为controller node与其他作为compute node

我有两个问题:

  1. 我可以为VM分配多于可用的物理RAM吗?我知道这听起来很愚蠢,但我在一些博客上看过这个(抱歉,我不记得网站地址),如果我们有swap memory一倍的RAM,那么我们可以做到这一点。这是真的吗?我从未经历过这样的事情。Virtual Box也不允许这样做!但是,如果有这样的方式,我仍然喜欢知道它。
  2. 我可以将我的物理机用作Controller节点,而Compute节点仍然驻留在VM上。如果是,那怎么样?我可以请你解释一下。

谢谢。

Answers:


2

如果您阅读“交换内存加倍RAM”的内容,那么您可能会阅读1990年代或更早版本的内容。它不再相关了。

(摘要详细说明:当时一些操作系统仅使用虚拟内存,所有真实物理内存都是缓冲区。用法为2:1)。

我可以为VM分配多于可用的物理RAM吗?

从技术上讲,您可以,但您的VM软件可能不允许它。(IIRC vmware工作站没有。我几乎没有使用虚拟盒子,也不知道它的设置是什么)。并且分配更多RAM然后您必须有多个VM可能需要显着的分页(以及适当的减速)。

我可以将我的物理机用作Controller节点,而Compute节点仍然驻留在VM上。

当然。不要害羞。您的物理机是主机。VM是主机。对于大多数观点来说,它们几乎没有区别。

您可能想要考虑两件事:

  1. 联网。您是否将虚拟机放置在自己的网络上,其他任何东西(包括您的主机)都无法访问它们?或者在自己的主机网络上,他们可以与主机通信,但不能与局域网/互联网通信?或者它们是否与实际网络桥接并且与主要主机的行为相同?
  2. 为什么不在VM上安装控制器并保持一致和可移植?

好吧,这是一个很好的。虽然我已经设置了最大分页,但Nop vmware将不允许和虚拟机一样。回答你的问题,1。网络:我选择了默认的NAT。2.是的我想在VM上安装控制器,但我想让我至少拥有物理介质上的控制器或计算节点。这会是一个糟糕的选择吗?
一个

将控制器放在物理主机上而不是客户机上也不错。它只是使隔离或移动到不同的机器更加困难。因此,您根本无法获得VM通常提供的一些优势。如果这与你有关,那么你只能决定。
亨尼斯2017年

1
对于NAT:This separation maximizes security since by default virtual machines cannot talk to each other....我认为你确实希望你的机器能够与彼此交谈。
亨尼斯2017年

对!我在想主机网络,这对于OpenStack服务来说是更好的选择。
aCoder

但问题仍然是如何为VM分配超过可用的物理RAM?
aCoder

0
  1. 我可以为VM分配多于可用的物理RAM吗?

    是的,它被称为超额认购。您可以在nova.conf,ram_allocation_ratio中配置它。OpenStack默认值为1.5,这意味着1:1.5的比例(1GB的物理RAM可以“创建”1.5GB的虚拟RAM)

  2. 我可以将我的物理机用作Controller节点,而Compute节点仍然驻留在VM上。如果是,那怎么样?

    是的,仅用于测试目的。嵌套虚拟化没有很好的性能。


据我所知,最佳实践要求您不要过度配置RAM。虽然它是可能的,但它会进入你在驱动器上使用交换文件的情况,这种情况从来都不是理想状态。过度配置CPU很好,因为CPU指令已入队。
music2myear

1
我同意!我也不推荐它,内存是虚拟化世界中唯一没有超额可写的资源。
JoséCastilloLema,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.