4. 数据平面安全隔离
控制平面的权限决定“谁能下发命令”,而数据平面决定“数据实际从哪条路走、能走多快、能和谁共享”。在 Pure Storage 环境中,数据平面隔离的核心不是把阵列切成多台设备,而是围绕主机访问路径建立可验证的边界:同一台 FlashArray 或 FlashBlade 上,不同业务、不同租户、不同安全等级的主机,必须通过各自独立的协议入口、独立的网络分区和独立的性能配额访问存储,避免“权限对了但路径串了”的隐性越权。
主机访问路径的四个隔离层
一条完整的主机访问路径可以拆成四层,每层都有独立的隔离手段:
- 物理/链路层:FC 用独立 HBA 端口与 SAN 交换机 zone 隔离;iSCSI/NVMe-oF 用独立 VLAN 或独立物理网卡隔离;NFS/SMB 用独立业务网段隔离。
- 协议入口层:FlashArray 上 FC 端口、iSCSI 目标门户、NVMe-oF 子系统 NQN 是不同入口;FlashBlade 上 NFS 导出、SMB 共享、S3 桶是不同入口。
- 身份映射层:主机通过 WWN、IQN、NQN 或 IP 被识别为 host 对象,再绑定到卷、文件系统或快照。
- 性能边界层:通过 QoS 策略限制每主机或每卷的 IOPS、带宽,防止单租户抢占共享资源。
这四层中,前三层解决“能不能到”,第四层解决“到了之后会不会影响别人”。很多隔离事故并非权限配错,而是不同安全域的主机共用同一 iSCSI 门户或同一 NFS 导出网段,导致路径层已经混在一起。
协议隔离的关键差异
不同协议在隔离粒度上并不等价,配置时必须按协议特性分别处理:
| 协议 | 身份标识 | 隔离手段 | 常见越界风险 |
|---|---|---|---|
| FC | WWN | Zone 划分、端口绑定 | Zone 过宽导致主机看到未授权 LUN |
| iSCSI | IQN + IP | VLAN、CHAP、门户隔离 | 共用门户导致跨租户发现目标 |
| NVMe-oF | NQN | 子系统隔离、RoCE VLAN | NQN 命名空间共享导致误挂载 |
| NFS | IP / 客户端 | 导出白名单、root_squash | 导出网段过宽导致任意主机可挂载 |
| SMB | AD 账户 | 共享权限、ACL、域隔离 | 共享权限继承导致跨部门可见 |
以 iSCSI 为例,若租户 A 与租户 B 共用同一目标门户 IP,即使 CHAP 认证不同,B 仍可能通过发现会话看到 A 的 IQN 列表。正确做法是为每个租户分配独立的目标门户 IP 或独立 VLAN,并在交换机侧禁止跨 VLAN 的 iSCSI 流量。NVMe-oF 同理,不同租户应使用不同 subsystem NQN,且 RoCE 流量必须走独立无损队列,避免 PFC 风暴跨租户传播。
多租户与 QoS 边界的落地方法
多租户隔离在 Pure Storage 上通常通过“Host 对象 + 卷/文件系统 + QoS 策略”三者绑定实现。以下是一个可参考的配置示例,假设一台 FlashArray 同时服务三个租户:
# 示例:为租户B创建独立 iSCSI Host 并绑定卷与 QoS
purehost create --iqn iqn.2024-06.com.tenantb:esxi01 tenantb-esxi01
purevol create --size 4T tenantb-datastore01
purehost connect --host tenantb-esxi01 --vol tenantb-datastore01
# 创建 QoS 策略:稳态 20000 IOPS,突发 40000 IOPS,突发窗口 30s
pureqos create --name tenantb-qos --iops-limit 20000 --burst-iops 40000 --burst-window 30
pureqos apply --name tenantb-qos --vol tenantb-datastore01
# 验证绑定关系
purehost list --connect tenantb-esxi01
pureqos list --vol tenantb-datastore01
上述参数为教学示例,实际值需根据业务峰值和阵列规格调整。关键判断依据是:purehost list --connect 应只显示该租户自己的卷;pureqos list --vol 应显示策略已生效。若发现其他租户卷出现在同一 Host 下,说明 Host 映射边界已被破坏。
- 主机侧执行
iscsiadm -m session或multipath -ll,确认只看到本租户 LUN,且路径数符合设计。 - 在交换机或阵列侧抓包,确认 iSCSI/NVMe-oF 流量未跨 VLAN 泄漏。
- 用
fio或vdbench对租户 B 打满 QoS 上限,同时观察租户 A 的延迟是否稳定,验证性能边界有效。
最后需要强调,数据平面隔离不是一次性配置,而是随租户增减、协议升级和网络调整持续维护的边界。每次新增主机或卷时,都应重新检查:协议入口是否独立、网络分区是否独立、Host 映射是否独立、QoS 配额是否独立。四个“独立”同时成立,数据平面隔离才算闭环。