我在这里看到了有关交换空间的其他许多问题,但是我没有发现真正解决了我的特定情况。
我有一台Ubuntu 9.10 64位服务器,32 GB RAM作为KVM主机系统运行。 我在RAID1上使用LVM。
“旧学校”交换build议build议2×RAM或2×RAM + 1GB,或者即使if MEM < 2GB then SWAP = MEM*2 else SWAP = MEM+2GB 。 但是我看不到分配66GB的磁盘空间来换取,这似乎很疯狂! 我想4GB或8GB将是很多。
这个系统将运行许多KVM虚拟服务器。 如何在这种情况下交换工作? 我应该为主机服务器设置交换分区,然后每个虚拟服务器都有自己的LVM根和LVM交换分区吗? 还是虚拟服务器共享主机的交换?
严格来说,Linux根本不需要任何交换 – 特别是当你有RAM的时候。 在KVM的情况下,您将需要足够的内存来支持您的所有机器。 所以,如果你有20个虚拟机,每个1GB RAM,你需要在主机上有20GB RAM。 但是,每个单独的虚拟机可以configuration自己的交换,例如每个交换2GB。 这样,每个虚拟机可以pipe理自己的交换。 您可以分别为每个configurationswappiness 。
4GB的数量就足够了。 我不完全确定交换如何适用于虚拟服务器,但我假设他们每个人都有自己的交换。
在这种情况下,您应该为主机系统留出大约2GB的内存,或者只有1GB,这取决于您在分配大部分内存的计算机上使用的内存大小。 交换是非常缓慢的,在你的RAID-1系统上,这样的高端机器你永远不会想交换。
在一个侧面说明中,您可能需要考虑在RAID-10中运行4个磁盘,最好是SAS驱动器,以便为节点上的所有虚拟服务器提供足够的I / O,但取决于您正在运行的是什么,可能并不需要。