诺诺博客

  • 概述
  • 硬件清单
  • 原因
  • 总结
  •  主 页
  •  Linux
  •  微 软
  •  信 创
  •  虚 拟
  •  网 络
  •  生 活
  •  归 档
  •  友 链
  •  关 于

vSAN集群内存消耗问题

  • 诺诺
  • 2024-10-22
  • 0

概述

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

vSAN集群内存消耗问题-诺诺博客

硬件清单

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主机的正常开销。

总结

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

© 2025 诺诺博客 蜀ICP备2024099071号-1 如有侵权请联系删除 | 网站地图 | 百度统计 | 又拍云CDN加速
为了获得更好的浏览效果 建议您使用IE8.0及以上版本浏览器登陆本站点 · 服务器托管于腾讯云
  • {{ item.name }}
  • {{ item.name }}