我对想要购买的新服务器有疑问。该服务器总共有 2 个 CPU 和 32GB 内存。我的问题是:我可以将全部 32GB 内存用于 proxmox,从而用于 vm 吗?还是只能使用 16GB?
答案1
我个人会使用 32GB 中的 30GB RAM,并留下 1-2GB 的主机 RAM,用于 iptables、fail2ban 等,并添加一些交换内存在上面。如果您选择 16GB 服务器,情况也一样:14GB 用于客户机,2GB 用于主机。
假设你指的是普罗克斯莫克斯为了管理客户虚拟机,您可以根据需要为其提供尽可能多的 RAM。
但是,第一件事我要做的是向你使用的云/ISP提交一张票,并询问他们你想要的服务器是否嵌套虚拟化。
如果服务器有 KVM 并且允许“嵌套虚拟化”,那就没问题了。如果没有,那么它将难以处理超过 1 个客户虚拟机。
如果答案是是的到“嵌套虚拟化”,那么您实际上就可以使用无限的 RAM,并且 QEMU 将按照它的指示执行,因为所有的客户机将共享 2 个 CPU。
如果答案是不对于“嵌套虚拟化”,那么 2 个具有 32GB 的 CPU 很可能是 2x vCPU,而且会很困难。
根据经验,我怀疑具有 32GB 内存的 2 个 CPU 是否具有“嵌套虚拟化”。
您可以在服务器中检查:
首先启用 KVM。
sudo modprobe kvm
查看 KVM 是否正常工作:
stat /dev/kvm
stat /dev/kvm
# File: /dev/kvm
# Size: 0 Blocks: 0 IO Block: 4096 character special #file
#Device: 0,5 Inode: 780 Links: 1 Device type: 10,232
#Access: (0666/crw-rw-rw-) Uid: ( 0/ root) Gid: ( 78/ kvm)
#Access: 2022-01-29 11:26:05.478771780 +0000
#Modify: 2022-01-29 11:26:05.478771780 +0000
#Change: 2022-01-29 11:26:05.478771780 +0000
# Birth: -
如果您得到stat: cannot statx '/dev/kvm: No such file or directory
该信息,那么服务器将会出现问题,并且您很可能会想要从该服务器获得退款。
您也可以检查 CPU 信息:
cat /proc/cpuinfo
这是一个没有嵌套虚拟化的虚拟 CPU
[root@hostname ~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Virtual CPU 82d9ed4018dd
这是具有虚拟化功能的普通 CPU
[user@hostname ~]$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 23
model : 96
model name : AMD Ryzen 9 4900H with Radeon Graphics
然后您可以在使用服务器时查看 RAM。
# see all RAM usage
free -mh