文件

物件修復

什麼是修復?

修復是 MinIO 還原已損壞、損毀或部分遺失的物件的能力。遺失可能來自多種類型的損毀或遺失,例如但不限於

  • 磁碟機層級錯誤或故障

  • 作業系統或檔案系統錯誤或故障

  • 位元腐爛

修復和 Erasure Coding

MinIO 還原損壞物件的能力直接與以下因素相關

  • 物件所在的 Erasure 集 中的磁碟機總數

  • 具有物件完整部分的可用磁碟機數量

  • Erasure 集的 同位設定

    同位是指 MinIO 在寫入物件時建立的專用恢復分片數量。例如,Erasure 集可能有八個磁碟機,並在寫入期間使用三個磁碟機進行同位。在這種情況下,MinIO 會將物件分割成 5 個資料分片並建立 3 個同位分片。MinIO 會將這八個分片分佈在 Erasure 集中的磁碟機上。沒有一個磁碟機僅包含同位分片或僅包含資料分片。相反地,MinIO 會以隨機方式寫入每個物件的分片,以均勻分佈跨磁碟機的讀取。

    當 MinIO 需要提供物件時,它會尋找物件的資料分片。如果任何資料分片遺失或損壞,MinIO 會使用一個或多個同位分片來還原物件。在尋找同位分片時,如果任何同位分片遺失或損壞,MinIO 也會還原這些分片,前提是有足夠的其他分片可以提供物件。在這種情況下,最多可以遺失或損壞三個資料分片部分,MinIO 仍然可以成功還原並提供物件。

    具有物件完整資料或同位分片的可用磁碟機數量必須等於或超過 Erasure 集中用於資料分片的磁碟機數量。在上述情況下,五個具有完整分片的磁碟機必須在線上且可用,MinIO 才能成功提供物件。

MinIO 何時修復物件?

MinIO 有一個健全的物件修復系統。

GET 請求期間修復

每次您使用 GETHEAD 操作請求物件時,MinIO 會自動檢查物件資料分片的完整性。對於版本化的儲存桶,MinIO 也會在 PUT 操作期間檢查一致性。

如果發現所有資料分片都完好無損,MinIO 會直接從資料分片提供物件,而不會檢查對應的同位分片。

如果物件遺失或損壞資料分片,MinIO 會使用可用的同位分片來修復物件,然後將其作為操作的一部分提供。每個遺失或損壞的資料分片必須有一個完整的同位分片可用,否則無法恢復物件。如果任何同位分片遺失或損壞,只要有足夠的其他同位分片來提供物件,MinIO 就會還原該同位分片。

使用物件掃描器進行修復

MinIO 使用物件掃描器 來執行許多與物件相關的任務。其中一項任務是檢查物件的完整性,如果發現損壞或損毀,則會修復它們。

在每次掃描過程中,MinIO 使用物件名稱的雜湊值,從每 1024 個物件中選取一個來檢查。

如果發現任何物件遺失分片,MinIO 會從可用的分片修復物件。預設情況下,MinIO 不會使用掃描器檢查 位元衰減 損壞。執行此操作可能很耗費資源,而且多個磁碟發生位元衰減的風險很低。

透過手動請求修復

管理員可以使用 mc admin heal 來啟動完整的系統修復。此過程非常耗費資源,通常不需要執行。

在部署中手動啟動修復過程之前,請諮詢 MinIO 工程師。

修復指標

MinIO 提供多個修復指標,以監控部署中修復過程的狀態。

請參閱指標和警示,以取得有關可用端點和組態的更多資訊。

修復輸出顏色索引

較早版本的 MinIO 會產生一個表格,其中使用綠色、黃色、紅色和灰色來指示個別物件的修復狀態。這些顏色已被棄用,轉而使用更詳細的叢集層級可用的修復指標

下表描述了現在已棄用的狀態顏色的含義。

綠色

正常,物件擁有提供物件所需的所有資料和同位分片

黃色

修復中,物件仍在修復過程中,並且有足夠的資料或同位分片可供完成修復

紅色

不正常,物件遺失一個或多個分片,需要修復

灰色

無法復原,物件遺失太多資料和/或同位分片,無法修復或還原