重新平衡銷毀編碼資料的考量事項
-
此文件 PDF 的網站
![](/zh-tw/storagegrid-117/images/pdf-zip.png)
個別的 PDF 文件集合
Creating your file...
如果您正在執行擴充以新增儲存節點、並使用 ILM 規則來清除程式碼資料、如果您無法新增足夠的儲存節點來執行刪除程式碼配置、則可能需要執行 EC 重新平衡程序。
檢閱這些考量之後、請執行擴充、然後前往 "新增儲存節點後、重新平衡以銷毀編碼的資料" 以執行程序。
什麼是EC重新平衡?
EC重新平衡StorageGRID 是擴充儲存節點之後可能需要的一個過程。此程序會以命令列指令碼形式從主要管理節點執行。當您執行 EC 重新平衡程序時、 StorageGRID 會在站台的現有儲存節點和新新增的儲存節點之間重新分配銷毀編碼片段。
EC重新平衡程序:
-
僅移動以銷毀編碼的物件資料。它不會移動複寫的物件資料。
-
在站台內重新分配資料。它不會在站台之間移動資料。
-
在站台的所有儲存節點之間重新分配資料。它不會重新分配儲存磁碟區內的資料。
-
在判斷移轉抹除編碼資料的位置時、不會考慮每個儲存節點上的複寫資料使用量。
-
在儲存節點之間平均重新分配銷毀編碼的資料、而無需考慮每個節點的相對容量。
-
不會將銷毀編碼的資料散佈至超過 70% 滿的儲存節點。
-
執行 ILM 作業和 S3 和 Swift 用戶端作業時、可能會降低其效能? #8212 ;需要額外資源來重新分配銷毀編碼片段。
-
對於具有大量銷毀編碼物件的系統、可能需要執行多次。為了限制資源使用量、每個工作的最大移動次數上限為上限。
當EC重新平衡程序完成時:
-
銷毀編碼的資料將從可用空間較少的儲存節點移至可用空間較大的儲存節點。
-
銷毀編碼物件的資料保護將維持不變。
-
使用的( % )值可能因兩個原因而不同:
-
複寫的物件複本將繼續佔用現有節點上的空間 #8212 ; EC 重新平衡程序不會移動複寫的資料。
-
較大容量的節點將比較小容量的節點較少滿、即使所有節點最終都會有大約相同數量的銷毀編碼資料。
例如、假設三個 200-TB 節點各填滿 80% ( 200 和 #215 ; 0.8 = 每個節點 160 TB 、或站台 480 TB )。如果您新增一個 400 TB 節點並執行重新平衡程序、所有節點現在將擁有大約相同數量的銷毀程式碼資料( 480/4 = 120 TB )。不過、較大節點使用的( % )將會少於較小節點使用的( % )。
-
何時重新平衡銷毀編碼資料
請考慮下列案例:
-
包含三個儲存節點的單一站台正在執行。StorageGRID
-
ILM原則對所有大於1.0 MB的物件使用2+1銷毀編碼規則、而對較小的物件使用雙複製複寫規則。
-
所有儲存節點都已完全滿。在主要嚴重性層級觸發 * 物件儲存空間不足 * 警示。
如果您新增了足夠的節點、則不需要重新平衡
若要瞭解何時不需要 EC 重新平衡、請假設您新增了三個(或更多)新的儲存節點。在這種情況下、您不需要執行 EC 重新平衡。原始儲存節點將保持完整狀態、但新物件現在將使用三個新節點來進行 2+1 銷毀編碼和 #8212 ;兩個資料片段和一個同位元區隔片段都可以儲存在不同的節點上。
![3節點擴充之後的已用空間](../media/used_space_after_3_node_expansion.png)
|
雖然您可以在此案例中執行 EC 重新平衡程序、但移動現有的銷毀編碼資料將會暫時降低網格的效能、這可能會影響用戶端作業。 |
如果您無法新增足夠的節點、則需要重新平衡
若要瞭解何時需要 EC 重新平衡、假設您只能新增兩個儲存節點、而不能新增三個。由於 2+1 配置需要至少三個儲存節點才能有可用空間、因此無法將空節點用於新的銷毀編碼資料。
![2節點擴充之後的已用空間](../media/used_space_after_2_node_expansion.png)
若要使用新的儲存節點、您應該執行 EC 重新平衡程序。執行此程序時、 StorageGRID 會在站台的所有儲存節點之間重新分配現有的銷毀編碼資料和同位元區段。在此範例中、當EC重新平衡程序完成時、所有五個節點現在只有60%已滿、而且物件仍可繼續擷取至所有儲存節點上的2+1銷毀編碼方案。
![EC重新平衡後的已用空間](../media/used_space_after_ec_rebalance.png)
EC 重新平衡的建議
如果下列陳述中的所有陳述均正確、則 NetApp 需要 EC 重新平衡:
-
您使用銷毀編碼來處理物件資料。
-
站台上的一個或多個儲存節點已觸發*低物件儲存*警示、表示節點已滿80%以上。
-
您無法新增足夠的新儲存節點以供使用的銷毀編碼配置使用。請參閱 "新增銷毀編碼物件的儲存容量"。
-
您的S3和Swift用戶端可在執行EC重新平衡程序時、容忍寫入和讀取作業的效能降低。
如果您偏好將儲存節點填滿至類似層級、則可選擇性執行 EC 重新平衡程序、而 S3 和 Swift 用戶端在執行 EC 重新平衡程序時、可以容忍其寫入和讀取作業的效能降低。
EC重新平衡程序如何與其他維護工作互動
您無法在執行 EC 重新平衡程序的同時執行某些維護程序。
程序 | 在EC重新平衡程序期間允許? |
---|---|
其他EC重新平衡程序 |
不可以 您一次只能執行一個EC重新平衡程序。 |
取消委任程序 EC資料修復工作 |
不可以
|
擴充程序 |
不可以 如果您需要在擴充中新增儲存節點、請在新增所有新節點之後執行 EC 重新平衡程序。 |
升級程序 |
不可以 如果您需要升級 StorageGRID 軟體、請在執行 EC 重新平衡程序之前或之後執行升級程序。您可以視需要終止EC重新平衡程序、以執行軟體升級。 |
應用裝置節點複製程序 |
不可以 如果您需要複製應用裝置儲存節點、請在新增節點之後執行 EC 重新平衡程序。 |
修復程序 |
是的。 您可以在StorageGRID 執行EC重新平衡程序時套用更新程式。 |
其他維護程序 |
不可以 在執行其他維護程序之前、您必須先終止EC重新平衡程序。 |
EC重新平衡程序如何與ILM互動
當EC重新平衡程序正在執行時、請避免變更ILM、以免變更現有銷毀編碼物件的位置。例如、請勿開始使用具有不同銷毀編碼設定檔的 ILM 規則。如果您需要進行此類 ILM 變更、您應該終止 EC 重新平衡程序。