我已经建立了一个由几台服务器组成的小型集群以及一个 SAN。服务器运行的是 Ubuntu 20.04 LTS。
使用供应商提供的说明(我找不到以前在哪里阅读过),他们建议 SAN 和服务器之间的 iSCSI 连接应该(或者“必须”?)与任何以太网流量分开。正因为如此,我在我们的交换机上配置了两个 VLAN——一个用于 iSCSI 流量,一个用于服务器之间的以太网流量(没有 SAN)。
到目前为止,似乎还不错。假设以太网在 172.16.100.XXX/24 上,而 iSCSI 在 172.16.200.XXX/24 上。更具体地说,地址看起来像这样:
机器 | 以太网 | iSCSI | 外部以太网也? |
---|---|---|---|
服务器 1 | 172.16.100.1 | 172.16.200.1 | 是的 |
服务器 2 | 172.16.100.2 | 172.16.200.2 | 是的 |
服务器 3 | 172.16.100.3 | 172.16.200.3 | 是的 |
SAN | 不适用 | 172.16.200.4 | 不 |
毫不奇怪,我可以ssh
在服务器之间使用任一 VLAN。也就是说,从服务器 2 到服务器 1,我可以执行以下任何操作:
ssh 172.16.100.1
ssh 172.16.200.1
- 通过外部可见 IP 地址 ssh
我担心的是我是否应该更好地使用防火墙规则将非 iSCSI 流量与 172.16.200.X 子网分开,以便在所有服务器上阻止端口 22 (ssh)。
我不关心相反的情况——SAN 只在 VLAN 200 上。它不知道 VLAN 100 的存在,因此它不会突然将 iSCSI 流量发送到该 VLAN。
我正在使用似乎使用端口 7777 的 Oracle 集群文件系统——也许我应该阻止 VLAN 上的所有端口,以便只使用端口 7777?iSCSI 网络上的以太网流量是否会产生问题(延迟或错误?)我应该注意吗?
谢谢!
如果您使用 DNS 名称连接到其他服务器并且这些服务器解析为 LAN 地址,您应该没问题。(当然,您也可以直接使用 LAN IP 地址。)
如果您真的想禁用 SAN 上的所有非 iSCSI 流量,您需要
如果您进行过滤,则只允许 iSCSI 并拒绝其他所有内容是正确的方法。
将 LAN 和 SAN 流量分开的主要原因是您要确保您的存储网络在任何情况下都不会阻塞。如果是这样,它会迅速导致 I/O 错误,进而导致数据丢失甚至损坏。(非常)少量的杂散流量并不值得真正担心。
但是,如果服务绑定 (#1) 不实用,或者如果有其他服务器管理员轻描淡写,我会使用 ACL 方法。例如,动态 DNS 更新很容易将您的 iSCSI IP 放入 DNS 中,并且任何服务器间流量都可以快速进入 SAN。