2013/04/26

ディスクアレーのすすめ

  以前に、SUN A1000/D1000 というディスクアレー装置の話を書いたことがある。その後SUNのD2とかIBM EXP400 等も紹介した。ところが思った以上にそのページのアクセスも多く、おまけに、知り合いから聞かれることも度々なので、使い方について簡単に追加しておきたい。元々、ディスクアレー装置は幾つかのディスクユニットを組合せて、1つの論理ドライブを構成する。それは、OS上で1ドライブとして認識される。その優位性としては、小容量ドライブでも数を増やせば大容量になること、並列で動作するためアクセスレスポンスが極めて高く、ファイルをす早く書込んだり読出したりできる。また、データー量が最大容量に近づいてもレスポンスが低下しにくい、などが挙げられる。一方で、容量なら既に1ドライブ4TBもあるとか、あるいはスピード的には、同じデータにヒットするケースも多いことから64MBキャッシュ搭載で十分とか、投入コストも大差があるので価値観は様々である。しかし、一度でも大切なデータが呼出せなくなった経験があると、こまめにバックアップするとか、ディスクを幾つかに分けておくとか、意外に苦労することも多い。

  よく話に出るのが、写真や動画を撮影して保存するときの話である。取材した画像ファイルはかけがえの無い素材で、撮影のためのコストと時間は随分と掛かったものである。その保存について様々の要素を1つ々覗くと、そこは、ある程度容量のあるストリーミングデータであること、また、素材と編集後、あるいは静止画ならRAWファイルからJPEGなど変換作業を多用するため、やはり、全体のデーター量としては、撮影時より増える傾向がある。したがって、その管理にこそ障害の発生の少ない仕組みが望まれてきた。そこには、ファイルを大切に扱いながら、作業効率をアップしたい願望が含まれているのである。ならば、自分の設計思想とコストを掛けて、幾つかのディスクを用意し、多少無駄があったとしてもRAIDで構成しておきたい。RAIDとは、Redundant Arrays of Independent Disks の略語で=1つのドライブを冗長化された幾つかの並列ユニットで構成するという意味で、末尾に番号を付加し、ディスクアレーの使い方の種類を指す。

  おおよそ、ディスクアレー装置に使われる筐体には、電源ユニットおよびSCSIインターフェイス等が2個ずつ挿入されており、1式障害に見舞われても運用を継続することができ、それによるディスクの破損もない。さらに稼働中に新しい電源ユニットと交換ができる構造になっている。これをホットスワップという。一方のディスク収容口は12本(SUN)~14本(IBM)を備える。この中にディスクを挿入し、その幾つかを組合せてRAIDを構成する。一般的に知られているのは、RAID1としてのミラーリングで、同じディスクを2本並列に動作させ、片方が壊れても片方が生き残るという極めて分かりやすい仕組みである。1本壊れるとインジケータが知らせ、壊れたディスクを抜いて新しいディスクを挿入すると自分でミラーを再構成する。あるいは、3本ディスクを挿入して1本をホットスペアに設定しておくと、1本壊れると自動的に3本目のディスクが再構成を始める。全ての操作が稼動中に行える点が優れている。この仕掛けは、OSのブートドライブで広く使われている。

  次に一般的なのはRAID5で、最小でも3本のディスクが必要になる。まずファイルを一定のサイズごと分割して、それらにパリティを加えて、全ディスクに決められた順番で書き込む。ディスクはすべて同期運転しているので、あたかも1台のディスクのように回転している。データーを前処理するのはRAIDコントローラで、このコントローラはデーター処理に十分な高速で処理するように設計されている。一方呼び出したデーターは、誤りがないか調べて(誤りがあれば再度読取る、パリティーを検査など)再び、元のファイルに戻す作業を行う。これら一連の作業によってディスクが故障しても、それ以外の稼動中のディスクのデーターとパリティから、元のデータを再生成して状態を回復できる。さらに、こちらでもホットスペアディスクに設定しておくと、1本壊れると自動的にそれを仲間に加えて再構成を始める(必要なディスク4本)。ディスク2本が同時に壊れても、2本のホットスペアで修復できるRAID6もある(必要なディスク6本)。RAID5以上はディスクの数が多ければ、再構築の為のスピード低下を小さく出来る。障害発生をメールで受け取った時は、現場へ行き稼働中に壊れたディスクを1.マネージャ・ソフト上で取り外し、2.実際のユニットを正常品と稼動中に交換する。3.正常品をマネージャ・ソフト上で確認し、ホットスペアに設定する。これだけでよい。これで運用を継続できるので安心といえる。

  近年、SATAなどディスクの価格が低下しているので、データーの増加に沿ってディスクの新設をするという考え方もある。12本挿入できるスロットを最初は1/2の6本で使い、RAID5+ホットスペアで構成する。例えば80GBを6本使用し320GBの論理ドライブAとして設定する。数年後に、160GBを6本用意して640GBの論理ドライブBとして設定する。論理ドライブAのデーターを論理ドライブBにコピーし論理ドライブAを全て取り除く。将来そこに320GBを6本用意して1.28TBの論理ドライブAAを設定する。次に論理ドライブBは、将来そこに640GBを6本用意して2.56TBの論理ドライブBBを設定する。このように、順次容量を増やしながら最後は、6個の空きスロットをいくつか追加のホットスペアにして活用する。ディスクは6年程度経過すると壊れやすくなるため使用期間を限定しておく方が良い。また、電源ユニットやSCSIインターフェイスは、保守部品で取り寄せても製造打ち切り後5年程度しか在庫されていないので、製造打ち切り後は、速やかに購入しておく。少なくとも、それで稼動中はデーター損失の心配なしで運用継続できる。

 写真は、現在使用中のEXP-300の筐体の様子。今では、これよりも更に安価に構築できるはずである。ここでは、10年前にU320のディスク36GB 15Krpmを6本RAID5EE+1HSそして146GB 10Krpm5本使いRAID5EEを設定したもの。15年前は36GB 10Krpmを14本使い、11本でRAID5EEを設定し、3本をHSに設定していたが、1本もディスク障害は発生しなかった。その後、2つの論理ドライブにして使う事にして、左側は15Krpmを使用してパフォーマンスを改善した。前処理、編集、ファイル変換などの作業は左側で行い、完成したら右へ移動。これによって、「ファイルを整理して不要なものを削除、重要なものを残す」という手順を踏むことにする。この作業つまり、常にある程度「整理すること」が重要なのである。一方、右のディスクのデーターが160GB程度になると、Ultrium(200GB)へデーターを移動させる。経験的に、160GBは1区画分として最適といえる。まだUltriumへは3本程度しかバックアップしていないが、おおよそ二重に残す(50%はディスクとテープの両方に残る)部分があるが160GB程度で約3年分である。これでもまだ、別のサーバー2台にも頻繁に使用するデータ(約200GB)は残っているので、最初はディスクを大目に用意したくなるが、増加していく量は意外に少ない。しかも、10年経過したら必要ないと考えるので、それでも残したいものは、DVDやブルーレイに残すのが良いと考えている。
参考例
https://onedrive.live.com/view.aspx?cid=CFBF77DB9040165A&resid=CFBF77DB9040165A%211264&app=WordPdf

補足:ディスクの容量は、大きすぎるとディスク寿命が先に来る。それは、使わず破棄する無駄が多くあるということ。個人が使う容量が年間どの程度なのかを把握してストレージを構築すべきである。デイスクの寿命が5年と固定化されているので、それを基準に、安全性に費やす費用、バックアップ容量、リカバリー時間などを検討してアレイを組む様にしたい。

補足:LTO=Ultriumを使ったバックアップは、あくまでディスクが破損したときの為であり、通常呼び出して使うことはないが、万が一を考えてテープに余裕を残して保管しておきたい。