👤

重置密码

发送中...
返回登录

vSAN集群内存消耗问题

虚拟化 30 浏览 2 分钟阅读

概述

今天一哥们找到我,说他有个三台服务器组的vSAN集群,发现还没开始跑业务,内存开销就去了60多个GB,平均每台主机莫名其妙就去了20多GB内存,如下图:

硬件清单

DELL R630 3台,分别是

  • A:E5-2680 v4 *2 /32G *3 DDR4 ECC / 1.2T SAS *6 / 800G SSD *2 / 128G M2 SSD *1
  • B:E5-2680 v4 *2 /32G *3 DDR4 ECC / 1.2T SAS *6 / 800G SSD *2 / 128G M2 SSD *1
  • C:E5-2680 v4 *2 /32G *2 DDR4 ECC / 1.2T SAS *6 / 800G SSD *2 / 128G M2 SSD *1

原因

其实关于vSAN内存消耗,官方有明确的计算公式的:

vSANFootprint = HOST_FOOTPRINT + NumDiskGroups * DiskGroupFootprint
DiskGroupFootprint = DISKGROUP_FIXED_FOOTPRINT + DISKGROUP_SCALABLE_FOOTPRINT + CacheSize * CACHE_DISK_FOOTPRINT + NumCapacityDisks * CAPACITY_DISK_FOOTPRINT
  • HOST_FOOTPRINT:每个 ESXi 主机的 vSAN 消耗的固定内存量(不管磁盘组为何)
  • NumDiskGroups:主机中的磁盘组数。(范围 1-5)
  • DiskGroupFootprint:分配给主机中每个单独磁盘组的内存量。
  • NumCapacityDisks:每个磁盘组中的容量磁盘数。
  • CAPACITY_DISK_FOOTPRINT:每个容量磁盘分配的内存量(无论磁盘大小如何)。
  • DISKGROUP_FIXED_FOOTPRINT:分配给主机中每个单独磁盘组的固定内存量。
  • DISKGROUP_SCALABLE_FOOTPRINT:根据 ESXi 主机的物理内存量分配给每个单独磁盘组的内存量
  • CacheSize:缓存磁盘大小,以 GB 为单位(对于 SSD,范围为 0-600;对于混合配置,范围为 0-2 TB)CACHE_DISK_FOOTPRINT:每 GB 缓存磁盘分配的内存量。

对于以上参数,部分参数具有常量数值

All-Flash

  • HOST_FOOTPRINT = 8620 MB
  • CAPACITY_DISK_FOOTPRINT = 240 MB (ALL_FLASH)
  • CACHE_DISK_FOOTPRINT = 15 MB (ALL_FLASH)
  • DISKGROUP_FIXED_FOOTPRINT = 8420 MB (ALL_FLASH) *

Hybrid

  • CAPACITY_DISK_FOOTPRINT = 300 MB (HYBRID)
  • CACHE_DISK_FOOTPRINT = 10 MB (HYBRID)
  • DISKGROUP_FIXED_FOOTPRINT = 7840 MB (HYBRID)
  • DISKGROUP_SCALABLE_FOOTPRINT = 0.5% of system memory **

注意:对于启用仅压缩功能的磁盘组,每个容量磁盘需付出 39.5 MB 的额外成本。
对于启用去重功能的磁盘组,每个磁盘组需付出 120 MB 的额外成本。
对于混合配置,可扩展的占用空间将是系统内存的 0.5% 或缓存磁盘大小的 0.2%(以较小者为准)。

全闪存的缓存磁盘上限为 600 GB,因此,使用大于 600 GB 的 SSD 将不会消耗额外的内存。该公式假设使用的是同构磁盘组,即磁盘的数量和大小在主机的磁盘组之间相同。对于异构磁盘组,必须单独计算并汇总每个磁盘组的 DiskGroupFootprint

对于刚刚的配置实例,我们可以计算

公式:

HOST_FOOTPRINT + ( NumDiskGroups * ( DISKGROUP_FIXED_FOOTPRINT + DISKGROUP_SCALABLE_FOOTPRINT + ( CacheSize * CACHE_DISK_FOOTPRINT) + NumCapacityDisks * CAPACITY_DISK_FOOTPRINT))

计算结果:

7840 +(7840 + 0.5% * 96 * 1024+600 * 10+ 2 * 300)= 22771.52MB

当前主机配置的开销在22GB左右,还应当考虑ESXi主机的正常开销。

总结

根据计算公式得出的数据和实际消耗的内存相差不大,证明该情况属于正常现象。

2

  1. 老罗
    老罗

    1. Nnkin
      Nnkin

      @老罗领导好!