« ファイルシステムのブロックサイズと性能との関係 | トップページ | 壊れたHDDからデータ救出 (FreeBSD) »

2006年8月 8日 (火)

FreeBSDでRAID3 復旧編

せっかくRAID3にしても、肝心な障害時に復旧方法が分からなければ意味がないので、復旧のリハーサルをしてみた。

とはいえ、実際にI/Oエラーを発生させるのは困難なので、手順を追っただけ。

現在の構成:
# graid3 list
Geom name: data0
State: COMPLETE
Components: 3
Flags: NONE
GenID: 0
SyncID: 1
ID: 3811088837
Zone64kFailed: 0
Zone64kRequested: 1759689
Zone16kFailed: 9
Zone16kRequested: 5435
Zone4kFailed: 0
Zone4kRequested: 14207
Providers:
1. Name: raid3/data0
   Mediasize: 600181455872 (559G)
   Sectorsize: 1024
   Mode: r0w0e0
Consumers:
1. Name: ad2
   Mediasize: 300090728448 (279G)
   Sectorsize: 512
   Mode: r1w1e1
   State: ACTIVE
   Flags: NONE
   GenID: 0
   SyncID: 1
   Number: 0
   Type: DATA
2. Name: ad10
   Mediasize: 300090728448 (279G)
   Sectorsize: 512
   Mode: r1w1e1
   State: ACTIVE
   Flags: NONE
   GenID: 0
   SyncID: 1
   Number: 1
   Type: DATA
3. Name: ad6
   Mediasize: 300090728448 (279G)
   Sectorsize: 512
   Mode: r1w1e1
   State: ACTIVE
   Flags: NONE
   GenID: 0
   SyncID: 1
   Number: 2
   Type: PARITY

ここで、ad10が故障したことを想定する。

まずは、故障したad10をRAID3から外す。

# graid3 remove -n 1 data0

オプション-nはmanにほとんど説明がないけど、graid3 listで表示されているNumberを指定するようだ。ad10と指定するgmirrorとは違うので、注意(最初はまった…)。

# graid3 status
       Name    Status  Components
raid3/data0  DEGRADED  ad2
                       ad6

ついでに、この状態で性能を測定してみる。

# bonnie -s 500 -m "degraded"
              -------Sequential Output-------- ---Sequential Input-- --Random--
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU
degraded  500 71422 72.8 121834 46.1 34544 11.9 69184 76.9 125924 27.8 663.2  3.2

性能低下は無い様子。当然だけど、何事もなかったかのように、ちゃんと使える。

で、ad10を交換したとして、再度RAID3に加える。

# graid3 insert -n 1 data0 ad10

オプション-nには、先ほどgraid3 removeで指定したのと同じものを指定する。すると、今insertしたad10に対して再構築を始める。

# graid3 status
       Name    Status  Components
raid3/data0  DEGRADED  ad2
                       ad6
                       ad10 (0%)

この状態でも性能を測定してみる。

# bonnie -s 500 -m "rebuild"
              -------Sequential Output-------- ---Sequential Input-- --Random--
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU
rebuild   500 71422 72.8 121834 46.1 34544 11.9 69184 76.9 125924 27.8 663.2  3.2

さすがに性能はがた落ち。でも、遅くても普通に使える。すばらしい。

しばらく経って、再構築が終われば元通り。

|

« ファイルシステムのブロックサイズと性能との関係 | トップページ | 壊れたHDDからデータ救出 (FreeBSD) »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: FreeBSDでRAID3 復旧編:

« ファイルシステムのブロックサイズと性能との関係 | トップページ | 壊れたHDDからデータ救出 (FreeBSD) »