了解 StorageGRID 負載平衡
${post_edited_translations.segment}
${post_edited_translations.segment}
當用戶端應用程式從 StorageGRID 系統儲存或擷取資料時,StorageGRID 使用負載平衡器來管理擷取和擷取工作負載。負載平衡透過將工作負載分配到多個儲存節點,以最大化速度和連線容量。
StorageGRID 負載平衡器服務安裝在所有管理節點和所有閘道節點上,提供第 7 層負載平衡。它執行用戶端請求的傳輸層安全性 (TLS) 終止,檢查請求,並與儲存節點建立新的安全連線。
每個節點上的負載平衡服務在將用戶端流量轉送到儲存節點時獨立運作。負載平衡服務透過加權過程,將更多請求路由到 CPU 可用度更高的儲存節點。
|
|
儘管 StorageGRID 負載平衡器服務是建議的負載平衡機制,但您也可以選擇整合第三方負載平衡器。有關資訊,請聯繫您的 NetApp 客戶代表或參閱 "將第三方負載平衡器與 StorageGRID 結合使用"。 |
${post_edited_translations.segment}
作為通用最佳實務做法,StorageGRID 系統中的每個站台都應包含兩個或多個執行負載平衡服務的節點。例如,一個站台可以包含兩個閘道節點,或同時包含一個管理節點和一個閘道節點。無論您使用的是服務應用裝置、裸機節點或虛擬機器 (VM) 型節點,請確保每個負載平衡節點都擁有足夠的連網、硬體或虛擬化基礎架構。
${post_edited_translations.segment}
負載平衡器端點定義了傳入與傳出的用戶端應用程式要求用來存取包含 Load Balancer 服務之節點的連接埠與網路傳輸協定(HTTPS 或 HTTP)。此端點還定義了用戶端類型(S3)、繫結模式,以及選用的允許或封鎖租戶清單。
若要建立負載平衡器端點,可以使用 Grid Manager,也可以完成 S3 設定和 FabricPool 精靈:
${post_edited_translations.segment}
當工作負載僅處理部分資料並多次存取物件時,快取可顯著提升效能。此外,快取還允許在無需完整部署網格的情況下遠端存取物件儲存。負載平衡器快取僅適用於閘道節點。
${post_edited_translations.segment}
-
僅對可快取的工作負載啟用快取。如果工作負載存取未快取資料的頻率高於存取已快取資料的頻率,則其效能會低於未使用快取的情況。在某些情況下,高覆蓋率和高驅逐率的工作負載也可能超出硬碟寫入壽命的保證範圍。
-
考慮新增額外的端點或節點來快取適合快取的個別工作負載。
-
對可快取的和不可快取的工作負載使用不同的端點。這種分離可確保快取機制得到正確套用,且不會干擾不可快取的資料處理。
-
透過將潛在可快取的工作負載導向啟用快取的端點來評估其潛力。監控並驗證快取命中率,以確定該工作負載是否適合快取。此評估有助於最佳化效能並確保有效利用快取資源。
-
"${post_edited_translations.segment}" 以確定現有的工作負載是否適合進行快取。在指定的時間段內,確定 GET 要求中針對唯一物件的百分比。若要適合進行快取,此值應低於 50%。
適合使用快取的工作負載範例
-
${post_edited_translations.segment}
-
高效能運算(HPC)
-
AI/ML 訓練
-
${post_edited_translations.segment}
-
媒體資產管理
-
影片製作
|
|
|
不會被快取的物件和請求類型
-
此 `response-content-encoding`查詢參數
-
該
partNumber查詢參數 -
條件標頭
-
If-Match -
If-Modified-Since -
If-None-Match -
If-Unmodified-Since
-
-
使用以下任一方式進行靜態加密的請求:
-
SSE(使用 StorageGRID 管理的金鑰進行伺服器端加密)
-
SSE-C(使用客戶提供的金鑰進行伺服器端加密)
-
儲存物件加密
-
任何未快取的請求都會轉送到上游 LDR,就如同快取未啟用一樣。
-
如需負載平衡器快取的詳細資訊,請聯絡技術支援。
${post_edited_translations.segment}
負載平衡器端點的連接埠在您建立第一個端點時預設為 10433,但您可以指定 1 到 65535 之間的任何未使用外部連接埠。如果您使用連接埠 80 或 443,端點將僅在閘道節點上使用負載平衡器服務。這些連接埠在管理節點上已保留。如果您將相同的連接埠用於多個端點,則必須為每個端點指定不同的繫結模式。
不允許使用其他網格服務使用的連接埠。參見"StorageGRID 內部連接埠"。
網路傳輸協定的注意事項
大多數情況下,用戶端應用程式與 StorageGRID 之間的連線應使用傳輸層安全性協定 (TLS) 加密。雖然支援不使用 TLS 加密連接到 StorageGRID,但不建議這樣做,尤其是在生產環境中。為 StorageGRID 負載平衡器端點選擇網路傳輸協定時,應選擇 HTTPS。
負載平衡器端點憑證的注意事項
如果您選擇 HTTPS 作為負載平衡器端點的網路傳輸協定,則必須提供安全性憑證。建立負載平衡器端點時,您可以使用以下三種選項中的任何一種:
-
上傳已簽署的憑證(建議使用)。此憑證可由公開信任或私有的憑證授權單位(CA)簽署。使用公開信任的 CA 伺服器憑證來保護連線安全性是最佳實務做法。與產生的憑證相比,由 CA 簽署的憑證可以不中斷地進行輪替,這有助於避免過期問題。
${post_edited_translations.segment}
-
${post_edited_translations.segment}
-
${post_edited_translations.segment}
-
(可選)包含每個中間頒發憑證授權單位之憑證的 CA 套裝組合。
-
-
${post_edited_translations.segment}
-
使用全域 StorageGRID S3 憑證。您必須先上傳或產生此憑證的自訂版本,才能為負載平衡器端點選取該憑證。請參閱 "設定 S3 API 憑證"。
我需要哪些數值?
要建立證書,您必須知道 S3 用戶端應用程式將用於存取端點的所有網域名稱和 IP 位址。
憑證的 Subject DN(Distinguished Name)條目必須包含用戶端應用程式將用於 StorageGRID 的完整網域名稱。例如:
Subject DN: /C=Country/ST=State/O=Company,Inc./CN=s3.storagegrid.example.com
根據需要,憑證可以使用萬用字元來表示執行負載平衡器服務的所有管理節點和閘道節點的完整網域名稱。例如, *.storagegrid.example.com`使用 * 萬用字元來表示 `adm1.storagegrid.example.com`和 `gn1.storagegrid.example.com。
如果您計劃使用 S3 虛擬主機樣式要求,則憑證還必須為您設定的每個 "S3 端點網域名稱" 包含一個「替代名稱」項目,包括任何萬用字元名稱。例如:
Alternative Name: DNS:*.s3.storagegrid.example.com
|
|
如果您在網域名稱中使用萬用字元,請審查 "伺服器憑證強化準則"。 |
您也必須為安全性憑證中的每個名稱定義一個 DNS 項目。
如何管理即將過期的憑證?
|
|
${post_edited_translations.segment} |
${post_edited_translations.segment}
-
仔細監控任何警告憑證即將到期的警示,例如「負載平衡器端點憑證即將到期」和「S3 API 全域伺服器憑證即將到期」警示。
-
請務必保持 StorageGRID 與 S3 應用程式的憑證版本同步。如果您取代或更新用於負載平衡器端點的憑證,則必須取代或更新 S3 應用程式所使用的同等憑證。
-
使用公開簽署的 CA 憑證。如果使用由 CA 簽署的憑證,則可以無中斷地更換即將到期的憑證。
-
${post_edited_translations.segment}
結合模式的考量因素
綁定模式可讓您控制哪些 IP 位址可用於存取負載平衡器端點。如果端點使用綁定模式,則用戶端應用程式只能使用允許的 IP 位址或其對應的完整網域名稱 (FQDN) 存取該端點。使用任何其他 IP 位址或 FQDN 的用戶端應用程式都無法存取該端點。
您可以指定以下任一種綁定模式:
-
Global (預設):用戶端應用程式可以使用任何 Gateway 節點或 Admin 節點的 IP 位址、任何網路上的任何 HA 群組的虛擬 IP (VIP) 位址或對應的 FQDN 來存取端點。除非您需要限制端點的存取能力,否則請使用此設定。
-
HA 群組的虛擬 IP 位址。用戶端應用程式必須使用 HA 群組的虛擬 IP 位址(或對應的 FQDN)。
-
節點介面。用戶端必須使用所選節點介面的 IP 位址(或對應的 FQDN)。
-
節點類型。根據您選取的節點類型,用戶端必須使用任何 Admin Node 的 IP 位址(或對應的 FQDN),或是任何 Gateway Node 的 IP 位址(或對應的 FQDN)。
租戶存取的考慮因素
租戶存取是一項選用的安全性功能,可讓您控制哪些 StorageGRID 租戶帳戶可以使用負載平衡器端點來存取其 bucket。您可以允許所有租戶存取端點(預設),也可以針對每個端點指定允許或封鎖的租戶清單。
您可以使用此功能在租戶及其端點之間提供更好的安全性隔離。例如,您可以使用此功能來確保某個租戶擁有的極機密或高度機密資料完全無法被其他租戶存取。
|
|
${post_edited_translations.segment} |
${post_edited_translations.segment}
${post_edited_translations.segment}
-
${post_edited_translations.segment}
-
Public 端點:使用連接埠 10443,允許所有租戶存取。
-
*絕密*端點:使用連接埠 10444,僅允許 *絕密*租戶存取。所有其他租戶均無法存取此端點。
-
-
它 `top-secret.pdf`位於屬於 Top secret 租戶的儲存桶中。
若要存取 top-secret.pdf,Top secret 租戶中的使用者可以向 `\https://w.x.y.z:10444/top-secret.pdf`發出 GET 要求。因為此租戶允許使用 10444 端點,所以使用者可以存取該物件。然而,如果屬於任何其他租戶的使用者向相同的 URL 發出相同的要求,他們會立即收到「拒絕存取」訊息。即使認證和簽署有效,存取仍會被拒絕。
CPU 可用度
每個管理節點和閘道節點上的負載平衡器服務在將 S3 流量轉送到儲存節點時獨立運作。負載平衡器服務透過加權機制,將更多請求路由到 CPU 可用度更高的儲存節點。節點 CPU 負載資訊每隔幾分鐘更新一次,但權重更新頻率可能更高。所有儲存節點都會被指派一個最小基準權重值,即使某個節點報告的使用率達到 100% 或未能報告其使用率。
在某些情況下,有關 CPU 可用度的資訊僅限於負載平衡器服務所在的站點。