iSCSI 透過 VLAN 與乙太網路分離

iSCSI 透過 VLAN 與乙太網路分離

我已經建立了一個由幾台伺服器和 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 是的
儲存網路 不適用 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 上。

我正在使用 Oracle Cluster Filesystem,它似乎使用端口 7777——也許我應該阻止 VLAN 上的所有端口,以便只使用端口 7777?我應該注意的是,iSCSI 網路上的乙太網路流量是否會產生問題(延遲或錯誤?)?

謝謝你!

答案1

我擔心的是我是否應該更好地使用防火牆規則將非 iSCSI 流量與 172.16.200.X 子網路分開,以便在所有伺服器上阻止連接埠 22 (ssh)。

如果您使用 DNS 名稱連接到其他伺服器並且這些名稱解析為 LAN 位址,那麼應該沒問題。 (當然,您也可以直接使用 LAN IP 位址。)

如果你真的想要停用 SAN 上的所有非 iSCSI 流量,您需要執行下列任一操作

  1. 將所有服務配置為僅綁定到 LAN IP 位址
  2. 使用伺服器上的本機防火牆來過濾所有不需要的流量
  3. 在 iSCSI 交換器連接埠上使用 ACL 來過濾所有不需要的流量

如果您進行過濾,則僅允許 iSCSI 並拒絕其他所有內容是正確的方法。

iSCSI 網路上的乙太網路流量是否會產生問題(延遲或錯誤?)

將 LAN 和 SAN 流量分開的主要原因是您希望確保您的儲存網路在任何情況下都不會堵塞。如果這樣做,將迅速導致 I/O 錯誤,進而導致資料遺失甚至損壞。 (非常)少量的雜訊流量並不值得真正擔心。

但是,如果服務綁定 (#1) 不實用或其他伺服器管理員不重視,我會使用 ACL 方法。例如,動態 DNS 更新很容易將您的 iSCSI IP 放入 DNS 中,而且任何伺服器間流量都可以快速到達 SAN。

相關內容