トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

FreeBSD gmirror 障害復旧手順例 202401

  • FreeBSD-13 でディスク障害が発生した。
  • FreeBSD gmirror GPT 3T HDD トリプルミラーでの障害
  • セクタエラー
  • 障害復旧手順の記録
  • zfs ではない
  • GPT のバックアップ領域と gmirror の管理領域が重複するため、GPTではディスク丸ごと gmirror できない。
  • FreeBSD GPT gmirror 失敗
  • MBR だったらディスク丸ごと gmirror ができる。
  • 回避のため、GPTで複数のパーティションを作成し、それぞれのパーティションで gmirror を動作している。
  • 複数の gmirror が動作している。
  • ここでは、bootcode + freebsd-swap + freebsd-ufs

発生状況

1/8

root@ns4:/home/nonaka # smartctl -a /dev/ada0
smartctl 7.2 2020-12-30 r5155 [FreeBSD 11.4-RELEASE-p9 amd64] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Green
Device Model:     WDC WD30EZRX-00D8PB0
Serial Number:    WD-WMC4N*******
LU WWN Device Id: 5 0014ee 6043*****
Firmware Version: 80.00A80
User Capacity:    3,000,592,982,016 bytes [3.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5400 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-2 (minor revision not indicated)
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Mon Jan  8 18:30:59 2024 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

作業概要

  • gmirror ada0 ada1 ada2 のトリプルミラー
  • ada0 が故障
  • トリプルミラー から ada0 を除去
gmirror remove p3 ada0p3
gmirror remove p1 ada0p1
gmirror remove p2 ada0p2
  • ada0 を入れ替え
  • ada0 のパーティション設定
gpart create -s gpt /dev/ada0
gpart add -b 40 -s 128 -t freebsd-boot ada0
gpart add -t freebsd-ufs -s 5853151096 ada0
gpart add -t freebsd-swap -s   7381870 -a 2 ada0
  • ada0 の起動コード書き込み
ls -l /boot/pmbr
gpart bootcode -b /boot/pmbr ada0
ls -l /boot/gptboot
gpart bootcode -p /boot/gptboot -i 1 ada0
  • トリプルミラー再開
gmirror insert p1 /dev/ada0p1
gmirror insert p3 /dev/ada0p3
gmirror insert p2 /dev/ada0p2