ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

VMware vSAN 8 ESA架构详解:磁盘组到存储池的规划与避坑

VMware vSAN 8 ESA架构详解:磁盘组到存储池的规划与避坑 简介VMware vSAN 8.pdf 是一份深入解析 VMware vSAN 8.0 U1 Express Storage Architecture 的详细完整英文技术文档面向虚拟化管理员、存储工程师和超融合架构学习者。文档系统讲解软件定义存储的部署与运维方法内容覆盖硬件兼容性、VMkernel 网络配置、NIC Teaming、分布式交换机与网络 I/O 控制以及 vSphere HA、VMCP、分布式 RAID、对象与组件机制等关键知识点。特别是 vSAN ESA 的存储池、数据路径与 On-Disk Format 说明能帮助对比理解新架构与传统 OSA 读写流程的差异同时涵盖压缩加密、iSCSI、vSAN HCI Mesh 等扩展功能。资源目录与官方架构说明一致便于按章节快速定位硬件选型、网络规划、HA 隔离响应、数据缓存与校验等实施细节亦可作为部署排障手册。资源共 1 个 PDF 文件约 23.69MB目录结构清晰便于高效检索目前已有 155 人学习适合正在规划、部署或维护 vSAN 集群的读者作为技术参考。1. VMware vSAN 8 的 PDF 在讲什么从磁盘组到存储池的跳变刚拿到 VMware-vSAN-8.pdf 时我以为又是一份换壳的 vSAN 7 文档翻到一半才发现vSAN 8 把过去十年围绕磁盘组的存储逻辑整个推翻了一层。最大的变化是引入了 ESAExpress Storage Architecture不再需要单独挑一块小容量 SSD 做缓存盘所有 NVMe 设备汇成一个存储池性能和运维都变得简单直接。这份 PDF 适合虚拟化管理员、存储工程师以及任何准备在 vSphere 8 上把 vSAN 从 7 升级到 8 的人。尤其是那些和我一样习惯用旧思维规划新架构的人最该先看。2. 规划 vSAN 8 集群兼容性检查与容量估算动手前先看这两张表规划决定成败。vSAN 8 的安装向导虽然友好但如果你在兼容性或容量上偷懒后面健康检查会直接翻车。我见过不少人把 vSAN 8 当 vSAN 7 来规划结果 ESA 存储池一直无法声明。这一章先把最容易出问题的两个前置项说清楚硬件兼容性和容量估算。网络和许可证也会顺带提一句因为这两者决定了你选 OSA 还是 ESA。2.1 硬件兼容性ESA 为什么不允许混插 SATA SSDvSAN 8 同时提供两种架构。OSAOriginal Storage Architecture就是传统 vSAN 7 的磁盘组模式每台主机需要一个缓存层设备通常是小容量 NVMe 或 SAS SSD加至少一个容量层设备大容量 SSD 或 HDD。ESAExpress Storage Architecture是 vSAN 8 真正的新东西磁盘组被彻底拿掉主机上所有经过认证的 NVMe 设备放进同一个存储池由 vSAN 统一做对象级管理不再需要独立缓存盘。ESA 对硬件要求非常苛刻所有存储设备必须出现在 VMware 官方的 vSAN 兼容性指南HCL里驱动和固件版本也必须匹配。为什么这么苛刻因为 ESA 没有缓存层兜底数据路径上任何一块盘的异常都会直接表现为存储池不可用。所以如果你的机器上还插着一块 SATA SSDESA 不会绕过它而是把整台主机的存储标为“未声明”。这不是 bug是 ESA 的边界。对比维度OSAESA磁盘组织缓存盘 容量盘统一存储池无缓存层设备要求SATA/SAS/NVMe 均可需 HCL仅认证 NVMe驱动/固件匹配容量管理按磁盘组逐组管理存储池统一管理适用场景老集群升级、混合设备全闪 NVMe 新部署动手前按这三步检查先登录 VMware 兼容性指南站点输入服务器型号确认系统支持 vSAN 8 ESA再在 Storage 类型里筛选 NVMe确认每块盘的型号、固件在列表里最后检查直通模式——如果 RAID 控制器没有切换为直通IT 模式ESA 会认为这些盘没有能力同样声明失败。别信厂商的宣传页HCL 上没有就是没有老老实实走 OSA。2.2 网络与许可证25GbE 和 RoCE 是 ESA 的分水岭vSAN 8 ESA 的数据路径对网络依赖更重。OSA 在万兆网络下能好好跑但 ESA 会把多台主机的 IO 聚在一起千兆网络会直接成为瓶颈延迟翻倍都正常。VMware 官方建议 ESA 至少使用 25GbE这不算夸张只是很多小环境只有万兆也照样能跑关键是端到端 MTU 必须一致。RoCEv2 在 vSAN 8 里是可选项用来做 RDMA能显著降低数据搬运时的 CPU 开销但交换机需要支持 PFC 和 ECN配置错了表现很诡异比如网络健康检查时好时坏。我的建议是中小环境先把 vSAN 流量划到独立 VLAN启用 Jumbo FrameMTU 9000观察延迟指标如果 CPU 出现瓶颈再考虑上 RoCE。许可证这一块vSAN Standard、Advanced、 Enterprise 对 RAID-5/6、去重压缩、vSAN Max 等高级功能的支持不同。具体能力矩阵以官方对比页为准不要用 vSAN 7 的记忆去推测 vSAN 8。常见做法是先把集群功能开起来再在 Licensing 页面对比允许的特性集避免后期因为少一个企业版导致功能无法启用。2.3 容量估算按 FTT 和故障域反推裸容量容量估算是翻车重灾区。很多人直接在管理界面看到“可用容量”一个数就以为那是最终容量结果加了几个虚拟机就黄色警告。vSAN 8 的容量必须按存储策略反推。策略最小主机数空间效率可用容量公式FTT1 RAID-1镜像350%裸容量 / 2FTT2 RAID-1镜像533%裸容量 / 3RAID-5 (31) 纠删码475%裸容量 × 3 / 4RAID-6 (42) 纠删码667%裸容量 × 4 / 6上面只是基础公式还要考虑两件事。第一故障域预留如果配置了故障域vSAN 需要为每个故障域保留一份数据容量会被进一步吃掉。第二重建缓冲至少预留 20% 裸容量否则主机故障时重同步会撑满磁盘。去重压缩能省多少备份、桌面、文件服务器这类冗余数据通常能省 30% 到 50%但数据库 OLTP 往往省不了多少。做容量规划时先按最保守的不压缩场景算再把去重压缩当成惊喜而不是把惊喜当预算。3. 在 vSphere 8 上启用 vSAN 8从建集群到存储策略的完整步骤规划做完下一步就是建集群。vSAN 8 的 UI 向导比 vSAN 7 友好但有几个开关和边界条件不搞清楚后面会走回头路。这一章按“建集群 → 声明存储 → 配策略”三步走每一步都给出关键参数和判断依据。3.1 创建集群并启用 vSAN三个关键开关在 vSphere Client 里新建数据中心下的集群时勾选“vSAN”并选择“已启用”后续向导会引导你完成步骤。这里有三个开关我会逐个确认。第一个开关集群功能里的 vSAN 服务必须打开否则后面主机加进来也不会自动加入 vSAN 数据面。第二个开关网络配置里要指定用于 vSAN 流量的 VMkernel 适配器。不要偷懒选“自动”尤其在多网卡环境下手动指定哪块物理网卡走 vSAN 更可控。第三个开关添加主机时向导会做一次 HCL 检查和磁盘格式检查注意不要跳过这一步。实际操作顺序新建集群 → 功能勾选 vSAN → 添加主机 → 等待磁盘亮起 → 检查 vSAN 健康。全部主机加完后如果硬件满足 ESA 条件集群设置里会看到“vSAN ESA 已启用”的选项如果不满足就只能用 OSA。这里常见做法是让向导自动检测而不是手动强行开启 ESA否则后续健康检查会报错。3.2 声明存储并创建存储池OSA 磁盘组 vs ESA 存储池先看 OSA。在主机“配置 存储 vSAN”里进入磁盘管理选择一块小容量但写密集的 NVMe 作为缓存盘再选 1 到 7 块大容量盘作为容量盘形成磁盘组。这个拓扑和 vSAN 7 一模一样。再看 ESA。不需要建磁盘组vSAN 会自动发现主机上所有可用的 NVMe 设备你要做的只有一件事确认这些设备没有被文件系统或虚拟机占用。最常见的问题是旧 vSAN 分区没有擦干净导到设备显示“已使用”。可以用esxcli storage core device list查看设备分区信息也可以在界面中直接选择“擦除磁盘”把明文清空后再声明。创建 ESA 存储池时界面会列出候选磁盘让你勾选哪些设备加入。这里注意同池里的设备容量差异不要太大比如一块 1TB、一块 7TB容量利用率会按最小容量算白白浪费空间。可以的话优先选购同容量同型号的 NVMe 盘容量规划最简单健康检查也最干净。3.3 存储策略怎么设FTT、RAID-5/6 和条带化存储策略是 vSAN 的灵魂vSAN 8 的界面把它从“高级参数”提到了“规则集”的第一层。最核心的参数是 FTT允许故障数和故障容忍方法。参数可选值说明FTT0 / 1 / 2允许同时挂掉的主机数故障容忍方法RAID-1 / RAID-5 / RAID-6镜像或纠删码条带化1 - 12建议 1 或 2增加并发读能力浪费容量对象空间预留0% - 100%为快照和增长预留物理空间创建策略的步骤在“VM 存储策略”中新建策略选择 vSAN 规则集设置 FTT 和故障容忍方法系统会自动检查集群最小主机数并给出警告。然后把策略应用到虚拟机的虚拟磁盘上。注意策略应用是异步的切换后虚拟机会显示“数据不完整”或“重新保护中”等数据重新条带化完成才算真正好。很多人看到这个状态就以为策略配坏了其实是在做后台重同步。对大多数生产虚拟机FTT1 RAID-1 是一个稳的起步配置如果主机数够 4 台且对容量敏感RAID-5 (31) 空间效率高一些但故障重建时间会偏长。IO 压力大的虚拟机条带化建议设 2但不要为了堆性能而设 4带宽和 CPU 会先顶不住。4. 让 vSAN 8 跑出性能必调参数和阈值vSAN 8 的默认值大多数是对的但默认值不会照顾特殊负载。这一章讲三个最值得动手的点去重压缩的开关、故障域设计、监控阈值。这三个点决定了你的集群是“能跑”还是“跑得好”。4.1 去重压缩与校验默认开还是关vSAN 8 ESA 的去重压缩是存储池层面的能力默认开启开销比 vSAN 7 低很多。OSA 的去重压缩则以策略形式存在由管理员决定是否启用。这里的分水岭是数据类型。对 OLTP、数据库、高频交易这类随机读写为主的工作负载数据本身几乎没有重复去重压缩只会白白消耗 CPU我的做法是直接关闭。对备份、文件共享、虚拟桌面这类有大量重复块的工作负载去重压缩能省不少容量而且 ESA 的实现把性能损耗压得很低开着收益更大。校验和则相反无论什么负载都建议开启vSAN 8 里的校验和默认开启性能影响可以忽略。有人为了省一点点开销把它关掉一旦遇到静默数据损坏后悔药都买不到。4.2 故障域与拓扑把数据本地性做出来vSAN 8 默认把每台主机当作一个故障域也就是说数据副本分布在不同的主机能容忍单主机故障。但如果你的是一个多机柜集群比如三个 TOR 交换机下面各挂了 8 台主机你要主动配置跨机柜故障域否则 vSAN 可能把两个副本放在同一个机柜里这样交换机故障就会同时干掉两个副本。配置故障域不算难在集群的“配置 vSAN 故障域”里添加故障域把同一机柜的主机拖进去vSAN 会自动把数据分布到不同故障域。关键参数是故障域数量不要少于 FTT1。比如 FTT2 需要至少 3 个故障域。如果你只有两个机柜又想容忍整个机柜故障那只能选 FTT2 并接受容量损失。没有捷径可走这是数据安全换来的代价。4.3 监控阈值延迟、队列深度、组件状态vSAN 性能服务会实时收集 IOPS、延迟和吞吐量但默认的红色阈值属于保守值直接看可能会误判。我一般按这套经验值来设读延迟超过 5ms 要警惕写延迟超过 2ms 就要查网络NVMe 队列深度超过 32 说明饱和这时候加 CPU 比加盘更有效。健康检查里有一个“网络 P50/P99 延迟”的指标红色阈值通常是 5ms但这个阈值对跨机柜集群来说太激进后面章节会详细讲。指标警告阈值红色阈值优先排查方向存储读延迟 3ms 5ms存储池负载、去重压缩开销存储写延迟 1.5ms 2ms网络丢包、缓存层压力网络 P99 延迟 2ms 5msMTU、交换机拥塞磁盘队列深度 16 32过载、固件问题还有组件状态。vSAN 对象组件列表里会出现“运行中”“重新同步”“降级”等状态。降级多数是策略切换引起的别慌如果长时间停在“重新同步”且集群容量不足就要赶紧扩容否则重同步会把存储池撑爆。5. vSAN 8 常见翻车避坑我踩过的 4 个真实案例这一章没有理论只有现象、原因和解决办法。每个案例都是我在实际环境里亲手踩过的列出“现象 → 原因 → 解决”三段方便你直接对照。5.1 现象启用 ESA 后主机一直显示“存储未声明”现象新部署的 vSAN 8 集群主机加入后vSAN 存储界面里所有磁盘都是灰色提示“未声明”无法创建存储池。查看健康检查发现 ESA 兼容性标红。原因这台服务器的本地磁盘列表里混了一块 SATA SSD 和两块 NVMe。ESA 的规则是“全盘参与”不是“挑着参与”只要存在不满足 ESA 条件的设备整台主机的存储都会被拒绝。另一个常见原因是旧 vSAN 分区没有擦除干净vSAN 会把有遗留分区的盘视为非空设备也不同意声明。解决先把 SATA SSD 拔出或绕开只保留 NVMe 设备然后在 vSphere Client 里把每块 NVMe 的磁盘格式擦除再回到 vSAN 配置里重新声明。这里还有一个隐藏坑如果是软 RAID 控制器必须切成直通模式否则 vSAN 看不到真实的 NVMe 设备。操作后再刷新存储池列表存储未声明状态就会消失。5.2 现象RAID-5/6 策略卡在“数据不完整”重建疯狂占带宽现象给 VM 应用了 RAID-5 策略后虚拟机一直处于“数据不完整”后台重新同步持续几个小时集群网络被占满其他 VM 的延迟肉眼可见地变高。原因主机数不足或故障域不够。RAID-5 (31) 最少要 4 台主机RAID-6 (42) 最少要 6 台主机这里的“台”是 vSAN 实际参与数据放置的主机数。如果只有 3 台主机就强行应用 RAID-5策略永远不可能完成vSAN 会反复尝试重建占满带宽。另一个原因是配置了故障域但故障域数量少于策略要求数据块找不到足够多的物理位置去放置。解决先确认集群里可用的 vSAN 主机数不足就补主机或把策略降回 RAID-1。如果主机数足够再检查故障域配置确保每个故障域里主机数对称。重建带宽可以用 vSAN 健康检查里的重同步速率限制功能临时把重同步占用调低把核心业务的 IO 让出来。5.3 现象iSCSI 走 vSAN 8 高性能路径后IOPS 反而掉了一半现象有一组数据库通过 iSCSI 挂载到 vSAN 8 数据存储上所有路径都显示正常但 IOPS 只有测试前的五成延迟也没有明显下降。原因iSCSI 走的是 ESXi 软件适配器默认只有一条路径在工作没有启用多路径。vSAN 8 数据存储本身速度很快但 iSCSI 发起端和目标是两个世界中间的网络路径如果不做多路径负载均衡流量全挤在一个 vmkn 上IOPS 自然上不去。还有一个原因是 MTU 不一致vSAN 网络开了 9000iSCSI 网络的 VMkernel 还是 1500帧被分段重装CPU 开销反而更高。解决在 iSCSI 软件适配器里启用多路径配置端口绑定把两个或四个 VMkernel 网络端口都绑给 iSCSI路径策略选 Round Robin。同步把 MTU 9000 配到 iSCSI 的 VMkernel 和交换机端口上。改完再测IOPS 回到正常水平。5.4 现象vSAN 健康检查报“网络延迟高于红色阈值”但业务不卡现象健康检查页面一直报网络延迟红色但所有虚拟机跑得很稳业务端完全没有感知。打开指标后发现 P99 延迟是 8ms而健康检查默认红色阈值只有 5ms。原因这个集群的 vSAN 流量跨了三个机柜每个机柜之间是三层网络物理链路本身的转发延迟就是 3ms 左右加上排队和内部处理P99 到 8ms 是正常物理数据不是拥塞。健康检查的默认阈值是面向单机柜内网络的对跨机柜拓扑缺乏适应性。解决先确认网络延迟的构成逐跳 ping 找最慢的链路排除交换机 PFC 配置错误或环路确认是物理延迟后再做决策。如果只是阈值问题可以在 vSAN 健康检查设置的“网络延迟”参数里调整阈值到 10ms但不要盲目改大否则会掩盖真实性能问题。我一般会同时在交换机上配置 QoS优先保证 vSAN 流量不被其他业务抢占。6. 用 esxcli 与 PowerCLI 给 vSAN 8 做体检一个终端命令验证全链路前面五章都在讲配置这一章讲验收。配置完成后你最需要的是一个能快速、可重复地验证集群健康的方法。我的习惯是把 esxcli 和 PowerCLI 两个命令固定成自己的“体检套餐”每个季度跑一次顺便和 PDF 里的推荐值对比。6.1 一行命令确认 ESA 存储池的健康状态在任意 ESXi 主机的 SSH 终端里执行esxcli vsan health cluster list这条命令会返回整个 vSAN 集群的健康检查聚合结果。重点关注Overall Health Status字段值为green说明健康检查组跑完没有红色告警如果有yellow或red继续用下面的命令缩小范围esxcli vsan health cluster list -s逻辑说明health cluster list走的是 vCenter 里同一套健康检查逻辑区别在于它不经过 UI直接查询 vSAN 的 CMMDS 数据。-s参数会输出每个子检查项的详细状态比如网络延迟、磁盘格式、副本数适合快速定位哪一项红了。命令行输出里green对应 UI 的绿色yellow表示需要关注但不影响服务red表示必须处理。再来看存储池esxcli vsan storage pool list输出里重点看UsedBy字段正常情况下应该显示vsan如果还出现其他占用者说明磁盘没完全交出来。Total Capacity和Free Capacity要对照着看当Free Capacity低于总容量的 20% 时我建议提前加盘或清理快照不要等到黄色警告才动手。6.2 用 PowerCLI 导出健康检查报告如果你更习惯 vCenter 侧的自动化PowerCLI 有一个更直接的命令Get-VsanCluster -Name VSAN-CLUSTER | Get-VsanClusterHealthStatus执行前需要先连接 vCenterConnect-VIServer vcenter.example.com。这个命令返回一个健康检查对象里面包含了集群所有检查项的结果。常见的做法是把结果导成 CSV 或 HTML 留档下次跑完后对比差异看有没有新增的 red 项。我的个人习惯是把这份健康检查报告和 vSAN 8 的升级前检查绑定在一起每次打补丁前先跑一遍确认基线干净再操作。命令行体检不会替你做容量判断但它能帮你把“一切正常”这句话变成可查证的证据。我踩过不少在 UI 上看着绿色、实际命令行报错的案例所以现在对新集群、新版本、新升级的验收一律以输出为准。希望这些细节能让你少走一段弯路也希望你拿到 VMware-vSAN-8.pdf 后能带着这份经验快速抓住重点把新架构真正用起来。本文还有配套的精品资源点击获取
返回列表