FreeBSD ZFS raidz1 HDD交換

ZFS raidz1

最低HDD3台構成、1台のHDDが故障してもデータは保護されている


HDDの異常が疑われる症状

  • コンピューターの反応が遅い
  • HDDのアクセスランプが頻繁に点灯

HDDの状態を確認

# gstat
gstat

異常がある場合該当するHDDデバイス ada〇の%busyの値が100.0%を超えて赤色表示される事が頻発する


HDD交換手順

交換対象のHDDのModelとシリアル番号を確認する

ada0を交換対象とすると

# camcontrol identify ada0

この場合、ModelはWDC WD20EZAZ-00GGJB0 シリアル番号はWD-WXF1AA8L07HY

実際に交換作業をする際に対象HDDを特定することができる


現在のZFSプールの構成を確認

# zpool status

プール名 zroot デバイスgpt/disk0gpt/disk1gpt/disk2の3台でraidz1を構成している


デバイスをオフラインにする

# zpool offline zroot gpt/disk0

HDDの交換

コンピューターをシャットダウンしてHDDを交換します、取り外すHDDはModel      シリアルナンバーを確認して間違わないようにします


パーティションの作成

コンピューターを起動して新しいHDDにパーティションを作成します、まず他のHDDのパーティションを確認します

# gpart show ada2

同じ構成で新しいHDDにパーティションを作成します

# gpart create -s gpt ada0
ada0 created
# gpart add -b 40 -s 512k -t freebsd-boot -l boot0 ada0
ada0p1 added
# gpart add -s 4G -t freebsd-swap -l swap0 ada0
ada0p2 added
# gpart add -t freebsd-zfs -l disk0 ada0
ada0p3 added

参考 その他gpartコマンド

gptを破棄

# gpart -F destroy ada0
-Fオプションは強制的に

パーティションを削除

# gpart delete -i 2 ada0
-i は削除するパーティションを指定する -i 2は2番目のパーティションを対象にする

replace(再同期)の実行

# zpool replace zroot gpt/disk0
Make sure to wait until resilver is done before rebooting.

If you boot from pool 'zroot',you may need to update
bootcode on newly attached disk 'gpt/disk0'.

Assuming you use GPT partitioning and 'da0' is your new disk
You may use the following command:

     gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0

ブートコードの書き込み

replaceを実行している間にブートコードの書き込みをします

# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0
partcode written to ada0p1
bootcode written to ada0

replace実行中のtatus画面

この画像はgpt/disk2(ada2)に対すreplaceのstatus画像

replace完了後のstatus画面


投稿日

カテゴリー:

投稿者:

タグ:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です