
1. 项目概述为什么我们需要整合多主机磁盘如果你管理过几台独立的ESXi主机肯定遇到过这样的场景每台服务器都插着几块硬盘有的跑虚拟机有的闲置着。当某台主机的存储快满了你不得不手动迁移虚拟机或者看着另一台主机上的空闲磁盘空间干瞪眼。这种“数据孤岛”不仅管理麻烦资源利用率也低得可怜。而“ESXi vSAN 整合多主机磁盘”这个项目就是为了彻底解决这个问题。简单来说vSANVirtual SAN是VMware内置于ESXi内核的一个分布式存储解决方案。它的核心思想就是把集群里所有主机上的本地磁盘包括SSD和HDD都“池化”成一个大的、统一的共享存储资源池。对于运行在上层的虚拟机而言它们看到的就不再是某一块具体的物理磁盘而是一个高性能、高可用的虚拟数据存储。这就像把多台服务器各自的“小仓库”打通变成了一个巨大的“自动化立体仓储中心”虚拟机可以随时、随地从这个中心里存取数据而无需关心数据具体放在哪台服务器的哪块盘上。这个项目非常适合那些希望从传统集中式存储SAN/NAS转向超融合架构的中小规模环境或者任何需要构建低成本、易管理、可扩展的共享存储的场景。通过本文我将带你从零开始一步步拆解如何规划和实施一个vSAN集群把多台ESXi主机的磁盘真正“拧成一股绳”。2. 核心架构与设计思路拆解在动手之前我们必须先理解vSAN的“游戏规则”。盲目上马只会导致性能不佳或配置错误。vSAN的架构设计围绕着几个核心概念展开理解它们是成功的关键。2.1 vSAN的存储策略驱动模型这是vSAN最精妙的设计之一也是与传统存储最大的不同。在传统存储里你通常需要为整个LUN或数据存储设置统一的RAID级别如RAID5或RAID10。而在vSAN中数据保护和服务质量是以“存储策略”的形式按虚拟机或虚拟磁盘VMDK来定义的。这意味着你可以为运行核心数据库的虚拟机定义一个要求“双副本闪存缓存”的高可用策略同时为一个测试用的虚拟机定义一个“单副本容量层存储”的成本节约策略。这些策略会在虚拟机部署或修改时由vSAN自动强制执行。这种细粒度的控制使得资源分配无比灵活。2.2 磁盘组的核心角色磁盘组是vSAN架构中的基本管理单元。它由至少一块闪存设备用于缓存层和一块或多块容量设备用于持久化存储数据组成。缓存层设备通常是高性能NVMe或SAS SSD负责吸收所有的写入IO并缓存热读数据容量层设备可以是SSD或HDD则用于持久化存储数据副本。一个重要的设计准则是vSAN的故障域是以磁盘组为边界的。如果一块容量盘故障vSAN会重建该盘上所有数据到同磁盘组内的其他容量盘。但如果缓存盘故障整个磁盘组都会失效该磁盘组上的所有数据都需要从其他主机的副本进行重建。因此缓存盘的选择至关重要必须使用企业级、高耐久度的SSD。2.3 网络要求万兆是起点vSAN对网络有严格且明确的要求。所有参与vSAN集群的主机必须通过一个专用于vSAN流量的网络相互连接。这个网络需要带宽至少万兆10GbE。这是生产环境的硬性门槛。千兆网络无法满足vSAN同步复制和重建的流量需求会导致性能极差甚至超时故障。延迟建议低于1毫秒。较高的网络延迟会直接影响虚拟机IO性能。冗余强烈建议使用至少两个物理网卡进行链路聚合LACP或配置基于物理网卡的路由容错以避免单点故障。许多初次部署的失败根源都在于网络不达标。不要试图在千兆网络或高延迟的跨机房链路上部署vSAN。2.4 集群规模与主机数量vSAN要求至少3台提供存储的主机用于满足副本放置策略最多可支持64台主机。一个经典的起步配置是“31”或“41”即3或4台主机提供存储和计算外加一台仅作为计算节点不贡献存储的主机用于提供额外的计算资源或在维护时迁出虚拟机。注意vSAN集群中所有主机的硬件配置特别是CPU型号和内存不需要完全一致但差异过大会影响vSphere DRS分布式资源调度的效率。磁盘控制器则强烈建议使用vSAN兼容列表中的型号以避免潜在的驱动或性能问题。3. 实施前的关键准备工作兵马未动粮草先行。一次顺利的vSAN部署90%取决于准备工作是否充分。3.1 硬件兼容性校验这是绝对不能跳过的步骤。访问VMware的官方兼容性指南VMware Compatibility Guide严格核对以下组件服务器型号确认你的服务器品牌和型号在vSAN兼容列表中。磁盘控制器HBA/Raid卡这是重中之重。控制器必须工作在“直通模式”如HBA模式或支持“RAID0模式”。严禁使用不支持直通或RAID0的RAID卡来配置vSAN因为vSAN需要直接管理物理磁盘。常见的兼容控制器有LSI SAS3008系列HBA模式、Dell PERC H系列HBA模式等。磁盘和闪存设备检查你计划使用的SSD缓存盘和HDD/SSD容量盘是否在兼容列表中。兼容列表确保了设备的性能、稳定性和寿命监控功能能被vSAN正确识别。网卡确保万兆网卡及其驱动版本兼容。3.2 网络规划与配置为vSAN创建一个独立的、隔离的网络段。例如你可以规划一个10.10.10.0/24的网段专门用于vSAN流量。物理连接每台主机至少用两个万兆端口连接到vSAN专用交换机。建议使用两台交换机做堆叠或MLAG实现网络冗余。vSphere标准交换机配置在每台ESXi主机上创建一个新的vSwitch如vSwitch-vSAN。为该vSwitch分配两个物理网卡vmnic2, vmnic3。然后创建一个端口组将VLAN ID如果有和MTU设置为9000巨型帧。启用巨型帧能显著提升大块数据同步的效率但请确保网络中所有设备交换机、ESXi主机的MTU设置一致。VMkernel适配器在上述端口组上为每台主机添加一个VMkernel适配器选择“vSAN流量”服务并配置规划好的IP地址如Host1: 10.10.10.101, Host2: 10.10.10.102。3.3 磁盘识别与模式确认在ESXi主机控制台或通过SSH登录使用命令esxcli storage core device list查看所有磁盘设备。确认磁盘已被系统识别并且其驱动来自vmw_ahci或vmw_sas等原生驱动而不是第三方RAID卡驱动伪装成的单个“磁盘”。最关键的一步是确认磁盘控制器模式。通过iDRAC/iLO或BIOS进入磁盘控制器配置界面将其模式从“RAID”改为“HBA”或“Non-RAID”。更改后在ESXi中看到的应该是一块块的“本地磁盘”而不是一个大的RAID卷。4. 逐步构建vSAN集群实操假设我们已经有三台配置相同的ESXi主机esxi01, esxi02, esxi03并完成了上述所有准备工作。下面开始集群构建。4.1 创建vSphere集群并启用功能首先我们需要在vCenter Server中创建一个空集群。登录vCenter右键数据中心选择“新建集群”。为集群命名如VSAN-Cluster并勾选两个核心功能vSphere DRS启用并设置为“全自动”这能让虚拟机在主机间自动负载均衡。vSphere HA启用提供主机故障时虚拟机的自动重启保护。将三台ESXi主机拖入这个新建的集群中。4.2 配置vSAN网络这是确保主机间能正常通信的步骤。依次检查每台主机的网络配置。导航到“配置”-“网络”-“VMkernel适配器”。找到你之前为vSAN创建的VMkernel适配器如vmk2确保其“已启用的服务”中包含“vSAN”。使用vSAN网络IP互相ping测试确保三台主机间网络互通且延迟极低。4.3 初始化vSAN并创建磁盘组现在进入核心环节——开启vSAN并添加磁盘。在vCenter中进入集群视图点击“配置”-“vSAN”-“服务”。点击“配置”按钮选择“单站点集群”这是我们最常见的部署模式。在“声明磁盘”步骤系统会自动列出所有可用的未使用磁盘。这里你需要为每台主机手动创建磁盘组。对于每台主机从“闪存磁盘”列中选择一块高性能SSD作为缓存层。然后从“容量磁盘”列中选择一块或多块HDD或SSD作为容量层。将它们与刚才选择的缓存盘关联到同一个磁盘组。点击“创建磁盘组”的按钮。为每台主机重复此操作。确认磁盘组配置无误后完成向导。vSAN服务将开始初始化这个过程包括格式化磁盘、创建分布式文件系统等可能需要几分钟到几十分钟取决于磁盘数量和大小。实操心得在声明磁盘时建议为每台主机创建完全对称的磁盘组例如每台都是1块缓存盘2块容量盘。这种对称配置能最大化利用vSAN的分布式特性避免出现性能或容量瓶颈。此外在创建磁盘组后不要立即进行大量IO操作给vSAN一些时间完成后台初始化。4.4 创建并应用存储策略vSAN初始化完成后你会看到一个名为vsanDatastore的数据存储。但此时它的能力还未被定义。我们需要创建存储策略。导航到“策略和配置文件”-“虚拟机存储策略”。点击“创建”命名策略为“双副本-RAID1”。在“规则集1”中添加规则规则1“允许的故障数”设置为1。这意味着一份数据将保存2个副本FTT1。规则2“每个对象的磁盘带数”保持默认1。对于大多数场景这已足够。规则3“闪存读取缓存预留”可以设置为0%除非有明确的性能需求。vSAN会自动管理读缓存。保存策略。现在当你在这个集群里创建新虚拟机或在现有虚拟机上右键选择“虚拟机策略”-“编辑虚拟机存储策略”时就可以选择这个“双副本-RAID1”策略。vSAN会自动确保该虚拟机的数据满足跨两台主机存放两个副本的要求。5. 日常运维与性能监控要点vSAN部署完成只是开始持续的监控和恰当的运维才能保证其稳定高效运行。5.1 关键性能指标监控不要只盯着数据存储的剩余容量。在vCenter的集群“监控”-“vSAN”标签页下关注这些核心指标性能查看“后端延迟”物理磁盘延迟和“前端延迟”虚拟机感知到的延迟。如果后端延迟持续过高如HDD超过20ms可能是容量层磁盘性能瓶颈。容量不仅要看整体使用率更要关注“已用容量”与“已配置容量”的区别。“已配置容量”包含了副本和校验带来的开销。一个显示使用率70%的数据存储其物理空间使用率可能已经超过85%。运行状况vSAN内置的健康服务会检查网络、磁盘、集群状态等数十个项目。务必定期查看并解决所有告警红色和警告黄色。5.2 磁盘故障处理流程当一块容量磁盘故障时在vSAN中显示为“已降级”或“不存在”处理流程如下确认故障在“vSAN”-“物理磁盘”视图中确认故障磁盘及其所属主机。物理更换在主机上物理更换故障硬盘。确保新硬盘容量不小于旧盘且最好是相同或更高型号。声明新磁盘新磁盘上线后在ESXi存储设备中会显示为“未使用”。你需要手动将其添加到原有的磁盘组中。导航到主机的“配置”-“vSAN”-“磁盘管理”选择故障磁盘所在的磁盘组点击“添加磁盘”操作将新磁盘作为容量设备加入。数据重建添加后vSAN会自动开始将丢失的副本数据重建到新磁盘上。你可以在“监控”-“vSAN”-“重新同步组件”中观察进度。重建期间会对集群性能和网络带来额外压力建议在业务低峰期进行。5.3 主机维护模式操作当需要对某台vSAN主机进行硬件维护或升级时必须使用正确的维护模式。右键点击主机选择“进入维护模式”。关键选择系统会弹出选项“确保可访问性”或“无数据迁移”。确保可访问性默认且推荐vSAN会将该主机上存储的所有数据组件副本迁移到集群中的其他主机上。这保证了维护期间数据的完整可用性但会引发大规模数据迁移耗时较长。无数据迁移数据仍保留在该主机上但虚拟机必须关机。仅当维护时间极短且可以接受相关虚拟机停机时使用。选择“确保可访问性”等待数据迁移完成主机状态变为“维护模式”后即可安全地进行硬件操作。维护结束后退出维护模式vSAN可能会将部分数据迁回以恢复负载均衡。6. 常见问题与故障排查实录即使规划得再周全在生产中仍可能遇到问题。以下是我在实践中遇到的几个典型场景及其解决方法。6.1 问题vSAN集群分区网络脑裂现象集群中部分主机显示“已断开连接”或“未响应”vSAN数据存储可能变为不可访问虚拟机可能宕机。原因这是最严重的问题之一通常由网络故障引起。例如vSAN专用交换机的上行链路故障导致集群被分割成两个或多个无法通信的网络分区。排查与解决立即检查物理网络确认交换机、网线、网卡状态。这是最快可能找到根因的地方。检查VMkernel适配器在每台主机上使用esxcli network ip connection list查看vSAN VMkernel端口的连接状态。使用vmkping命令测试主机间vSAN IP的连通性和延迟。查看vSAN集群状态在vCenter的“vSAN运行状况”中检查“集群”-“网络分区”告警。恢复修复网络物理连接后分区通常会自动愈合。如果未自动恢复可能需要手动将“孤立”的主机从集群中移除再重新添加此操作风险高需谨慎并在VMware支持指导下进行。避坑技巧为vSAN网络配置至少两个独立的物理交换机和网卡并启用网络I/O控制NIOC为vSAN流量预留带宽可以极大降低网络分区风险。6.2 问题磁盘组降级或脱机现象在“磁盘管理”中某个磁盘组显示为“已降级”黄色或“脱机”红色。原因缓存设备故障导致整个磁盘组失效。容量设备故障超过容忍度例如一个包含两块容量盘的磁盘组若设置FTT1即双副本当一块盘故障时状态为“已降级”若两块都故障则可能“脱机”。控制器或线缆问题导致磁盘暂时或永久丢失。排查与解决检查ESXi主机硬件日志通过iLO/iDRAC或esxcli hardware命令确认是否有磁盘SMART错误或控制器报警。在ESXi命令行使用esxcli vsan storage list查看磁盘的详细状态和错误信息。如果是物理磁盘故障参照第5.2节的流程进行更换。如果是缓存盘故障导致磁盘组脱机情况更复杂。你需要联系VMware支持因为可能涉及数据恢复。切勿在未明确故障原因前随意移除或重新声明磁盘。6.3 问题虚拟机存储策略合规性失败现象虚拟机存储策略显示“不合规”或在部署虚拟机时提示“无法应用存储策略”。原因集群资源不足例如策略要求FTT1双副本但集群只有两台主机提供存储无法将两个副本放在不同的主机上。磁盘空间不足数据存储的剩余物理空间不足以创建新的副本或对象。网络问题导致vSAN无法在主机间放置组件。排查与解决首先检查vSAN数据存储的“容量”视图确认是否有足够的可用空间。检查集群中“提供存储”的主机数量是否满足策略要求FTT1至少需要3台。在虚拟机的“监控”-“vSAN”-“虚拟对象”视图中查看该虚拟机各个磁盘对象的详细状态和放置情况看是否有组件处于“已降级”或“无法访问”状态。如果是不合规的虚拟机可以尝试右键点击它选择“虚拟机策略”-“应用存储策略”强制vSAN重新尝试满足策略要求。6.4 性能调优初步建议如果感觉虚拟机IO性能不如预期可以从以下几点入手检查缓存盘利用率缓存盘是性能的生命线。如果缓存盘利用率长期高于80%说明它已成为瓶颈需要考虑升级更高性能或更大容量的缓存SSD。审视存储策略过高的“允许的故障数”如FTT2需要3个副本或“每个对象的磁盘带数”如设置为2以上会显著增加写入放大消耗更多缓存和网络资源。非关键业务虚拟机可适当降低策略要求。启用去重和压缩如果容量层是全闪存All-Flash强烈建议启用去重和压缩。这能节省大量空间且对性能影响很小现代CPU足以处理。但混合架构Hybrid不支持此功能。监控网络吞吐量和丢包使用vCenter的性能图表或ESXTOP命令按n键查看网络监控vSAN VMkernel适配器的吞吐量和是否有丢包。网络瓶颈会直接表现为高延迟。整合多台ESXi主机的本地磁盘构建vSAN是一个将分散资源转化为高效、弹性企业级存储池的过程。它消除了传统共享存储的单点故障和扩展瓶颈但其成功高度依赖于前期的严谨规划硬件兼容性、网络设计和后期对分布式系统特性的理解存储策略、故障域。从我自己的经验来看最大的教训往往来自对“软要求”的忽视比如网络延迟和控制器模式。一旦基础打牢vSAN带来的运维简化和管理效率提升将是革命性的。当你看到虚拟机可以在集群内无感知地迁移存储空间可以像云一样按需扩展时就会觉得这一切的细致准备都是值得的。最后一个小建议在生产环境全面承载业务前务必建立一个包含2-3台主机的测试集群模拟磁盘故障、主机宕机等场景完整走一遍恢复流程这会让你在真正面对问题时充满信心。