treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

(3/3)ちょっと安いNAS=RAID5のリビルドに思う

前回でRAID5の障害やリビルドについて頭の中にあること書き出してみました。
今日はその前回と関連して、リビルドについて思い出した点をご報告です。

RAID5のNASで検討事項があって、考えたことと何に注意しなきゃいけないかを主に自分用に書き出した内容のうち、いざリビルド(再構成)をやらなきゃいけなくなったら…という頭の中でのシミュレーションしたときの内容になります。

f:id:treedown:20180819223630p:plain

リビルド(再構成)に掛かる時間が長い

安価なNASである前提ですが、RAID5のリビルド(再構成)はとにかく長い、いや安価なNASのリビルド(再構成)はとにかく長い、という表現のほうが正しいかもしれません。
この点は同じくパリティ計算を伴うRAID6も同様ですね。でも安価なNASでRAID6が使える本体ってあまり見かけないからやっぱRAID5中心の話になっちゃいますけども。

SATAディスクで2TB×四台とか当たり前な昨今、容量はどんどん増えています。4TB×四台、8TB×四台ってのもあります。
容量が増えれば増えるほど、リビルド(再構成)に掛かる時間は長くなります。それほど性能が低くないNASであっても4TBのHDD一台交換でリビルド完了に三日四日掛かるのは当たり前、と思っておいたほうがイイと思います。

HDD一台当たりの容量が増えるとその容量に比例してリビルド(再構成)に要求される時間も倍々に増えていくと思った方がよく、機器によってはリビルドに一週間掛かるってこともざらにあるようです。
HDDが故障する、という人間がコントロールできない事象に対して、その復旧に掛ける労力や実際に実用に耐えられないような性能しか出せない期間が数日~一週間以上要求される、という点を考慮して、そのNASはRAID5でも大丈夫か?と考える必要があるように思えます。ユーザからの苦情を受けるのは管理者なんですし。

そうなると、NAS自体を二台用意して正系副系で運用、rsyncのようなデータ同期を正系副系で実行しておき、同じデータを持ち合う、そんで例えば正系NASのHDD故障でリビルドが必要になったんだったら、ユーザが参照する方のNASをスッと副系に切り替えて、副系のNASはリビルド完了までじっと我慢、というくらいの構成は必要な気がしてきました。

で、筐体二台用意して筐体から冗長化し万全に備えるRAID5と、リビルド時の利用は何とか縮退稼働で乗り切るとしてデータのバックアップをしっかり取得することに投資するRAID10のどっちがいいか?という選択になってきそうです。
というのもRAID10はリビルド時の負荷はそれほど高くないので、(ネットワーク経由かUSBのHDDか)何らかの形でバックアップデータをそっくり保存しておけば事足りるんじゃ?という考え方です。RAID構成のNASで利用するアレイ容量がどれくらい要求されるかと、そのデータ冗長化にどれくらい投資できるかと、その構成要素はどれくらいの価格で販売されているか、なんてよくある話になってしまいますね。

RAID5を使うにあたり

RAID5ではRAID1より「整合性チェック」を定期的に実施し、不良ディスクをいち早く検出する、って機能が重要に思います。
整合性チェック機能は「ディスクアレイの整合性チェック機能」とか「整合性検査機能」とかQNAPだと「RAIDスクラビング」、Lenovo(元IBM)のSystem Xだとコンシステンシーチェック(Consistency Check)とか呼ばれている機能です。

しかし安価なNASだとこの辺の機能があまり実用に耐えうるものでなかったり、そもそもそんな機能がなかったり、機能があってもスケジュールでの自動実行ができなくて手動でしか実行ができなかったり、と意外とこれと思えないところがあります。
この辺が自動で定期的に実行できて、かつ問題発見の際の通知機能がしっかりしているのであれば、RAID5っていう選択肢もありかなぁ、というのが結論。

RAID5は「とにかく故障の前兆をいかに早急に把握し、障害対処を速やかに済ませるか」これがポイントのように思えます。
そのために、こういったチェック&検知機能が充実していることと、通知機能がしっかりしていることがRAID5で不幸にならないための最初のポイントに思えます。

あとは、別記事でも強調しているデータバックアップ取得の体制をきっちりしておく、というところですね。これはRAID5に限りませんが。