トップ 一覧 検索 ヘルプ RSS ログイン

FreeBSD gmirror 演習の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!概要
{{outline}}

!!!目的

*FreeBSD での software-RAID の gmirror
*稼働している FreeBSD を対象とする。
*障害発生時の復旧方法を確認する。
*トリプルミラー

!!!作業手順

!!FreeBSD インストール

!!FreeBSD gmirror 開始

!シングル
*cd 起動
*gmirror 設定
 # gmirror label -vb round-robin p1 /dev/da0p1
 Metadata value stored on /dev/da0p1.
 Done.
 # gmirror label -vb round-robin p2 /dev/da0p2
 Metadata value stored on /dev/da0p2.
 Done.
 # gmirror label -vb round-robin p3 /dev/da0p3
 Metadata value stored on /dev/da0p3.
 Done.
*gmirror 状況確認
 # gmirror status
       Name    Status  Components
 mirror/p1  COMPLETE  da0p1 (ACTIVE)
 mirror/p2  COMPLETE  da0p2 (ACTIVE)
 mirror/p3  COMPLETE  da0p3 (ACTIVE)

*ディスク設定#2
 gmirror label -vb round-robin gm0 /dev/ada0
*gmirror 開始
 gmirror load

!設定ファイル更新
*/ の領域を /mnt にマウント
 # mount /dev/mirror/p2 /mnt
*gmirror 自動起動
 echo 'geom_mirror_load="YES"' >> /mnt/boot/loader.conf
*fstab 編集
 cp -p /mnt/etc/fstab /etc/fstab.YYYYMMDD
 sed -e 's!da0!mirror/!g' < /etc/fstab.YYYYMMDD > /etc/fstab

!再起動
*起動確認
 df
 mount
 gmirror status

!ダブル
*da1 パーティションテーブル作成
 gpart backup /dev/da0 > da0.gpart
 gpart restore /dev/da1 < da0.gpart
*ブートコード書込み
 gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 da1
*gmirror 追加
 gmirror insert p1 /dev/da1p1
 gmirror insert p2 /dev/da1p2
 gmirror insert p3 /dev/da1p3
*gmirror 状況確認
 gmirror status

!トリプル
*上記ダブルと同様、デバイスは /dev/da2

!!障害時対応確認

!HDD 障害

 Jun 14 09:18:44 fbsd64 kernel: mpt0: Rescan Port: 0
 Jun 14 09:18:44 fbsd64 kernel: (da0:mpt0:0:2:0): lost device - 0 outstanding, 3 refs
 Jun 14 09:18:44 fbsd64 kernel: GEOM_MIRROR: Device p3: provider da0p3 disconnected.
 Jun 14 09:18:44 fbsd64 kernel: GEOM_MIRROR: Device p2: provider da0p2 disconnected.
 Jun 14 09:18:44 fbsd64 kernel: GEOM_MIRROR: Device p1: provider da0p1 disconnected.
 Jun 14 09:18:44 fbsd64 kernel: (da0:mpt0:0:2:0): removing device entry

!障害の検出

 > gmirror status
      Name    Status  Components
 mirror/p1  DEGRADED  da0p1 (ACTIVE)
 mirror/p2  DEGRADED  da0p2 (ACTIVE)
 mirror/p3  DEGRADED  da0p3 (ACTIVE)
!障害の復旧

!シングルでの起動確認

*1台目
*起動できた。
*起動できない場合は bootcode を確認

*2台目
!障害の復旧

*3台目
 gmirror forget p1
 gmirror forget p2
 gmirror forget p3

 gmirror insert p1 /dev/da1p1
 gmirror insert p2 /dev/da1p2
 gmirror insert p3 /dev/da1p3

 Jun 14 09:09:28 fbsd64 kernel: GEOM_MIRROR: Device p3: rebuilding provider da1p3.
 Jun 14 09:09:29 fbsd64 kernel: GEOM_MIRROR: Device p3: rebuilding provider da1p3 finished.
 Jun 14 09:09:36 fbsd64 kernel: GEOM_MIRROR: Device p1: rebuilding provider da1p1.
 Jun 14 09:09:36 fbsd64 kernel: GEOM_MIRROR: Device p1: rebuilding provider da1p1 finished.
 Jun 14 09:09:47 fbsd64 kernel: GEOM_MIRROR: Device p2: rebuilding provider da1p2.
 Jun 14 09:15:40 fbsd64 kernel: GEOM_MIRROR: Device p2: rebuilding provider da1p2 finished.




!!!参考サイト
*http://clicklog.org/article/128506336.html

*http://www.freebsd.org/doc/handbook/geom-mirror.html