跨Windows/Linux应用的SMB文件共享与仲裁服务解决方案诉求
支持Windows/Linux的SMB共享与仲裁服务AWS替代方案及问题解决
一、替代方案
1. 跨AZ EC2 Samba集群(Pacemaker+Corosync)
- 部署两台跨可用区(AZ)的EC2实例(推荐Linux,成本更低),搭配支持多挂载的IO2/io1 EBS卷作为共享存储(最小可选100GB,成本远低于FSx ONTAP)。
- 安装Pacemaker+Corosync做集群管理与仲裁,将Samba服务配置为集群资源,同时设置浮动IP作为SMB访问入口。
- 故障转移时,浮动IP自动漂移至健康节点,Windows/Linux客户端通过该IP访问SMB,无需手动切换子网;若绑定DNS记录,客户端刷新DNS即可自动连接新节点。
- 优势:完全自定义配置,成本可控,原生支持跨AZ高可用,兼容所有SMB客户端。
2. EFS + Samba网关集群
- 利用AWS EFS的原生跨AZ冗余特性,在两台EC2实例上搭建Samba网关,将NFS协议的EFS转换为SMB共享。
- 同样用Pacemaker+Corosync管理网关集群,配置浮动IP作为统一访问入口,实现SMB服务的高可用。
- 优势:存储层完全托管,无需维护存储冗余,适合容量弹性需求较大的场景,成本低于FSx系列。
二、WSFC方案故障排查与解决
1. EBS卷未在WSFC中显示的解决
- 确保使用的是支持多挂载的IO2/io1 EBS卷,且已在EC2控制台为两台实例启用「共享磁盘」权限。
- 挂载卷后,在Windows实例的「磁盘管理」中完成磁盘联机、格式化操作,再回到WSFC控制台执行「添加磁盘」操作,即可识别集群可用存储。
- 建议将磁盘配置为集群共享卷(CSV),简化集群存储管理。
2. EBS卷作为iSCSI后端的可行性
- 完全可行:在一台Windows实例上配置iSCSI目标服务器,将EBS卷映射为iSCSI LUN,另一台实例作为iSCSI客户端连接该LUN,之后即可在WSFC中添加为集群存储。
- 更优方案:直接使用EBS多挂载卷,无需iSCSI中转,减少复杂度,同时保证跨AZ访问的性能。
3. WSFC仲裁配置建议
- 两台节点场景下,优先使用AWS云见证(Cloud Witness):配置WSFC访问指定S3桶,利用S3的高可用性作为仲裁节点,避免依赖额外EC2实例。
- 备选方案:搭建独立的SMB共享仲裁服务器(可复用低配置EC2实例),或使用第三台EC2作为投票节点。
内容的提问来源于stack exchange,提问作者Mayank Gaur
相关产品推荐
相关产品推荐

