FreeBSD GPT gmirror 失敗
- FreeBSD でディスク管理を GPT で行っているときに、ディスク全体を gmirror すると GPT のバックアップが破損する。
- FreeBSD でディスク管理を MBR で行っている場合にはディスク全体を gmirror できる。
- FreeBSD でディスク管理を GPT で行って複数パーティションを作成し、複数の gmirror を行うことで GPT と gmirror の両方が利用できる。
FreeBSD インストール
FreeBSD gmirror 開始
シングル
- ディスク設定#1 失敗
# gmirror label -vb round-robin gm0 /dev/ada0 gmirror: Can't store metadata on /dev/ada0: Operation not permitted.
- 許可
sysctl kern.geom.debugflags=17
- ディスク設定#2
# gmirror label -vb round-robin gm0 /dev/da0 Metadata value stored on /dev/da0. Done.
- gmirror 開始
# gmirror load ..(中略).. g_attach(0xc56d4a40, 0xc9728b00) GEOM: mirror/gm0: corrupt or invalid GPT detected GEOM: mirror/gm0: GPT rejected -- may not be recoverable.
起動時メッセージ
gptboot: invalid GPT backup header
参考サイト
18.3. RAID1 - Mirroring / GEOM: Modular Disk Transformation Framework / FreeBSD Document
gmirror(8) stores one block of metadata at the end of the disk. Because GPT partition schemes also store metadata at the end of the disk, mirroring entire GPT disks with gmirror(8) is not recommended. MBR partitioning is used here because it only stores a partition table at the start of the disk and does not conflict with the mirror metadata.
- (和訳)gmirror(8) は管理データを最後の1ブロックに保存します。
- GPT 方式のパーティションも管理データをディスクの最後に保存するため、GPTディスクを丸ごと gmirror でミラーリングするのは推奨されません。
- この文書でMBR 方式ディスクで説明しているのは、MBRではパーティションテーブルをディスクの最初にしか保存しないため、gmirror の管理データと衝突しないためです。
HOWTO: Installing FreeBSD with gmirror (software RAID 1) and the GPT partitioning scheme / a-team systems
By default gmirror and the GPT partitioning scheme do not get along. This is because both GEOM (the provider for gmirror) and GPT write meta data at the end of the disk.
- 標準的な構成では、GPT パーティション管理と gmirror は同居できません。
- gmirror 機能を提供する GEOM と、GPT の両方がディスクの最後に管理データを書き込むためです。