iSCSI 通過 VLAN 與乙太網分離
我已經建立了一個由幾台伺服器組成的小型集群以及一個 SAN。伺服器執行的是 Ubuntu 20.04 LTS。
使用供應商提供的說明(我找不到以前在哪裡閱讀過),他們建議 SAN 和伺服器之間的 iSCSI 連接應該(或者“必須”?)與任何乙太網流量分開。正因為如此,我在我們的交換機上配置了兩個 VLAN——一個用於 iSCSI 流量,一個用於伺服器之間的乙太網流量(沒有 SAN)。
到目前為止,似乎還不錯。假設乙太網在 172.16.100.XXX/24 上,而 iSCSI 在 172.16.200.XXX/24 上。更具體地說,地址看起來像這樣:
毫不奇怪,我可以
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 網路上的乙太網流量是否會產生問題(延遲或錯誤?)我應該注意嗎?
謝謝!
我擔心的是我是否應該更好地使用防火牆規則將非 iSCSI 流量與 172.16.200.X 子網分開,以便在所有伺服器上阻止埠 22 (ssh)。
如果您使用 DNS 名稱連接到其他伺服器並且這些伺服器解析為 LAN 地址,您應該沒問題。(當然,您也可以直接使用 LAN IP 地址。)
如果您真的想禁用 SAN 上的所有非 iSCSI 流量,您需要
- 將所有服務配置為僅綁定到 LAN IP 地址
- 在伺服器上使用本地防火牆過濾所有不需要的流量
- 在 iSCSI 交換機埠上使用 ACL 過濾所有不需要的流量
如果您進行過濾,則只允許 iSCSI 並拒絕其他所有內容是正確的方法。
iSCSI 網路上的乙太網流量是否會產生問題(滯後或錯誤?)
將 LAN 和 SAN 流量分開的主要原因是您要確保您的儲存網路在任何情況下都不會阻塞。如果是這樣,它會迅速導致 I/O 錯誤,進而導致數據失去甚至損壞。(非常)少量的雜散流量並不值得真正擔心。
但是,如果服務綁定 (#1) 不實用,或者如果有其他伺服器管理員輕描淡寫,我會使用 ACL 方法。例如,動態 DNS 更新很容易將您的 iSCSI IP 放入 DNS 中,並且任何伺服器間流量都可以快速進入 SAN。