了解StorageGRID中擴充後的 EC 重新平衡
如果您正在執行擴充以新增儲存節點、並使用 ILM 規則來清除程式碼資料、則如果您無法新增足夠的儲存節點來執行銷毀編碼( EC )重新平衡程序、以供您使用的銷毀編碼配置使用。
檢閱這些考量之後、請執行擴充、然後前往"新增儲存節點後、重新平衡以銷毀編碼的資料"執行程序。
什麼是EC重新平衡?
EC重新平衡StorageGRID 是擴充儲存節點之後可能需要的一個過程。此程序會以命令列指令碼形式從主要管理節點執行。當您執行 EC 重新平衡程序時、 StorageGRID 會在站台的現有儲存節點和新新增的儲存節點之間重新分配銷毀編碼片段。
EC重新平衡程序:
-
僅移動以銷毀編碼的物件資料。它不會移動複寫的物件資料。
-
在站台內重新分配資料。它不會在站台之間移動資料。
-
在站台的所有儲存節點之間重新分配資料。它不會重新分配儲存磁碟區內的資料。
-
嘗試將資料位元組分配到每個節點,使每個節點擁有相同的可用空間。包含更多複寫資料的節點在重新平衡完成後可能儲存較少的銷除編碼資料。
-
在不考慮各節點相對容量的情況下,將可用空間平均分配到各個儲存節點。複寫資料也包含在計算中。
-
即使可用空間仍然分佈不均,如果無法再移動任何銷毀編碼資料,則視為重新平衡程序已完成。
-
不會將銷毀編碼資料分發到已使用率超過 80% 的 Storage Node 或僅中繼資料的 Storage Node。
-
執行 ILM 作業和 S3 用戶端作業時、可能會降低其效能? #8212 ;需要額外資源來重新散佈銷毀編碼片段。
當EC重新平衡程序完成時:
-
銷毀編碼的資料將從可用空間較少的儲存節點移至可用空間較大的儲存節點。
-
銷毀編碼物件的資料保護將維持不變。
-
使用的( % )值可能因兩個原因而不同:
-
複寫的物件複本將繼續佔用現有節點上的空間 #8212 ; EC 重新平衡程序不會移動複寫的資料。
-
容量較大的節點可能比容量較小的節點相對較不滿,即使所有節點最終都會擁有大致相同數量的可用空間。
例如,對於 2+1 糾刪碼方案,假設三個 200 TB 的節點都已使用 80%(每個節點 200 × 0.8 = 160 TB,整個站台共 480 TB)。如果新增一個 400 TB 的節點並執行重新平衡程序,所有舊節點現在將擁有大致相同數量的糾刪碼資料(106.66 TB,使用率 53%)。新節點將擁有(160 TB 的資料,使用率 40%)。在這種情況下,較大節點的已使用率(%)將低於較小節點的已使用率(%)。由於無法在不違反糾刪碼方案限制的情況下移動更多糾刪碼資料,因此重新平衡程序會在可用空間達到平衡之前完成。

-
何時重新平衡銷毀編碼資料
EC 重新平衡程序重新分配現有的擦除編碼數據,以確保節點不會變滿或保持滿狀態。該程序有助於確保 EC 編碼能夠在網站上繼續進行。
當網站上的資料分佈有令人擔憂的偏差且網站儲存大部分 EC 資料時(因為複製的資料無法透過重新平衡來移動),請執行重新平衡程序。
請考慮下列案例:
-
包含三個儲存節點的單一站台正在執行。StorageGRID
-
ILM原則對所有大於1.0 MB的物件使用2+1銷毀編碼規則、而對較小的物件使用雙複製複寫規則。
-
所有儲存節點都已完全滿。在主要嚴重性層級觸發 * 物件儲存空間不足 * 警示。

如果新增足夠的節點,則無需重新平衡
若要瞭解何時不需要 EC 重新平衡、請假設您新增了三個(或更多)新的儲存節點。在這種情況下、您不需要執行 EC 重新平衡。原始儲存節點將保持完整狀態、但新物件現在將使用三個新節點來進行 2+1 銷毀編碼和 #8212 ;兩個資料片段和一個同位元區隔片段都可以儲存在不同的節點上。

|
|
雖然您可以在此案例中執行 EC 重新平衡程序、但移動現有的銷毀編碼資料將會暫時降低網格的效能、這可能會影響用戶端作業。 |
如果您無法新增足夠的節點、則需要重新平衡
若要瞭解何時需要 EC 重新平衡、假設您只能新增兩個儲存節點、而不能新增三個。由於 2+1 配置需要至少三個儲存節點才能有可用空間、因此無法將空節點用於新的銷毀編碼資料。

要使用新的儲存節點,您應該執行 EC 重新平衡程序。執行此程序時,StorageGRID 會重新分配現有的糾刪碼資料和同位元檢查片段,使可用空間均勻分佈在站台上的所有儲存節點上。在本範例中,EC 重新平衡程序完成後,所有五個節點的已使用空間均為 60%,可用空間為 40%,物件可以繼續擷取至所有儲存節點上的 2+1 糾刪碼方案。

EC 重新平衡的建議
如果下列陳述中的所有陳述均正確、則 NetApp 需要 EC 重新平衡:
-
您使用銷毀編碼來處理物件資料。
-
站台上的一個或多個儲存節點已觸發*低物件儲存*警示、表示節點已滿80%以上。
-
您無法新增足夠的新儲存節點以供使用的銷毀編碼配置使用。請參閱。 "新增銷毀編碼物件的儲存容量"
-
在執行 EC 重新平衡程序時、 S3 用戶端可以容忍較低的寫入和讀取作業效能。
如果您偏好將儲存節點填滿至類似層級、而 S3 用戶端可以在執行 EC 重新平衡程序時、容忍其寫入和讀取作業的效能降低、則可以選擇性地執行 EC 重新平衡程序。
EC重新平衡程序如何與其他維護工作互動
您無法在執行 EC 重新平衡程序的同時執行某些維護程序。
| 程序 | 在EC重新平衡程序期間允許? |
|---|---|
其他EC重新平衡程序 |
不可以 您一次只能執行一個EC重新平衡程序。 |
取消委任程序 EC資料修復工作 |
不可以
|
擴充程序 |
不可以 如果您需要在擴充中新增儲存節點、請在新增所有新節點之後執行 EC 重新平衡程序。 |
升級程序 |
不可以 如果您需要升級 StorageGRID 軟體、請在執行 EC 重新平衡程序之前或之後執行升級程序。您可以視需要終止EC重新平衡程序、以執行軟體升級。 |
應用裝置節點複製程序 |
不可以 如果您需要複製應用裝置儲存節點、請在新增節點之後執行 EC 重新平衡程序。 |
修復程序 |
是的。 您可以在StorageGRID 執行EC重新平衡程序時套用更新程式。 |
其他維護程序 |
不可以 在執行其他維護程序之前、您必須先終止EC重新平衡程序。 |
EC重新平衡程序如何與ILM互動
當EC重新平衡程序正在執行時、請避免變更ILM、以免變更現有銷毀編碼物件的位置。例如、請勿開始使用具有不同銷毀編碼設定檔的 ILM 規則。如果您需要進行此類 ILM 變更、您應該終止 EC 重新平衡程序。