VMware ESXi 上使用内存预留减少 vswap 文件大小

VMware ESXi 上创建的虚拟机会自动根据虚拟机的内存大小创建一个同等大小的 swap 文件,这个文件通常和虚拟机镜像文件在同一个目录,文件名以 .vswp 结尾。比如创建一个内存为 8GB 的虚拟机,那么 .vswap 就会自动创建,并且大小也是 8GB,保存在同一个 datastore 里。现在问题来了,如果我要创建一个内存为 512GB 的虚拟机,那么 VMware ESXi 就会自动创建一个 512GB 的 .vswap 文件,本地硬盘(datastore)只有 500GB 容不下 .vswap 文件怎么办?前段时间 VPSee 就碰到这个 insufficient disk space on datastore 问题,原因是 VMware ESXi 企图创建一个大小为 512GB 的交换文件,结果 datastore 只有 500GB,所以硬盘空间不够,创建失败:

vmware esxi insufficient disk space

有两个解决办法:

  • 把 .vswap 文件从本机移到其他的 datastore 或者 NFS/SAN 存储上;
  • 修改内存预留值为最大值,点击左边列表的 host,选择右边 Resource Allocation 页面,右键点击 vpsee.com 这个虚拟机后选择 Edit Resource Settings… 出现如下对话框,然后调整 Memory Resources 栏的 Reservation 至最大值 501760MB.

vmware esxi memory reservation

修改后可以在上面这张图的 Resource Allocation 页面的 Memory 部分看到 Reserved Capacity 由 0 变成了 505531 MB,再次启动虚拟机就应该会得到一个内存大小为 500GB 的虚拟机了(host 需要一点内存,所以 512GB 的 host 不能创建 512GB 的虚拟机哦)。

VMware vSphere 标准版1个授权可以用在1个物理 CPU 和 32GB VRAM 上,每台虚拟机最多支持8个 VCPU。这台 512GB 服务器虽然只有4个物理 CPU 却需要 512/32=16 个授权(VMware 新的授权政策是按照 VRAM 算而不是 RAM)。每个标准版授权995美元,16个授权需要约1.6万美元,可能比这台服务器还贵。

评论 (1 Comment)

  1. 授权太贵了。一般企业可能都买不起哦

发表评论