物件修復
什麼是修復?
修復是 MinIO 復原已損壞、損毀或部分遺失之物件的能力。遺失可能來自多種損毀或遺失類型,例如但不限於
磁碟機層級錯誤或故障
作業系統或檔案系統錯誤或故障
修復和糾刪碼
MinIO 復原損壞物件的能力直接與以下因素相關
物件存在的 糾刪集中的磁碟機總數
具有物件完整部分的可用磁碟機數量
糾刪集的同位設定
同位指的是 MinIO 在寫入物件時建立的專用復原分片數量。例如,糾刪集可能總共有八個磁碟機,並在寫入期間使用三個磁碟機進行同位。在這種情況下,MinIO 會將物件分割為 5 個資料分片,並建立 3 個同位分片。MinIO 會將這八個分片分散到糾刪集中的磁碟機上。沒有任何一個磁碟機僅包含同位分片或僅包含資料分片。相反地,MinIO 會以隨機方式寫入每個物件的分片,以便將讀取均勻分散到磁碟機上。
當 MinIO 需要提供物件時,它會尋找物件的資料分片。如果任何資料分片遺失或損壞,MinIO 會使用一個或多個同位分片來復原物件。在尋找同位分片時,如果任何同位分片遺失或損壞,MinIO 也會復原這些分片,前提是有足夠的其他分片來提供物件。在這種情況下,最多可以遺失或損壞三個資料分片部分,MinIO 仍然可以成功復原並提供物件。
具有物件完整資料或同位分片的可用磁碟機數量必須達到或超過糾刪集中用於資料分片的磁碟機數量。在上述情況下,必須有五個具有完整分片的磁碟機在線上且可用,MinIO 才能成功提供物件。
MinIO 何時修復物件?
MinIO 具有健全的物件修復系統。
在 GET
要求期間修復
每次您使用 GET
或 HEAD
操作要求物件時,MinIO 會自動檢查物件資料分片的一致性。對於版本控制的儲存桶,MinIO 也會在 PUT
操作期間檢查一致性。
如果找到所有資料分片都完整,MinIO 會直接從資料分片提供物件,而無需檢查相應的同位分片。
如果物件有遺失或損壞的資料分片,MinIO 會使用可用的同位分片來修復物件,然後再將其作為操作的一部分提供。每個遺失或損壞的資料分片必須有一個完整的同位分片可用,否則無法復原物件。如果任何同位分片遺失或損壞,MinIO 會還原該同位分片,前提是有足夠的其他同位分片來提供物件。
使用物件掃描器修復
MinIO 使用物件掃描器來執行多項與物件相關的工作。其中一項工作是檢查物件的完整性,如果發現物件損壞或損毀,則會修復它們。
在每次掃描過程中,MinIO 會使用物件名稱的雜湊值,從每 1,024 個物件中選取一個進行檢查。
如果發現任何物件遺失了分片,MinIO 會從可用的分片中修復該物件。預設情況下,MinIO 不會使用掃描器檢查 位元衰減 損壞。這項操作執行起來可能非常耗費資源,而且多個磁碟發生位元衰減的風險很低。
手動請求修復
管理員可以使用 mc admin heal
來啟動完整的系統修復。此程序非常耗費資源,通常不需要執行。
在部署上手動啟動修復程序之前,請先諮詢 MinIO 工程師。
修復指標
MinIO 提供了幾個 修復指標,以監控部署中修復程序的狀態。
請參閱 指標和警報,以取得有關可用端點和設定的更多資訊。
修復輸出顏色鍵
較早版本的 MinIO 會產生一個表格,其中包含綠色、黃色、紅色和灰色,以指示個別物件的修復狀態。這些顏色已棄用,改用更詳細的 叢集層級可用的修復指標。
下表說明了現在已棄用的狀態顏色的含義。
綠色 |
健康,該物件具有所有可用的資料和同位分片,可依要求提供該物件 |
黃色 |
修復中,該物件仍在修復過程中,並且有足夠的資料或同位分片可用於完成修復 |
紅色 |
不健康,該物件遺失了一個或多個分片,需要修復 |
灰色 |
無法復原,該物件遺失了過多的資料和/或同位分片,無法修復或還原 |