Skip to main content
StorageGRID solutions and resources
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

使用 F5 DNS 實現StorageGRID 的全域負載平衡

貢獻者 netapp-aronk

作者:史蒂夫‧戈爾曼 (F5)

本技術報告提供了詳細的說明,指導如何配置NetApp StorageGRID與 F5 DNS 服務,以實現全域負載平衡,從而在網格分佈於多個站點和/或 HA 群組時,提供更好的資料可用性、更高的資料一致性並優化 S3 事務路由。

簡介

F5 BIG-IP DNS 解決方案以前稱為 BIG-IP GTM(全球流量管理器),非正式名稱為 GSLB(全球伺服器負載平衡),它允許跨多個主動-主動 HA 群組和主動多站點StorageGRID解決方案實現無縫存取。

F5 BIG-IP 多站點StorageGRID配置

無論要支援多少個StorageGRID站點,至少需要兩個 BIG-IP 設備(實體或虛擬)啟用並設定 BIG-IP DNS 模組。DNS 設備越多,企業獲得的冗餘程度就越高。

BIG-IP DNS - 初始設定入門指南

BIG-IP 設備完成至少初始設定後,使用 Web 瀏覽器登入 TMUI(BIG-IP GUI)介面,然後選擇「系統」→「資源配置」。如前所述,請確保「全球流量(DNS)」模組已勾選並顯示已取得授權。請注意,如圖所示,「本地流量 (LTM)」通常可以配置在同一裝置上。

已啟用全域流量(DNS)服務

配置 DNS 協定基礎元素

StorageGRID站點的全域流量管理的第一步是選擇 DNS 選項卡,幾乎所有全域流量控制都會在此配置,然後選擇設定→ GLSB。啟用這兩個同步選項,並選擇一個將在參與的 BIG-IP 裝置之間共用的 DNS 群組名稱。

DNS組名稱

接下來,導覽至 DNS > 交付 > 設定檔 > DNS:建立並建立一個設定文件,該設定檔將控制您希望啟用或停用的 DNS 功能。如果您對產生特定 DNS 日誌感興趣,請參閱前面的 DNS 課堂指南連結。以下是一個可用的 DNS 設定檔範例,請注意四個高亮部分,它們代表重要的設定值。為了便於理解,每種可能的設定都在以下 F5 知識庫 (KB) 文章中進行了解釋。 "請按這裡"

DNS設定檔設定

此時,我們可以透過建立的「設定檔」來調整 UDP 和 TCP 協定的特性,這兩個協定都可以承載涉及 BIG-IP 的 DNS 流量。只需為 UDP 和 TCP 建立一個新的設定檔即可。假設 DNS 流量將跨越 WAN 連結,一個好的做法是直接繼承在 WAN 環境中效能良好的 UDP 和 TCP 特性。要新增每個協議,只需點擊每個協議旁邊的“+”圖標,並將父設定檔設定為以下內容:

UDP → 使用“父”設定檔“udp_gtm_dns”

TCP → 使用“父”設定檔“f5-tcp-wan”

DNS 協定

現在,我們只需要為涉及 BIG-IP DNS 的 UDP 和 TCP 流量分配一個 IP 位址。對於熟悉 BIG-IP LTM 的人來說,這本質上是建立 DNS 虛擬伺服器,而虛擬伺服器需要「監聽器」IP 位址。如圖所示,請依照箭頭指示建立 DNS/UDP 和 DNS/TCP 的監聽器/虛擬伺服器。

新增監聽器 IP

以下是來自即時 BIG-IP DNS 的範例,其中我們可以看到 TCP 虛擬伺服器監聽器設置,並可以看到它是如何將許多先前的步驟連結起來的。這包括引用 DNS 設定檔和協定 (TCP) 設定文件,以及設定 DNS 要使用的有效 IP 位址。與使用 BIG-IP 建立的所有物件一樣,使用有意義的名稱有助於識別物件是什麼,例如範例名稱中的 dns/siteb/TCP53。

新增監聽器資訊

至此,啟用 DNS 模組的 BIG-IP 設備的初步設定步驟(通常是「一次性」設定步驟)就完成了。目前,我們已準備好過渡到使用我們的設備建立全球流量管理解決方案的具體細節,這當然將與StorageGRID站點的特性相關聯。

分四步驟完成資料中心站點建置與BIG-IP間通訊建立

第一步:建立資料中心

每個將容納由 BIG-IP LTM 進行本地負載平衡的節點叢集的站點都應該輸入到 BIG-IP DNS 中。這只需要在一個 BIG-IP DNS 上完成,因為我們正在建立一個 DNS 同步群組來支援流量管理,因此該配置將在群組的 DNS 成員之間共用。

透過 TMUI GUI,選擇 DNS > GSLB > 資料中心 > 資料中心列表,並為每個StorageGRID網站建立一個條目。如果使用與圖 1 一致的網路設置,DNS 設備位於其他非StorageGRID站點,除了儲存站點之外,還要為這些站點新增資料中心。在本例中,站點 a 和 b 分別創建在俄亥俄州和俄勒岡州,BIG-IP 是雙 DNS 和 LTM 設備。

建立資料中心

第二步:建立伺服器(解決方案中所有 BIG-IP 設備清單)

現在我們已準備好將各個StorageGRID站點叢集連接到 BIG-IP DNS 設定。回想一下,每個站點的 BIG-IP 設備將透過配置虛擬伺服器來實際進行 S3 流量的負載平衡,這些虛擬伺服器將“前端”可達 IP 位址/連接埠綁定到一組後端儲存節點設備的“池”,使用“後端”IP 位址/連接埠。

例如,如果池中的所有儲存節點因管理原因(例如網站停用)或因即時健康檢查失敗而意外離線,則流量將透過變更 DNS 查詢回應定向到其他網站。

若要將 StorageGrid 網站(特別是本機虛擬伺服器)與每個裝置上的 BIG-IP DNS 配置關聯起來,只需設定一次即可。接下來,所有 BIG-IP DNS 設備都將進行同步設定。

簡單來說,我們將建立一個列表,稱為伺服器列表,其中包含我們所有的 BIG-IP 設備,無論它們是否獲得了 DNS、LTM 或 DNS 和 LTM 的許可。清單完成後,該主清單將與所有 BIG-IP DNS 設備同步。

在一台已取得 BIG-IP DNS 授權的裝置上,選擇 DNS > GSLB > 伺服器 > 伺服器列表,然後選擇新增按鈕 (+)。

創建伺服器

在新增每個 BIG-IP 時,四個關鍵要素包括:* 從產品下拉選單中選擇 BIG-IP,雖然也可以使用其他負載平衡器,但通常缺乏在每個站點後端節點健康狀況惡化時的即時可見性和響應能力。* 新增 BIG-IP DNS 設備的 IP 位址。通常情況下,首次新增 BIG-IP DNS 設備時,位址將是目前可透過 GUI 存取的設備,以後新增的設備將是解決方案中的其他設備。* 選擇健康監視器,當新增的負載平衡器是 BIG-IP 設備時,請務必使用“BIG-IP”,以便考慮後端StorageGRID節點的健康狀況。* 如果設備是雙 DNS/LTM 設備,則可以選擇請求虛擬伺服器自動發現。

設定新伺服器

在某些情況下,例如瞬態網路問題或網路位置之間的防火牆 ACL 規則,在此階段新增遠端設備時,虛擬伺服器發現可能不會顯示已設定 LTM 的遠端設備的條目。在這種情況下,新增設備(「伺服器」)後,可以按照以下指示手動新增虛擬伺服器。如果新增的是僅用於 DNS 的 BIG-IP 設備,則不會發現或向該設備新增任何虛擬伺服器。

新增伺服器

我們需要在所有站點上為解決方案中的每個設備新增這些伺服器項目,包括 BIG-IP DNS 設備、BIG-IP LTM 設備以及任何同時承擔 DNS 和 LTM 雙重角色的設備。

第三步:在所有BIG-IP設備之間建立信任

在以下範例中,新增了四台設備作為伺服器,它們分佈在兩個網站。請注意,每個站點都有專用的 BIG-IP DNS 和 BIG-IP LTM。但是,除了目前登入的裝置之外,所有其他裝置的「狀態」欄位中都顯示藍色圖示。這意味著尚未與其他 BIG-IP 設備建立信任關係。

建立憑證信任

若要新增信任,請使用 SSH 連線到剛剛透過 GUI 輸入設定詳細資訊的 BIG-IP,並使用「root」帳戶存取 BIG-IP 命令列介面。在提示符號下發出以下單一命令:bigip_add

“bigip_add”指令從目標BIGIP設備拉取管理證書,用於在叢集中的GSLB伺服器之間建立加密的「iQuery」通道。預設情況下,iQuery使用TCP連接埠4353運行,它是一種心跳機制,使BOG-IP DNS成員保持同步狀態。它在加密通道中使用了 xml 和 gzip。當不帶任何選項執行「bigip_add」時,該命令將使用目前使用者名稱連接到端點,對 GSLB 伺服器清單中的所有 BIGIP 設備運行。為了快速檢查是否成功,只需返回 BIG-IP GUI 並確認所有伺服器的憑證現在都列在顯示的下拉式選單中即可。

驗證憑證信任

第四步:將所有 BIG-IP DNS 設備同步到 DNS 群組

最後一步將允許僅使用單一裝置的 TMUI GUI 即可完全設定所有 BIG-IP DNS 設備。例如,如果有兩個StorageGRID站點,這表示現在需要使用 SSH 存取另一個站點的 BIG-IP DNS 的命令列。以 root 使用者身分連線後,並確保防火牆策略/ACL 允許兩個 BIG-IP DNS 裝置透過 TCP 連接埠 22 (SSH)、443 (HTTPS) 和 4354 (F5 iQuery 協定) 進行通信,然後在提示字元下執行下列命令:_gtm_add <

此時,所有進一步的 DNS 配置工作都可以在已新增至該群組的任何 BIG-IP DNS 裝置上執行。對於僅支援 LTM 的裝置成員,無需應用上述命令 gtm_add。只有支援 DNS 的裝置才需要此命令加入同步 DNS 群組。

建立資料中心站點並建立BIG-IP間通信

至此,建立底層、健康的 BIG-IP DNS 設備群組的所有步驟均已完成。現在我們可以繼續建立指向我們在每個StorageGRID資料中心公開的分散式 Web/S3 服務的名稱、FQDN。

這些名稱稱為“廣域 IP 位址”,簡稱 WIP,它們是具有 DNS A 資源記錄的普通 DNS FQDN。然而,它們並不像傳統的 A 資源記錄那樣指向伺服器,而是在內部指向 BIG-IP 虛擬伺服器集區。每個池都可以單獨由一個或多個虛擬伺服器組成。請求 IP 位址進行名稱解析的 S3 用戶端將收到政策選擇的最佳StorageGRID網站上的 S3 虛擬伺服器的位址。

廣域IP、IP池和虛擬伺服器簡述

舉一個簡單的虛構例子,名稱 storage.quantumvault.com 的 WIP 可能會將 BIG-IP DNS 解決方案與兩個潛在的虛擬伺服器池連接起來。第一個池子可能由北美的 4 個地點組成;第二個池子可能由歐洲的 3 個地點組成。

選定的池子可能是透過一系列政策決定得出的,也許可以使用 5:1 的簡單比例,將大部分流量導向北美StorageGRID站點。更有可能的是,基於拓撲結構的選擇,例如,將所有來自歐洲的 S3 流量定向到歐洲站點,而將世界其餘的 S3 流量定向到北美資料中心。

一旦 BIG-IP DNS 確定了池,假設選擇了北美池,則傳回用於解析 storage.quantumvault.com 的實際 DNS A 資源記錄可以是 BIG-IP LTM 在北美 4 個站點中支援的 4 個虛擬伺服器中的任何一個。同樣,具體選擇取決於策略,存在簡單的「靜態」方法,例如輪詢;而更高級的「動態」選擇,例如使用效能探針來測量每個網站從本地 DNS 解析器的延遲,則保留並用作網站選擇的標準。

若要在 BIG-IP DNS 上設定虛擬伺服器池,請依照功能表路徑 DNS > GSLB > Pools > Pool List > Add (+) 進行操作。在這個例子中,我們可以看到各種北美虛擬伺服器被加入到池中,並且選擇此池時,首選的負載平衡方法是分層選擇的。

新泳池

我們將 WIP(廣域 IP),也就是我們的服務名稱(將透過 DNS 解析),依照 DNS > GSLB > 廣域 IP > 廣域 IP 清單 > 建立 (+) 的步驟新增至部署。在下面的範例中,我們提供了一個支援 S3 的儲存服務的範例 WIP。

配置 WIP

調整 DNS 以支援全球流量管理

目前,我們所有的底層 BIG-IP 設備都已準備好執行 GSLB(全域伺服器負載平衡)。我們只需要調整並指派用於 S3 流量的名稱,即可利用此解決方案。一般做法是將企業現有 DNS 網域的一部分委託給 BIG-IP DNS 控制。也就是說,要「劃分」出一部分名稱空間,即一個子網域,並將該子網域的控制權委託給 BIG-IP DNS 設備。從技術上講,這是透過確保 BIG-IP DNS 設備在企業 DNS 中具有 A DNS 資源記錄 (RR),然後將這些名稱/位址設定為委派網域的名稱伺服器 (NS) DNS 資源記錄來實現的。

如今企業維護 DNS 的方式有很多種,其中一種方法就是完全託管的解決方案。例如,透過 Windows Server 2025 執行和管理 DNS 就是這種情況。企業也可以採用另一種方​​法,就是利用 AWS Route53 或 Squarespace 等雲端 DNS 供應商。

以下範例純屬虛構,僅供參考。我們有StorageGRID支援透過 S3 協定對物件進行讀取和寫入,現有域由 AWS Route53 管理,現有範例域為 f5demo.net。

我們希望將子網域 engineering.f5demo.net 指派給 BIG-IP DNS 設備,以實現全球流量管理。為此,我們為 engineering.f5demo.net 建立一個新的 NS(名稱伺服器)資源記錄,並將其指向 BIG-IP DNS 裝置名稱清單。在我們的範例中,我們有兩個 BIG-IP DNS 設備,因此我們為它們建立了兩個 A 資源記錄。

資源 A 記錄

現在,我們以 BIG-IP DNS 為例,設定一個廣域 IP (WIP)。由於 DNS 使用群組同步,我們只需要使用一台裝置的 GUI 進行調整。在 BIG-IP DNS GUI 中,前往 DNS > GSLB > 廣域 IP > 廣域 IP 清單 (+)。回想一下,在傳統的 DNS FQDN 設定中,需要輸入一個或多個 IPv4 位址,而在我們的例子中,我們只需指向一個或多個StorageGRID虛擬伺服器集區。

廣域 IP 列表

在我們的範例中,我們在俄亥俄州和俄勒岡州網站都設有通用的 Web HTTPS 伺服器。透過簡單的「輪詢」方法,我們應該能夠看到全域 DNS 回應對 www.wip.engineering.f5demo.net 的 A 資源記錄映射的查詢,其中包含兩個虛擬伺服器 IP。

交通輪詢

可以使用網頁瀏覽器進行簡單的測試,或者,對於使用StorageGRID 的S3,可以使用 S3Browser 等圖形工具進行測試。由於我們在池內選擇了輪詢調度,因此每次 DNS 查詢都會將池中的下一個資料中心網站用作後續流量的目標。

在我們的範例設定中,我們可以使用 dig 或 nslookup 快速產生一系列兩個 DNS 查詢,以確保 BIG-IP DNS 確實在進行輪詢負載平衡,讓兩個網站都能隨著時間的推移接收流量。

nslookup 範例

建議探索更高級的技術

眾多可行方法之一,是使用「全域可用性」模式,而不是上面給出的簡單「輪詢」範例。透過全域可用性,可以將流量定向到池的順序,或單一池中的虛擬伺服器。這樣一來,所有 S3 流量預設都可以導向到例如紐約市的站點。

如果健康檢查顯示此網站的StorageGRID節點可用性有問題,則流量屆時可能會被導向到聖路易斯。如果聖路易斯出現健康問題,法蘭克福的站點可以轉而開始接收 S3 讀取或寫入交易。因此,全球可用性是提高 S3 StorageGRID整體解決方案彈性的一種方法。另一種方法是混合搭配負載平衡法,採用分層法。

負載平衡方法

在這個範例中,「動態」選項是已配置池中網站的首選負載平衡方式。在所示的範例中,持續測量方法採用主動探測本機 DNS 解析器效能的方法,這是網站選擇的催化劑。如果這種方法不可行,則可以根據分配給每個站點的比例來選擇各個站點。按比例計算,規模更大、頻寬更高的StorageGRID站點可以接收比規模較小的站點更多的 S3 事務。最後,作為災難復原方案,如果池中的所有站點都發生故障,則指定的備用 IP 將用作最後的備選站點。BIG-IP DNS 中比較有趣的負載平衡方法之一是“拓撲”,它觀察 DNS 查詢的傳入來源(即 S3 用戶的本機 DNS 解析器),並利用網際網路拓撲資訊從池中選擇看似「最近」的網站。

最後,如果網站遍布全球,則值得考慮使用 F5 BIG-IP DNS 手冊中詳細討論的動態「探測」技術。透過偵測,可以監控頻繁的 DNS 查詢來源,例如,流量通常使用相同本機 DNS 解析器的企業對企業合作夥伴。可以從全球每個站點的 BIG-IP LTM 啟動 BIG-IP DNS 探測,以大致確定哪個潛在站點可能為 S3 交易提供最低延遲。因此,來自亞洲的流量可能由亞洲的StorageGRID站點提供比位於北美或歐洲的站點更好的服務。

結論

F5 BIG-IP 與NetApp StorageGRID的整合解決了與跨多個站點的資料可用性和一致性相關的技術挑戰,並優化了 S3 事務路由。部署此解決方案可增強儲存彈性、效能和可靠性,使其成為尋求強大、可擴展和靈活的儲存基礎架構的企業的理想選擇。

如需了解更多信息,請訪問此處查看 F5 官方的 BIG-IP DNS 文件。 "關聯"。還可以找到一份課堂風格的指導手冊,其中包含範例設定的逐步說明。 "請按這裡"