Raid

為什麼將我的團隊調整為“最大”會導致 GPT 錯誤,這很危險嗎?

  • June 12, 2021

我已經用 4TB 替換了我的 raid(6) 中的所有 2TB 磁碟,mdadm --grow /dev/md0 --size=maxfdisk 報告以下錯誤:The backup GPT table is corrupt, but the primary appears OK, so that will be used.而且 gdisk 更可怕。

root@nas:~# gdisk /dev/md0
GPT fdisk (gdisk) version 0.8.10

Warning! Read error 27; strange behavior now likely!
Caution: invalid backup GPT header, but valid main header; regenerating
backup header from main header.

Warning! Error 27 reading partition table for CRC check!
Warning! One or more CRCs don't match. You should repair the disk!

Partition table scan:
 MBR: protective
 BSD: not present
 APM: not present
 GPT: damaged

****************************************************************************
Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk
verification and recovery are STRONGLY recommended.
****************************************************************************

將我的團隊恢復到原來的大小可以解決問題。我應該關注 fdisk 和 gdisk 的錯誤嗎?正確的做法是什麼?

問題與我使用 32 位核心有關。在版本 4 核心中,32 位核心的 RAID 最大可訪問大小是 RealSize 模 16TiB,而在版本 5 中,最大大小略小於 16TiB。

所以當我超過 16TiB 時,分區軟體無法讀取或寫入儲存在磁碟末尾的二級分區表,並導致錯誤 27。

The backup GPT table is corrupt, but the primary appears OK, so that will be used

這是意料之中的。備份 GPT 表位於磁碟的末尾。如果您增大(或縮小)磁碟,其立銑刀會相應移動,因此fdisk將無法再找到備份 GPT 表。

我應該關注 fdisk 和 gdisk 的錯誤嗎?正確的做法是什麼?

這是無害的,因為主 GPT 表用於正常操作。不過,最好有一個備份表,因此您必須重新創建它:使用gdisk,不要修改目前分區表,只需將其(w命令)寫入磁碟。此操作也將重寫備份 GPT,從現在開始gdisk不應該再抱怨了。

引用自:https://unix.stackexchange.com/questions/649885