情報セキュリティ:可用性と信頼性

 今まで本講座では、ファイアウォールや、IDS/IPSなどのアクセス制御、あるいは通信路の暗号化などについて主として議論してきました。これらは、情報セキュリティの三大要素とされる機密性と完全性を具体化した機能やデバイスです。

 機密性をメインにした議題としては、アクセス制御(ファイアウオール、IDS/IPSなど)、パスワード認証、暗号化、入退出管理などがあります。完全性に関しては、デジタル署名、メッセージダイジェストによる改ざん防止などがあります。さらにこれ以外には、責任追及性としては、ログ、デジタル署名による否認の防止などがあります。真正性は、デジタル署名、パスワード認証などで議論しました。

 ところが、三大要素のうちの1つとされる可用性については、議論をしておりません。また、三大要素に、責任追跡性(説明可能性)、真正性、信頼性の3つを加えて、六大要素といわれていますが、このうちの信頼性についても、議論の場がありませんでした。ここでは、主として、可用性、信頼性に焦点を当てて議論していきたいと思います。

 可用性としては、ネットワークやシステムの二重化、データの二重化、ホットスタンバイ、UPS、RAID、負荷分散装置、クラスタリング構成などがあります。信頼性としては、ネットワークやシステムの二重化による故障対策、サーバ室での温度管理、負荷監視などがあります。更にデータセンターの利用、更にクラウド利用などについても考える必要があります。





1 可用性対策

 可用性(availability)は情報セキュリティの三大要素の1つとされています。いくら完全性と機密性が守られても、可用性が守られていなくてはいろいろの面で大変です。現在の様に、組織運営が殆どコンピュータシステムの上に成り立っている場合には、コンピュータシステム、ネットワークなどが停止してしまうと、企業活動、社会活動が止まってしまいます。システムが回復するまでに、数日かかるとすると、その間に得られるはずの利益を失うことになります。また、その間には顧客の利益も損なわれる可能性があり、その結果、企業としてのあるいは社会的な信頼を失ってしまうかも知れません。そのようなことがないように、日ごろから対策を施していく必要があります。



1.1 バックアップ

 バックアップ(backup)は、後援や応援・予備などを意味する英単語です。情報の世界でバックアップという場合は主として、予備の意味で使われます。予備には、機器やデバイス、ネットワークなどを二重にして備える場合と、データなどを保存する場合の2つの場合があります。機器やデバイス、ネットワークなどを二重にして備える場合については、次の冗長構成の節で説明します。

 ここでは何か問題があった場合に備えて、データなどをとっておくということに焦点を絞って議論したいと思います。

 データの紛失・破損のリスクは常に存在しますので対策を取る必要があります。的確に対策するためには、リスクにはどんなものがあるかをまず特定する必要があります。データ紛失のリスクとしては「データの論理的な破壊」と「媒体の物理的な破壊や紛失」などがあります。
 データの論理的な破壊としては、ユーザの操作ミス、データソース自体の誤り、ソフトウェアのバグ、ウィルス感染やクラッキングなどの第三者による意図的な改竄などがあります。媒体の物理的な破壊や紛失などに関しては、ハードウェアの故障(停電を含む)や、自然災害(火災、落雷、地震など)が考えられます。

 これらのリスクを分析し、どのような対策が適切かを考えていきます。

 論理的な破壊では、第三者の意図的な改竄に対応することを考えます。意図的な改竄に耐えうるもので、しかも破壊の直前まで戻れることが大切です。そのためには、バックアップをできるだけ頻繁に、しかも定期的にとり、いつでも破壊される直前に戻れるように備えておきます。頻度については、データの重要度とコストを勘案して予め決めておかなくてはなりません。

 物理的な破壊については、バックアップしたものを何処に保存しておくかが問題です。同じ場所にあると、一緒に破壊されてしまう可能性があります。ネットワークを介して離れたところに保存するとか、別のシステムに保存するとかの方法を考えてください。

 バックアップの方法としては、論理的な方法と、物理的な方法のいずれにも対応できるものが望ましいのですが、方法によってはどちらか一方の対策にしかならない場合もあります。例えば操作ミス(論理的な破壊)に対応するためには同一ドライブにバックアップすることでいいのですが、物理的な破壊に際してはたぶん役に立ちません。

 別のストレージに保存すれば、物理的な破壊にはたぶん役に立ちますが、操作ミスなどが即座に反映されてしまう方式(例えばRAID1のミラーリング)では、操作ミスや、ウィルスのよるデータ破壊などが即座に反映されてしまうため役に立ちません。特定の目的に対応するだけならば単一の手法のみで足りるのですが、通常はいくつかの方法を組み合わせて利用することになります。

 一般的な対策としてはリムーバブルメディアにバックアップして、別の場所に保管する方法や、2重、3重にバックアップを取る方法、ネットワークを介してリモートのデータセンターやオンラインストレージに保存する方法などがあります。また、誤ったデータでは正しいデータを復元できないので、何世代にもわたってデータをバックアップしておくことも大切です。



1.1.1 バックアップの対象

 バックアップの対象としてはファイルやフォルダ(ディレクトリ)単位に行うファイルバックアップと、ディスクやパーティション単位で行うイメージバックアップがあります。

バックアップ方式 対照 特徴
ファイルバックアップ ファイル、フォルダ バックアップは速い
復旧(リカバリ)は遅い
イメージバックアップ ディスク、パーティション バックアップは遅い
復旧は速い

 ファイルバックアップはファイルシステムを介してバックアップを行いますので、ファイルシステムが持つタイムスタンプを利用することができます。そのため増分バックアップや差分バックアップが実現しやすいという利点があります。これに対して、復旧時には復元先にファイルシステムが構築されている必要があるため、復旧の完了までには少し時間がかかります。

 イメージバックアップはファイルシステムを使わずに、ハードディスクにある記録データをそのままバックアップします。一般にnullデータを読み飛ばすことができず、全域全量をバックアップします。また、ファイルシステムを使いませんので、増分バックアップや差分バックアップの手法を使うことができません。従って、バックアップ処理には時間がかかります。しかし、復旧はパーティション全体をリストアするだけですので、ファイルバックアップと比較すると短時間で完了します。



1.1.2 バックアップの種類

 バックアップの種類はフルバックアップ、差分バックアップ、増分バックアップなどがあります。



■フルバックアップ
 全てのデータを複製するのがフルバックアップです。時間がかかることと、バックアップ先に十分な空きがないとできないことが問題です。しかし、バックアップしたデータが一カ所に集まっているので、復旧時に探し回る必要がありません。



■差分バックアップ
 一回フルバックアップを行い、そのフルバックアップからの変更/追加を複製するのが、差分バックアップです。ツールを使わない場合は、変更/追加を自分で把握しておく必要があります。復旧には最後に行われたフルバックアップと、最後に行われた差分バックアップが必要になります。



■増分バックアップ
 一回フルバックアップを行い、その後増分をバックアップしていきます。各回の増分は、前回のバックアップからの増分です。ツールを使わない場合は、各回の増分を自分で記録しておく必要があります。復旧する場合には、最後に行われたフルバックアップと、それ以降の全部の増分バックアップを必要とします。



1.1.3 バックアップの運用

 どのようなデータを、どのような範囲で、どのような頻度でバックアップし、それをどの程度の時間保持するのかは、システムやデータの重要度、運用や維持のコスト、その他の要因から総合的に判断して決められます。この総合的な判断の中にはリスク分析の結果なども当然入ってきます。

 範囲はどのような範囲のデータをバックアップするかということです。データベースのデータをバックアップするとか、ユーザのホームディレクトリをバックアップするとかいうことです。保存期間はセキュリティポリシーで規定されている場合もあるでしょう。例えば、Webシステムのログを3か月分保存するというように規定しているかも知れません。また、データの種類によっては法律によって最低限の保存期間が決められている場合もあります。保管場所は、バックアップしたデータをどこに保存するかです。保存場所によっては、災害時(例えば、津波の際)にシステムと一緒に、バックアップデータも破壊されてしまう可能性があります。保管場所を別の部屋にするとか、地理的に離れたデータセンターに保管するとか、いろいろの方法が考えられます。バックアップデータの重要性、リスク、コストなどを総合的に勘案して保存場所を決めてください。

 フルバックアップや、差分バックアップ、増分バックアップなどについても、データの重要性、リスク分析の結果、コストなどを総合的に判断して決めてください。



1.1.4 バックアップメディア

 バックアップメディアとしては、フロッピーディスクや磁気ディスク、磁気テープ、カセットテープ、光ディスク、フラッシュメモリ、光磁気ディスク、ハードディスクドライブなどがあります。

 かつてはよく利用されたいたフロッピーディスク(FD)などは使えません。安価ですが容量が少なく(約1MB)、ファイル単位でのバックアップ程度に使うのが限度です。FDは磁気やちり、汚れに弱いという欠点もあります。磁気ディスク(約100MB~数GB)はかつてはよく利用されていましたが、現在は容量や経済性などの点で他のメディアに取って代わられています。FDと同様に、磁気やちり、汚れに弱いという欠点があります。カセットテープはFDが標準化される前に使われていたもので、データを音に変調してから保存します。今ではほとんど使われていないのではないでしょうか。フラッシュメモリ(数十MB~数GB)はUSBなどでよく利用されています。また、最近ではフラッシュSDDも普及しつつありますが、その性質上、長期記憶には向いていませんので、バックアップメディアとしては限定的になります。

 バックアップはできるだけ手間をかけずに行いたいものです。出来れば1本(1枚)のメディアでバックアップしたいと思います。それができない場合は、オートチェンジャーを使って1回の操作でバックアップしたいですね。終業時に操作をして、翌朝出社したら全部終わっているようになっていなくてはなりません。

 こう考えると、長期保存を考えた場合のバックアップメディアは、磁気テープ、光メディア(光ディスク、光磁気ディスク)、HDDなどに限られてきます。

※光磁気ディスク(MO、Magneto-Optical disc)は、赤色レーザ光と磁場を利用して磁気記録を行い、レーザ光で再生する記憶メディアです。記憶メディアとしては一時普及したことがありますが、現在は光ディスク、フラッシュメモリにとって代わられています。しかし、信頼性・長期保管性が優れているため、現在でもバックアップメディアとしては利用され続けています。



■磁気テープ
 磁気テープには様々な規格があり、容量の増加と書き込み速度の向上を狙って、継続的に開発が行われています。

●QIC/Travan/SLR
 QIC(Quarter-Inch Cartridge)は1/4インチ幅(6.33mm)のテープを利用する2軸型の磁気テープ規格です。米国では、個人やSOHO向けによく利用されています。QICは企業向けと個人向けの双方で幅広く使われたために、多くの派生規格が生まれています。カートリッジの小型化を図ったのがMC(Mini Cartridge)、カートリッジサイズはMCと同じでテープ幅を8mm(0.315インチ)にして大容量化を図ったのがQIC-Wide(クイックワイド)、テープ幅は8mmでMCよりもカートリッジを若干大きくしたのがTravan、オリジナルのカートリッジサイズで大容量化を目指したのがSLR(Scalable Linear Recording)です。

●DDS/DAT
 デジタルオーディオ用のDAT(Digital Audio Tape)を元に開発された(ソニーとHP)のが、DDS(Digital Data Strage)です。テープ幅は4mm(正確には、3.8mm)なので、「4mmデータ・カートリッジ」とも呼ばれています。規格名は、DDS-1、DDS-2、DDS-3、DDS-4、DAT 72、DAT 160、DAT 320、DAT 8th GENで、現在国内で販売されている装置はDAT 72、DAT 160、DAT 320対応のものです。DAT 8th GENは製品化には至らず開発団体は解散してしまいました。

●LTO
 LTO(Linear Tape-Open)(HP、IBM、シーゲイトテクノロジー)は、1/2インチ(12.65mm)幅の磁気テープ規格です(Ultrium)。一番新しい規格はLTO-5で1.5TBまで記録できます。第三世代(LTO-3)以降ではWORM(Write Once、 Read Many;書き込みは1回だけ、読み出しは何回でも可能)に対応しています。
 仕様がオープンなため多数のベンダーが製品を供給できるようになっています。現在、大容量のバックアップメディアとしては、最もシェアが高くなっています。LTO専門のオンラインショップまであるほど市場はにぎわっています。

●AIT/SAIT
 ソニーが開発した8mm幅の2軸型の磁気テープです。テープに容量2KBのフラッシュメモリを搭載し、これで使用履歴や索引情報を保持するので、バックアップしたデータの高速検索が可能で、検索時のテープ摩耗も軽減されます。WORMにも対応しています。
 SAITはAITと同じ技術を使っていますが、テープカートリッジの外形が異なるため(1/2インチ幅)、互換性はありません。



■光メディア
 光メディアには様々なものがありますが、バックアップ用に使用されるのはCD-R、DVD(DVD-V)、Blu-Ray(BD-R/BD-RE)です。

●CD-R
 CD-Rはデータを書き込むことができるコンパクトディスク(Compact Disc Recordable)です。一度書き込まれたデータは書き換えや削除はできませんが、容量限度まで追記が可能です。ディスクの直径は12cmと8cmの2種類があります。似たような規格にCD-RWがあります。こちらは全体を消去すれば何度でも書き換えができます。CD-RWはCD-Rと比較すると価格が高いのが難点です。光メディアの使い方としては、半永久的な保存用ですので、何度も書き換えるという機能はそれほど要求されていません。従って、バックアップ用としては圧倒的にCD-Rの方が選ばれます。

●DVD
 DVDはCDと違って両面に記録することができ、更に片面ごとに記録層を二層構造で持つことができます。ディスクの直径は12cmのものと、8cmのものがあります。派生規格が多くあり、このうちデータの書き込みに適した規格は、DVD-R、DVD-RW、DVD-RAM、DVD+R、DVD+RWです。DVD-RW、DVD-RAM、、DVD+RWは、削除や再フォーマット処理により繰り返し書き込みが可能ですが、価格は高いという問題があります。バックアップ用には繰り返し書き換えの機能は必要ありません。バックアップ用に利用されているのが単価の安いDVD-R(DVD Recordable Disc)、DVD+R(DVD plus R)です。

●Blu-Ray
 日立製作所などによって開発された光ディスクの規格です。青紫色レーザでデータを読み取りますので、この名前が与えられています。直径はCDやDVDと同じく8cmと12cmがあります。CDと同じく片面だけを使用します。記録層は複数持つことができます。この点はDVDと同様です。

※Blue-rayではなく「Blu-ray」です。Blue-rayにすると、「青色光で読み取るディスク」という一般名と解釈され、英語を公用語と国で商標登録できないのではないかと危惧されたためといわれています。

 データのバックアップ用としてはBD-R(Blu-ray Disc Recordable)とBD-RE(Blu-ray Disc Rewritable)があります。



■HDD
 HDD(ハードディスクドライブ)は厳密には記録メディアではなく、メディアと一体化した記録装置です。記録メディアの部分と、記録装置部分からなります。元々はコンピュータの補助記憶装置として使われており、大容量で高速にバックアップが取れるという利点を持っていますが、磁気や衝撃に弱いという欠点があります。

 バックアップメディアとして使う場合は、外付けHDDやリムーバブルHDDなどがあります。外付けHDDはUSB2.0やIEEE1394、SCSIなどのインターフェースでコンピュータと接続して使うHDDです。コンピュータに内蔵されたHDDや別の外付けHDDのバックアップ用として使われます。

 リムーバブル(着脱可能な)HDDは、磁気テープカートリッジの磁気テープを、HDDに置き換えたようなメディアです。カートリッジはLTOなどのカートリッジ(1/2インチ幅)とほぼ同じ大きさで、場所を取らないという利点があります。最近では数百GB級のRDXが主流です。RDXのカードリッジは、衝撃吸収材で保護された2.5型のHDDを内蔵し、1mの高さから落下させても壊れないという耐久性を持っています。

※HDDをLANなどで接続して使うNAS(Network Access Storage、ネットワークHDD)などもあります。容量は1TB、2TBなどが一般的です。HDDを複数搭載してミラーリングしたり、リモートアクセスができる機能を備えています。USBでつなぐタイプは1台のパソコンからしかアクセスできませんが、NASの場合は複数のパソコンからアクセスすることが可能ですので、複数のPCから、ファイルバックアップなどに使うことができます。
 NASはネットワークにつないで使いますので、内部にはCPUやOSを搭載しています。構造的にはパソコンとほとんど同じですが、HDDの部分に関しては、USBでつなぐ外付けのHDDとほとんど変わりません。



■メディアごとの得意不得意
 サーバや個人用のPCなどのHDDは最近大容量化していまので、光学ディスクではシステム全体をバックアップするのはかなり難しくなっています。ただ、光学ディスクは劣化が少なく、可搬性があり、ランダムアクセスも可能という利点があり、そのような特徴を生かした使い方が今後も続いていくと思われます。

 外付けのHDDやリムーバブルHDDは個人用のPC程度ならシステム全体のバックアップを取るだけの容量があります。また、ファイル単位でのリカバリーも最速です。また、ここ数年は価格が急速に低下していますので、個人やSOHOレベルのバックアップには向いています。

 企業レベルのバックアップには大容量が要求されます。長期保管や災害復旧への対応としては磁気テープが向いています。これに対して、高速バックアップ/リカバリーが必要な場合はHDDのストレージ装置が選択されます。



1.2 冗長構成

 システムや機器に障害が発生した場合にどのように対処するかについてはいろいろの考え方があります。この中に、フォルトトレラント(fault tolerant)とか、フォルトトレランス(fault tolerance)という考え方があります。フォルトトレランスのフォルト(fault)は「障害」で、トレランス(tolerance)は「耐性」です。障害が発生したときにどのように対処するかということです。この時の対処の方法には、障害が発生したら、停止させるのも1つの選択肢です。これをフェールセーフ(fail safe)といいます。このような場合でも、とりあえず被害の拡大を防ぎつつ(例えば問題の箇所を切り離すなど)、全体としては止めてしまうのではなく、機能を制限してでも、何とか動かし続けようという考え方もあります。このような考え方を、フェールソフト(fail soft)といいます。

 つまり、フォルトトレラントの具体的な方法としてフェールソフトとか、フェールセーフという方法があるよということです。しかし、違う考え方の人もいます。フェールソフトとか、フェールセーフなどと同一レベルの概念としてフォルトトレランスを捉えます。この場合、フォルトトレランスは障害が発生した場合に、機能や性能を制限することなく、動かし続けるための備えをするという意味になります。

 どのような損害を受けても正常に稼働し続けさせることは、物理的にもコスト的にも難しいことですし、損害の程度によっては、無理な場合もあります。このような場合にどうするのかについては予めリスクアセスメント行い決定しておく必要があります。これについては、リスクマネジメントを参照してください。

 何か障害があったときにも正常に稼働し続けるという仕掛けはアプリケーションなどでは容易に採用できます。インターネット通信におけるTCPなどもフォルトトレランスの考え方を採用しています。しかし、ハードウェアではなかなか大変です。ハードウェアレベルで、これらを考慮したのが二重化です。



1.2.1 デュアルシステム

 「デュアル」(dual)は「二重の」とか、「二元的な」とかいう意味です。職業訓練などで、座学と実習を程よく組み合わせるやり方などについても言うようですが(ドイツが発祥の様です)、情報システムでもよく使う言葉です。

 情報の世界でデュアルシステムとは、全く同じ構成で、機能も同じシステムを二重化し、互いの処理結果を照合しながら処理を行うシステムです。CPUやメモリ、補助記憶装、更に通信制御システムなどを単一の系統だけで構成することをシンプレックスシステム(simplex system)といいますが、デュアルシステムはシンプレックスを2系統持つ構成となります。ハードディスクのミラーリングであるRAID1と概念は似ています。

 どちらかのシステムに障害が発生しても、それを切り離して、残ったシステムだけで運用を続けることができます。また、処理結果は相互に照会されていますので非常に信頼性が高くなっています。



1.2.2 デュプレックスシステム

 デュプレックスシステムは主系と従系の2つの系統を用意します。主系は普段処理している方の系統です。従系は主系のトラブルに備えて待機し、障害が発生したら主系に取って代わって、処理を行います。

 従系は待機方法によってホットスタンバイとコールドスタンバイに分かれます。ホットスタンバイは電源が入って処理に必要なプログラムが起動している状態で、主系に障害が発生すればすぐに主系に取って代わることができます。これに対して、コールドスタンバイは電源がOFFだったり、あるいは電源がONでも別の処理に使われていて、障害発生時に稼働まで若干時間がかかります。



1.2.3 負荷分散システム

 サーバにアクセスが集中すると一時的にダウンしてしまうことがあります。このようなことがあると、そのサーバ(あるいはサイト)に対する信頼性が著しく損なわれてしまいます。これに対処するのが負荷分散システム



1.2.3.1 負荷分散方式

 負荷分散(load balancing)システムとしてよく利用される手法は、DNSラウンドロビン、プロキシ型、NAT型、DSR(Direct Server Return)、トンネル型などです。

■DNSラウンドロビン型
 DNSラウンドロビン型は、利用するサーバをDNSの仕組みを使って、順次切り替えていく方式です。DNSクライアントは、サービスを利用する前に、DNSサーバに問い合わせをしますが、この時にDNSサーバが順番に異なったIPアドレスを応答すれば、クライアントはその応答の通りにアクセスを行います。
 
 DNSサーバのゾーンファイルの設定だけ変えれば済みますので簡単に導入することができます。具体的には1つのホスト名(例えばabcd.example.com)でサービスを提供するサーバが4台あったとします。この4台のサーバのIPアドレスが、123.45.67.89、123.45.67.90、123.45.67.91、123.45.67.92だとすると、DNSサーバのゾーンファイルで、abcd.example.comという名前に対して、この4つのアドレスを対応させ、クライアントからのabcd.example.comに対する問い合わせに対して、順番に4つのアドレスをレスポンスとして返します。



■プロキシ型
 クライアントからのアクセスを一旦プロキシサーバで受信し、複数サーバから適切なサーバを選んで通信を行うことができます。この方式はプロキシが接続を中継するため、どのサーバでどの程度の処理が行われているか管理することができ、最も接続数が少ないサーバを選ぶことが可能です。この方式ではすべてのアクセスが一旦プロキシに集まりますので、プロキシがボトルネックになる可能性があります。



■NAT型
 サーバに対するリクエストに対して宛先アドレスを適切に変換して複数のサーバへ処理を分散させる方式です。一般的な負荷分散システムではこの方法が取られています。



■DSR
 一般的なロードバランシングの実装方式では、クライアントからのリクエストをロードバランサで受け、これを内部の複数のサーバに分散して引き渡し、これらのサーバからのレスポンスもロードバランサ経由でクライアントに戻します。これに対して、DSRではクライアントからのリクエストはロードバランサを経由しますが、レスポンスはロードバランサーを迂回して、直接クライアントに戻します。DSRでは戻りのパケットをロードバランサで処理する必要がありませんので、ロードバランサの負荷が減ります。



■IPトンネル型
 IPトンネルを利用して負荷分散を行う方法です。サーバに対するリクエストを、転送先サーバのIPヘッダでカプセル化することで、転送を行い、複数サーバへ処理を分散する方式です。この方式では、サービスを提供するサーバが別のネットワークにあっても実現が可能です。このため、この方式を使うと、ネットワーク上に広くサーバを配置することができます。



1.2.3.2 負荷分散ポリシー

 負荷分散のポリシーとしては、ラウンドロビン方式、ランダム型、送信元IPアドレス型、サーバ負荷連動型、重み付け型などがあります。

 ラウンドロビン方式は各サーバに順番に割り振ります。分散サーバの処理能力が異なる場合でも、そのことを配慮することはできません。

 ランダム型は乱数を使用しランダムにリクエストを割り振っていきます。

 送信元IPアドレス方式は、送信元のIPアドレスに従ってリクエストを割り振りますので、同じクライアントのリクエストはいつも同じサーバが処理することになります。この方式では、サーバの負荷にばらつきが発生する可能性があります。

 サーバ負荷連動方式は、処理能力に余裕のあるサーバへ割り振る方式です。この方式では、「処理中のリクエストの数」「CPUの利用率」「ロードアベレージ」などでサーバの負荷を判断します。

 重みづけ方式は、サーバの性能に従ってリクエストを割り振る頻度を調整する方式です。



2 RAID

 RAID(レイド、Redundant Array of Inexpensive Disks)は安価なドライブを組み合わせることで冗長性を持たせる仕組み(A Case for Redundant Array of Inexpensive Disks)のことを言います。元々は、カリフォルニア大学のバークレイ校において論文化されたものです(David A Patterson、Garth Gibson、Randy Katz)。

 RAIDでは、安価なHDDを複数組み合わせることで冗長性を高めるとともに、容量を増大させることができます。RAIDシステムが開発された当時はHDDが非常に高価でしたので、安価なHDDを複数組み合わせて1つのドライブとして使うことができれば経費の節約になりました。しかし、現在はHDDの値段も下がり、数TBのHDDが手ごろな値段で手に入り、価格よりも安定性が求められる時代になっています。そこで、inexpensiveではなくて、independentであるという意見の人も増えています。つまり、Redundant Array of Independent Disksの省略形がRAIDだというわけです。



2.1 RAIDの目的は何か?

 RAIDを利用する目的はいくつかあります。その第1が冗長性の確保です。複数のHDDを利用していて、そのうちのどれかが止まってもシステムとしては停止しない、ということが求められます。バックアップをしておけば済むではないかという考え方もあるでしょうが、バックアップの場合は復旧までに時間がかかります。今日のお昼時に停止して、復旧するのは明日の午前中というのでは間に合わないこともあります。例えば、今日の午後4時に会議があって、会議の資料がサーバに入っているという場合は、明日朝まで待てません。

 第2は容量の増大です。これまで、紙ベースで管理されていたデータが、最近はPC上で扱われるようになっています。また、組織の業務の適性を確保するための体制を構築していくという内部統制の流れもあります。内部統制のためには、いろいろのデータを残して保管しておかなくてはならなくなります。内部統制を求められるのは大企業ですが、それ以外の中小の企業でも社会的責任として、データの保管が求められてきます。容量が足りないなら、複数のHDDに分けて、分割保存すればいいのではないでしょうか。しかし、これでは、管理が面倒です。バックアップなどをする場合にも手間がかかります。RAIDを使うと、複数のHDDを1つのドライブにまとめることができますので、管理が簡単になります。また、データベースなどのように、分割できない1つの大きなファイルを扱う場合は、絶対的に1ドライブにまとめる必要があります。このような場合にはRAIDの導入が必須となります。

 冗長性と容量の確保がRAIDの主たる目的ですが、これ以外には処理速度の向上というものもあります。ただし、これを実現するためにはRAID0の導入が必要です。



2.2 RAIDの意味

 前の節でRAIDの目的について説明しましたが、どのようなRAIDでもこれを実現できるかというとそうとはいきません。実はRAIDには様々なレベルのものがありましてそれぞれ持っている機能が異なります。RAIDといってもRAID1~RAID6まであり、現在主としてRAID1とRAID5が利用されています。これ以外に利用されているのはRAID6でしょうか。それから、最初の論文には言及されていないRAID0もあります。RAID0は最初の論文に入っていないということで"0"レベルとなっているようです。Raid 0とRAID 1を組み合わせた、RAID 0+1も使われています。


レベル ディスクアレイのアーキテクチャ
1 ディスクミラーリング
2 ストライピング(ハミングコード)
3 ストライピング(パリティコード)
4 独立R/Wアクセス(パリティディスク固定)
5 独立R/Wアクセス(パリティディスク分散)
6 独立R/Wアクセス(パリティディスク分散、2台)


 ストライピングは、データを複数のHDDに分散して保存することです。1台のHDDにデータを書き込み、その処理をしているうちにもう一方のHDDに書込みを行います。処理を交互に行うため処理時間を削減することができます。この方式を採用しているのがRAID0です。

 ミラーリングとは、1台のHDDのデータを、別のHDDにコピーし、信頼性を向上させることです。

 パリティディスクとは、複数台のHDDのデータから計算されたパリティを作成し、そのパリティをもう一台のHDDに保存することです。



2.3 RAIDの導入時に気を付けるべきことは?

 RAIDではいったん削除したデータは復旧できません。RAID1はディスクミラーリングを実行しますので、削除したデータを復旧できると勘違いする人がいるかもしれませんが、RAID1の場合には、書込み動作も、削除動作も複数のHDDでほぼ同時に実行します。従って、一旦削除したらどちらにもデータは残っていないということになります。

 機械の数が増加すると、「故障の機会」もそれだけ増加します。例えば、RAID0はHDDが1台故障しただけでシステムが停止します。1台のみでの運用よりも故障のリスクが高くなるということになります。

 RAIDの特徴は冗長性ですが、それぞれのレベルのRAID毎に保証の範囲があります。例えば、RAID5は1台故障しても大丈夫ですが、2台故障したら対処できません。2台故障した場合に備えるにはRAID6が必要となります。

 RAIDは使用するHDDの品質にも依存します。RAIDでは同じメーカーの同じ型番のHDDを使用することが推奨されています。複数のHDDのセクタ数やディスク回転速度、転送速度などが合わないと効率が低下しますが、同じメーカーの同じ型番の製品ならそれが合うからです。しかし、同じメーカーの同じ型番の場合は、ロットに問題があるときは、同時期に複数のHDDが故障する可能性が極めて高くなります。

※ロットとは、同じ条件の下で生産される製品の数量、出荷数量の最小単位を指します。

 RAIDは誤って消去したデータを元に戻すことはできませんし、各RAIDの保証する冗長性を越えて保証されるわけでもありませんし、停電等の電源トラブルにも対応できません。従って、バックアップシステムとUPS(Uninterruptible Power Supply、無停電電源装置)の導入は必須となります。



2.4 RAIDのレベル

2.4.1 RAID 0

 RAID0はストライピングとも呼ばれています。データをブロック単位に分割して、複数のHDDに分散して配置します。1つのHDDにデータの書き込み処理をしている際に、HDDが1台なら、処理が終わるまで待っていなくてならないのですが、RAID0では、複数のHDDを用意し、1つのHDDに書き込み処理をしている間、さらに別のHDDにも書き込み処理をするという方法を取ります。これによって書込み/読み込みの処理が改善されますが、冗長性は持ちませんので、1つのHDDが故障したら、全部のデータが失われてしまいます。

 RAID0を利用する場合には、OS用のドライブだけRAID0で構成したり、ミラーリング等の冗長性が確保されたRAIDとの組み合わせで運用する(RAID 0+1)などの方法が考えられます。

RAID 0



2.4.2 RAID 1

 RAID1はミラーリングとも呼ばれます。同じデータを2つのHDDに書き込むことで、片方のHDDに障害が起きた場合にも対処ができます。ただし、2倍のディスク容量が必要となりますので、コストパフォーマンスが低下します。

RAID 1



2.4.3 RAID 0+1

 RAID0の高速性と、RAID1の冗長性を組み合わせた方式です。データをブロック単位に分割して、複数HDDに分散して書き込む(ストライピング)と共に、更にそれをコピーして(ミラーリング)、別のHDDに書き込みます。容量コストはRAID1と同様に倍となります。

RAID 0+1



2.4.4 RAID 3

 RAID3はデータをバイト単位で分割して、ストライピングします。RAID3ではエラー訂正コード(パリティコード)を付加することでエラー訂正/データ復旧を可能にしています。パリティコードはパリティディスクに書き込みます。大サイズのデータ転送(イメージデータ、科学技術計算)に効果的ですが、小サイズのデータ転送では、データに比較してトランザクション処理が多くなりすぎて向いていません。現在ほとんど利用されていません。

RAID 3



2.4.5 RAID 4

 RAID4はRAID3のデータ処理単位をブロック単位にしたものです。現在ほとんど利用されていません。

RAID 4



 

2.4.6 RAID 5

 RAID4では、パリティディスクを固定していたためパリティディスクへの書き込みがボトルネックとなり、書き込みスピードが上がらないという問題があったのですが、RAID5では、パリティディスクをブロック単位でシフトすることで、パリティディスクへのアクセス集中を防いでいます。書き込み時にも並列処理が可能となりました。これによって、信頼性、可用性がともにアップしています。

RAID 5



2.4.7 RAID 6

 RAID6はRAID5と同様にパリティディスクを固定しない方法(パリティディスクの分散)を採用していますが、RAID5が2台以上同時に故障するとデータの回復ができないという問題を解消するために、パリティディスク(分散)を2台に増やしています。これによって、RAID5よりも信頼性、可用性がさらに向上しています。

RAID 6



広告

ネットワーク超入門講座 セキュリティ編【電子書籍】[ 久米原 栄 ]

価格:2,268円
(2017/10/17 08:12時点)
感想(0件)






更新記録
2017/9/30          作成

























 ページの先頭