2020年09月18日
兵ちゃん
今回は資料として使いやすい様に冊子を作成し公開する事にしました。印刷し易いpdf版と内容を修正や追記等ができる編集可能な文章ファイルとしてOpenDocument txt形式のファイルを用意しました。OpenDocument txt形式のファイルは兵ちゃんの研究室で使われている標準文章ファイルになりホームページで使われているhtmlファイルにしやすいのとマイクロソフト依存を減らしたいので使っています。編集可能なソフトとしては勿論、マイクロソフトのWard、LibreOffice等の様々なソフトで編集する事ができます。 今回は問題として思ったのは良い資料を見つけても内容が古くてそのままでは使えないという事です。それを改善するにはどうしたら良いか考えた結果、時の流れによって規格等が変わってしまうので内容を修正し追記等もできる編集可能なファイルを公開するところに落ち着きました。そうすれば内容が古くなってしまっても自分で最新の状態に更新して使う事ができます。長く参考資料として使えれば幸いです。 |
pdf版 |
OpenDocument txt形式 |
RAIDの導入について
パソコンを長年使っているとファイルが増えてハードディスクの増設等の保存先を考えなくてはなりません。ファイルを保存して使う事を前提とした物で信頼性を高めた物で複数のハードディスクを使う方法としてパソコン(コンピュータ)ではRAID(レイド)(Redundant Array of Independent Disks)(リダンダント・アレイ・オブ・インエクスペンシブ・ディスクズ)と言う物が有ります。そこでRAIDの導入について紹介したいと思います。
1.RAIDとは
RAIDとは1987年に、カリフォルニア大学バークレイ校においてデイビッド・A・パターソン、ガースギブソン、ランディカッツの3名により生み出し提唱し論文化しました。論文のタイトルは「A Case for Redundant Arrays of Inexpensive Disks(RAID)(安価なディスクドライブで冗長性を高める仕組み)」になります。現在に至るまでこの論文を元にRAIDが考えられ製品化されています。RAIDを簡単に言うと安価なハードディスクを複数組み合わせて冗長性があり大容量なストレージを実現しようという取り組みでありその技術になります。データを複数のハードディスクに分散することで、性能と耐障害性を同時に確保します。冗長性とはハードディスクを単体で使うよりも信頼性を持たせる事を指します。普及の要因としてはファイル等のデジタルデータの重要性が高まった事や一般ユーザー(個人)にとってもパソコン等の故障時に失われるデータ(ファイル)を無視できなくなったため等の理由が有ります。
2.RAIDの注意点
RAIDの注意点として最も誤解のある事はRAIDとはハードディスクの可用性を高める技術であって使用しているユーザーの誤消去等の人為的な物やコンピュータウイルスによるファイルの破壊、ファイルの不整合等のソフトウェア的な障害には対応していません。またRAIDはバックアップ用途では使いません。バックアップとはデータを静的状態で一定間、複数世代にわたって保存する物や保存する事でテープドライブ等の役目になります。RAIDの用途では役割が異なります。従ってRAIDとバックアップと組み合わせて使って運用してデータ(ファイル)を守ります。データを守るためにはRAIDと共にテープドライブ等のバックアップを取る装置の導入する事で完璧になります。
3.ハードウェアRAIDとソフトウェアRAID
RAIDにはRAIDコントローラを使ったハードウェアで実現したハードウェアRAIDとOSの機能やソフトウェアで実現したソフトウェアRAIDが有ります。またソフトウェアRAIDにはWindows10やWindows Server等のOSでも機能として標準でRAIDを作れる機能を持っています。さらに中間的な存在も有ります。またハードウェアRAIDにはとRAID コントローラの機能を持ち拡張スロットへ接続するオプションカードタイプ(拡張カード)とRAID 機能を提供するチップをマザーボード上に直接実装するオンボードタイプがあります。これらのハードウェアを使ったハードウェアRAIDはインテリジェントタイプと言われています。またソフトウェアRAIDはノンインテリジェントタイプと言われています。
|
ハードウェアRAID(インテリジェントタイプ) |
ソフトウェアRAID(ノンインテリジェントタイプ) |
実現方法 |
専用のコントローラが処理します。 |
CPUが処理します。 |
メリット |
CPUがRAIDの管理を行わないためCPUに負荷がかかりません。OSからは単体のHDDに見えます。OSが不安定になってもRAIDに影響を与えません。パソコン(コンピュータ)のCPU資源を使わないため速度性能が向上する事が期待できます。またRAID のシステム構成、およびログ情報を記憶する専門のハードウェア機能を有しています。これにより障害発生時からの復旧や障害発生原因の解析を行う事ができます。 |
専用コントローラが不要なため安価に実現が可能です。 |
デメリット |
専用ハードウェア(RAIDコントローラ)が必要なためRAID装置としての全体の値段が高くなります。 |
CPUへ負荷が高まり同時アクセスによっては装置全体の処理が遅くなることがあります。また、OSが不安定になるとRAID管理に影響を及ぼす可能性があります。RAID のシステム構成、およびログ情報を記憶する専門のハードウェアを有していません。RAID のシステム構成やログ情報を記憶する専門のハードウェアを有していません。RAID のシステム構成は全てハードディスクドライブに記憶しています。そのため、ハードディスクドライブの故障(Dead)により、RAID システムの再構築に影響を及ぼす可能性があります。 |
4.物理デバイスのインターフェース
RAIDを構成する記憶装置としての物理デバイスの種類にはハードディスクドライブ(HDD)とソリッドステートドライブ(SSD)があります。HDD は磁性体が塗布されたアルミ合金やガラスの円盤(磁気ディスク)を複数枚かさね磁気的にデータを入出力する記憶装置でSSD は不揮発性のフラッシュメモリを用いた記憶装置です。これらをパソコン(コンピュータ)や RAID コントローラと接続するインターフェース規格として、SCSI(Small Computer System Interface)規格、SAS(Serial Attached SCSI)規格、IDE(Integrated Drive Electronics)規格そして SATA(Serial ATA)規格があります。現在は流通している物ではSAS(Serial Attached SCSI)規格とSATA(Serial ATA)規格になります。
(1)SASとSATAの比較
特徴 |
SAS 3.0 |
SATA 3.0(SATAV) |
Scalability (拡張性) |
1対1接続のため電気特性が高い。(ノイズに強い) |
|
1ch につき最大 1 台まで接続可能SAS エキスパンダを利用することで、1ch に複数台接続可能 |
1ch につき最大 1 台まで接続可能 |
|
Performance (能力) |
1ch あたり最大転送速度 12Gbps |
1ch あたり最大転送速度 6Gbps |
回転数 10,000〜15,000rpm |
回転数 5,400〜7,200rpm |
|
複数同時処理能力が高い(コマンドキューイング機能あり) |
複数同時処理能力が高い(コマンドキューイング機能がある製品に限り) |
|
Reliability (信頼性) |
リアサイン機能等の異常時のリカバリ処理能力が高く、エラー発生時のステータス情報が豊富。 |
リカバリ処理能力が低く、エラー発生時のステータス情報が乏しい。 |
メディア記録密度が低い分、塵等の影響に強くHead マージンも高くなるためエラーが少ない。 |
||
Maintainability (保守性) |
HotPlug 可能な標準インターフェースを HDD に持つためシステム稼動中にHDD 交換が可能。 |
|
Cost (費用) |
メディア記録密度が低く、GB あたりの単価がSATA に比べ高価である。 |
GB あたりの単価が SAS と比べ安価である。 |
メディア記録密度が高く、コストパフォーマンスに優れている。 |
(2)SASとSATAの奨励用途
物理デバイスのインターフェース |
奨励用途 |
主な理由 |
SAS |
データベースサーバなどの ハイエンド環境 |
パケット転送やディスコネクト機能等の多数台接続、大容量転送に有利な機能を有す。 |
高い性能、信頼性そしてスケーラビリティを有する |
||
SATA |
ワークグループサーバなどのSOHO 環境 |
ハードディスクドライブを単体構成で運用し、ファイルサイズ(転送データ長)が小さい場合、コマンドのオーバヘッドがないため、性能差が生じない。 |
価格メリットを活かし用途に応じサーバを使い分けるシステム展開が可能である。 |
(3)SASとSATAの使われ方
実際の使われ方はRAIDコントローラとしてはSASの物が優秀でSASにSATAの安価で大容量のハードディスクが接続できるためSASのRAIDコントローラにSATAのハードディスクを接続する事で安価にRAIDを構成する事ができます。その場合の速度はSAS3.0の場合は12GbpsでSASハードディスクを接続するとそのままの速度で使えますがSATAのハードディスクを接続すると1/2の速度で半分の速度の6Gbpsの速度になります。ちょうどSATA3.0の速度になります。このようにRAIDを構成するにはSASとSATAの両方のインターフェースの規格のハードウェアを使って比較的安価で高性能なRAIDを作る事ができます。
RAIDに使われるコントローラには物理デバイスのインターフェースで出てきたSAS(Serial Attached SCSI)規格やSATA(Serial ATA)規格を使った物が有ります。一番身近なコントローラとしてはマザーボード上に付いているSATAコントローラが有ります。マザーボードのSATAコネクターに同容量のハードディスクやSSDを接続してOSの機能を使えばRAIDレベルで使える物が少ないですがソフトウェアRAIDができます。ハードディスクの数が増えればSATAカードをパソコンに取付けて同じようにソフトウェアRAIDを使う事ができます。さらにハードディスクが増えればSAS(Serial Attached SCSI)でNon-RAIDのHBA:Host Bus Adapter( ホストバスアダ)にSATAハードディスクを接続してソフトウェアRAIDを構成する事ができます。ソフトウェアRAIDならマザーボードのSATAコントローラに接続したハードディスクとHBAに接続したSATAハードディスクを合わせて使う事ができて合わせてソフトウェアRAIDを構成する事もできます。さらにRAID化を推し進めてRAIDを構成するとなるとSAS規格やSATA規格で作られた専用のRAIDコントローラを搭載したRAIDカードを導入する事になります。専用のRAIDコントローラ(DAC:Disk Array Controller)はハードウェアRAIDになります。RAIDの処理をRAIDコントローラで処理します。一般的にSAS規格で作られたRAIDコントローラが一般的に使われています。SAS規格で作られたRAIDコントローラはRAIDレベルの対応も良くRAIDと言えばSAS規格で作られたRAIDコントローラを搭載した拡張カードになります。またSAS規格のRAIDコントローラにはSATAハードディスクを接続する事ができるので組み合わせて使われています。実際にRAIDカードをいくつか購入して判った事なのですが・・・準備したパソコン(コンピュータ)の環境で動かない事が有ります。マザーボードとの相性だったりOSやドライバーとの相性だったりと色々と原因が考えられます。チェック用のプログラムも無く実際に取付けてOSで認識させて正常に認識されるか試してみないとわかりません。当たり外れが有り動かない事も有るという事を覚えておいて下さい。
6.キャッシュ機能
RAIDコントローラ上に搭載されたキャッシュメモリでRAIDコントローラが物理デバイス(ハードディスク)への読み書きを行う際のデータバッファとして利用します。また、パリティ生成処理を行う際のワーク領域として利用します。
ライトスルー(Write Through) |
OSなどのソフトウェアから書き込み要求がきた場合に、RAIDコントローラ上のキャッシュメモリと物理デバイスの両方に書き込みを行う方式。ソフトウェアは、物理デバイスへの書き込み処理が終了するのを待ってから次の処理に移るため、一般的にWrite Backよりアクセス性能は劣ります。しかし、ソフトウェアからの書き込み要求が即時に物理デバイスに反映されるため、電源瞬断などの不慮の事故が発生してもデータを損失する危険性が少ないという利点があります。 |
ライトバック(Write Back) |
OS などのソフトウェアから書き込み要求がきた場合に、RAID コントローラ上のキャッシュメモリへのみ書き込みを行い、物理デバイスへの書き込みはキャッシュメモリ上のデータを元に RAID コントローラが非同期に行う方式。キャッシュメモリにデータが書き込まれた時点でソフトウェア側に完了通知が発行されるため、物理デバイスへの書き込み処理が完了するのを待たずにソフトウェア側は次の処理を継続することができます。一般的に Write Through よりアクセス性能が向上しますが、電源瞬断などの不慮の事故が発生した際にキャッシュメモリの内容が物理デバイス上に反映されない場合があり、データ損失の危険性があります。 |
7.ディスクアレイ(パック)
ディスクアレイ(パック)とはRAIDを構成するための複数の物理デバイス(ハードデイスク)のグループを言いRAIDで作られた論理ドライブを設定するための基礎となります。設定可能なディスクアレイ数は、RAIDコントローラやディスク増設ユニットに搭載した物理デバイスの台数、ディスクアレイの種類(RAID レベル)、および RAID コントローラの最大作成可能ディスクアレイ数により異なります。ディスクアレイ(パック)の構成ルールとしては以下のルールに従って構成します。ただし実際はRAIDコントローラの対応によります。RAIDコントローラ次第です。
1 |
同―型番の物理デバイスでのみ、ディスクアレイを組むことが可能です。 |
2 |
同一RAIDコントローラ配下の物理デバイスを使用して、(RAID レベルを問わず)複数のディスクアレイを組むことが可能です。 |
3 |
同一 RAID コントローラ配下の物理デバイスを使用して、複数のディスクアレイを組むことが可能です。 |
4 |
複数のRAIDコントローラを搭載したパソコン(コンピュータ)にてRAID コントローラをまたいだ物理デバイスを使用して、ディスクアレイを組むことはできません。 |
5 |
サーバの運用を停めずに、物理デバイス追加によるディスクアレイ容量の拡張が可能です(Add Capacity 機能)。 |
8.RAIDの種類(RAIDレベル)
RAIDにはデータの記録方法によりRAID 0からRAID 6まで7種類が定義されています。それぞれ高速性や耐障害性が異なり末尾の数字が大きいほど新しいとか優れているというわけではありません。またRAIDレベルを組み合わせてRAID 0とRAID 1を組み合わせたRAID 01(RAID 0+1)およびRAID 10(RAID 1+0)、RAID 5とRAID 0を組み合わせたRAID 50(RAID 5+0)なども有ります。また冗長性を持たせてディスク容量を有効に利用するという点ではRAID6はRAID5に劣るがデータを失いにくいことから現在はRAID6が主流となってきています。また以前から普及していたRAID5のシステムに多少の追加実装を行なえばRAID6を実現できるそうです。従ってこれからのRAIDは、RAID1かRAID6の二者択一になると考えられていてRAID5は廃れていくと見られています。
RAID0 (Redundant Arrays of Inexpensive Disks 0)(ストライピング) (striping) |
||
複数台の物理デバイスを単一ドライブに見立てアクセスを分散する事で高速化、大容量化を実現します。本来RAIDのRはRedundantつまり冗長化を意味しますがRAID0は単なるストライピングであり冗長性はゼロです。ハードディスクドライブのどれか一つでも壊れたらデータは消滅します。したがって、冗長性がないRAID0をRAIDと呼ぶことは矛盾しています。またRAID0は他のRAIDレベルと組み合わせて信頼性と速度を同時に向上させるために用いられています。例えばRAID10、RAID50、RAID60等、その際、複数台のドライブ用意して複数のドライブセット間とドライブ間でそれぞれ異なるRAIDレベルを適用します。 |
||
|
冗長性 |
無し |
特徴 |
全物理デバイス容量をデータディスクとして使用可能 |
|
RAID レベルの中で最も高速 |
||
冗長構造ではないため物理デバイスが故障(Dead)するとデータをロストしてしまう |
||
使用に適した AP |
クリティカルでないデータに対して高い性能を必要とする AP |
|
ドライブ数 |
2 台以上 |
RAID1(Redundant Arrays of Inexpensive Disks 1) (ミラーリング)(mirroring) |
||
2 台 1 組の物理デバイスに対し常に同じデータを格納する事でデータを二重化し高信頼性を実現します。 |
||
|
冗長性 |
有り |
特徴 |
1 台の物理デバイス が故障(Dead)しても、もう片方の複製物理デバイスより復旧をおこなう |
|
2 台の物理デバイスのみで冗長性のある RAID システムを構築できるため、必要な総コストは最も低くなる |
||
書き込み性能は理論値で単一物理デバイスへの書き込みと比べ1/2 になる |
||
データを書き込める容量は物理デバイスの総容量の 1/2 になる。 |
||
使用に適した AP |
論理ドライブ、重要なファイルを格納するドライブ |
|
ドライブ数 |
2 台 |
RAID5(Redundant Arrays of Inexpensive Disks 5) (パリティ(分散)付きストライピング(ブロック)) |
||
複数台の物理デバイスを単一ドライブに見立てアクセスを分散します。また保存するデータのパリティを生成し各物理デバイス(ハードディスク)に保存します。これにより高速化、大容量化および高信頼性を実現します。RAID6が登場するまでは、RAIDとして市場に出ている製品では最も一般的でした。問題点としては構成する物理ディスク(ハードディスク)は3台中1台まで故障してもデータは保持されますが故障の復旧中はパリティの再生成のため残った物理ディスク(ハードディスク)がフル稼動します。その負担は非常に大きいもので物理ディスク(ハードディスク)を交換してRAIDを復旧する際に別のハードディスクが故障するという事例が続出しました。この現象の発生する確率は低いようなのですが同一ロットのハードディスクを同じ時間使用すれば故障する確率が同じになりハードディスクが1台故障したら他のハードディスクも故障する時期に来ていると言う事になります。RAID5ではまだ壊れていなかったハードディスクに負荷をかける事によってとどめを刺すような形で他のハードディスクが故障してしまう事が有ります。近年はその問題が起こりにくいように改良した更に負荷がかかりにくいRAID6を採用する例が増えています。 |
||
|
冗長性 |
有り |
特徴 |
1台の物理デバイス が故障(Dead)してもデータを保護することができる |
|
大きなファイルのシーケンシャル読み出しが高速である |
||
データ以外にパリティを物理デバイスに格納するため物理デバイス総容量の 66%〜93%がデータを格納できる領域となる。※RAIDコントローラによっては固定 |
||
パリティを生成する時間がかかるため、書き込み性能は高くない |
||
使用に適した AP |
重要なデータを大量に扱い、リード性能が要求される AP |
|
ドライブ数 |
3 台以上 |
RAID6 (二重化パリティ(分散)付きストライピング(ブロック)) |
||
RAID5を発展させパリティを2倍にした物です。複数台の物理デバイスを単一ドライブに見立てアクセスを分散します。また、保存するデータのパリティを生成し各物理デバイスに二重化して保存します。これにより高速化、大容量化および高信頼性を実現します。また確率は低いがRAID5の復旧時に他の故障していないハードディスクがさらに故障する問題を解決しているため今後普及していきます。 |
||
|
冗長性 |
有り |
特徴 |
2 台の物理デバイス が故障(Dead)してもデータを保護することができる |
|
大きなファイルのシーケンシャル読み出しが高速である |
||
データ以外にパリティを物理デバイスに格納するため物理デバイス総容量の 33.3%〜75%がデータを格納できる領域となる。※RAIDコントローラによっては固定 |
||
パリティを生成する時間がかかるため、書き込み性能は高くない |
||
使用に適した AP |
重要なデータを大量に扱い、リード性能が要求される AP |
|
ドライブ数 |
3 台以上 |
RAID01(Redundant Arrays of Inexpensive Disks 01)又はRAID0+1(組み合わせ) |
||
RAID0でストライピングされた構成をRAID1により冗長性を高めたもの。 |
||
|
冗長性 |
有り |
特徴 |
1〜2 台の物理デバイスが故障(Dead)してもデータを保護することができる(物理デバイス 2 台故障(Dead)の場合は組み合わせによる) |
|
書き込み性能は RAID1 を多少上回る |
||
データを書き込める容量は物理デバイスの総容量の 1/2 になる。 |
||
使用に適した AP |
論理ドライブ、重要なファイルを格納するドライブ |
|
ドライブ数 |
4 台 |
RAID10(Redundant Arrays of Inexpensive Disks 10)又はRAID1+0(組み合わせ) |
||
RAID1により冗長性を高め、それをストライピングする構成。 |
||
|
冗長性 |
有り |
特徴 |
1〜2 台の物理デバイスが故障(Dead)してもデータを保護することができる(物理デバイス 2 台故障(Dead)の場合は組み合わせによる) |
|
書き込み性能は RAID1 を多少上回る |
||
データを書き込める容量は物理デバイスの総容量の 1/2 になる。 |
||
使用に適したAP |
論理ドライブ、重要なファイルを格納するドライブ |
|
ドライブ数 |
4 台 |
RAID50(Redundant Arrays of Inexpensive Disks 50)又はRAID5+0(組み合わせ) |
||
RAID5により冗長性を高め、それをストライピングする構成。RAID5の信頼性に問題があると指摘されてからは、あまり行なうべきではない構成とされています。 |
||
|
冗長性 |
有り |
特徴 |
1〜2 台の物理デバイスが故障(Dead)してもデータを保護することができる(物理デバイス 2 台故障(Dead)の場合は組み合わせによる) |
|
書き込み性能は RAID5 を多少上回る。大きなファイルのシーケンシャル読み出しが高速である。 |
||
データ以外にパリティを物理デバイスに格納するため物理デバイス総容量の 66%〜93%がデータを格納できる領域となる。※RAIDコントローラによっては固定 |
||
使用に適した AP |
重要なデータを大量に扱い、リード性能が要求される AP |
|
物理デバイス数 |
6 台以上 |
RAID60(Redundant Arrays of Inexpensive Disks 60)又はRAID6+0(組み合わせ) |
||
RAID6により冗長性を高め、それをストライピングする構成。最小構成台数が多いため、特に容量が必要とされ、なおかつ信頼性が必要とされる場合に利用される。 |
||
|
冗長性 |
有り |
特徴 |
2〜4 台の物理デバイスが故障(Dead)してもデータを保護することができる(物理デバイス 4 台故障(Dead)の場合は組み合わせによる) |
|
大きなファイルのシーケンシャル読み出しが高速である |
||
データ以外にパリティを物理デバイスに格納するため物理デバイス総容量の 33.3%〜75%がデータを格納できる領域となる |
||
パリティを生成する時間がかかるため、書き込み性能は高くない。※RAIDコントローラによっては固定 |
||
使用に適した AP |
重要なデータを大量に扱い、リード性能が要求される AP |
|
物理デバイス数 |
6 台以上 |
参考 JBOD(Just a Bunch of Disks)(spanning:スパニング)非RAID設計 |
||
RAIDでは無いが複数のストレージを束ねて一台として運用する手法にはJBOD(Just a Bunch of Disks)あるいはスパニング(spanning)と呼ばれる手法が有ります。これは領域を前後に連結して大きな連続した領域として用いるイメージで、RAID 0のように装置間で並列分散して同時にデータを記録するわけではありません。使用できる容量が台数分だけ向上する点は同じですがJBODでは読み書き時に一度に一台の装置のみを用いるため速度向上は期待できません。ただしRAID 0のようにデータが細かく分割、分散されないためいずれか一台が故障しても他の装置に残されたデータは無事である確率は高くなります。またRAIDコントローラによっては他のRAIDレベルを選択する様にJBODを選択できる物も有ります。 |
||
|
冗長性 |
無し |
特徴 |
容量の違うハードディスク(物理デバイス)を使用し全ての合計容量を使用できる。 |
|
パリティを作らない。 |
||
物理デバイス(ハードディスク)の持っている読書速度 |
||
故障した物理デバイスに記録されたデータのみ消失し他は残っている可能性が高い。 |
||
使用に適した AP |
クリティカルでないデータの AP |
|
物理デバイス数 |
2 台以上(容量が異なっても可) |
9.実際のRAIDレベルの設定
実際のRAIDレベルの設定はRAIDコントローラによります。RAIDコントローラによって使えるRAIDレベルが異なります。RAIDレベルによってはファイルを保存するための使用可能な容量が固定されている物もあるようです。冗長性、信頼性、記憶容量等を考慮してRAIDレベルの設定を行ないます。従ってRAIDコントローラによって使えるRAIDレベルが違うのでよく調べてからRAIDコントローラカードを購入して準備する必要も有ります。
10.物理デバイスと論理ドライブ
RAIDを構成する物理デバイス(PD:Physicl Drive)とはハードディスクの事でSASの用語で言うとターゲットとなります。論理ドライブとは物理デバイスを複数使い一つのドライブを作った仮想のドライブの事を言います。また論理ドライブはRAIDコントローラのメーカー毎呼び方が違います。LSI系では論理ドライブはVB(Virtual Drive)と言いますが同じRAIDコントローラの取説内でも複数の用語で記載されていてよく読まないと解りにくくなっています。
論理ドライブ名称 |
会社名等 |
System Drive |
Mylex |
Logical Drive |
Adaptec、LSI |
Virtual Disk |
LSI、Intel |
Disk Array(Array) |
|
物理デバイス |
11.初期化機能
RAIDを構成するには初期化を行わなければなりません。初期化機能とは論理ドライブを構築している物理デバイスに対し初期化処理を行う機能です。RAID コントローラは複数の物理デバイスを論理的に結合することで論理ドライブを構築することができます。しかし論理ドライブを構築している物理デバイスのすべてが新品であるなどの場合は良いのですが再利用した物理デバイス(ハードディスク)内のデータが消去されているとは限りません。そのため初期化機能を使用して論理ドライブを構築している物理デバイスに対し初期化処理を行います。初期化はノーマルイニシャライズ(NI)、ファストイニシャライズ(FI)、バックグラウンドイニシャライズ(BGI)の 3 種類が有ります。
ノーマルイニシャライズ(NI) |
|
「Fast Initialization = OFF」、「Slow Initialization」、「Full Initialization」、「Clear」等の用語が使われています。 |
|
|
ノーマルイニシャライズは論理ドライブを構築している物理デバイスの全領域に対し、0 データを書き込みます。物理デバイス内の情報は全て 0 クリアされるため、物理デバイス内にもともと保存されていた無効なデータを全て削除することができます。オール 0 データが記録されるため、パリティ情報の整合性も整った状態になります。 |
ファストイニシャライズ(FI) |
|
「Fast Initialization = ON」、「Initialization」、「Fast init = ON」、「Quick Initialization」、「Quick Init」等の用語が使われています。 |
|
|
ファストイニシャライズは論理ドライブを構築している物理デバイスの先頭部分のみに 0 データを書き込みます。OS のインストール情報や、パーティション情報をクリアすることができます。ノーマルイニシャライズより早く終了するため、次の作業へすぐに移行することができます。ただし、未初期化領域が発生するため論理ドライブ全領域の整合性は整っていません。 |
バックグラウンドイニシャライズ(BGI) |
|
「BGI」、「Init Mode = Full」、「Build」等の用語が使われています。 |
|
|
デファストイニシャライズを実行した場合、および、ノーマルイニシャライズを中断した場合、初期化を実行していない場合、論理ドライブには未初期化領域が存在する事になります。この未初期化領域に対し、バックグラウンドでパリティ合わせを行う機能がバックグラウンドイニシャライズです。 |
12.リビルド機能
RAIDを構築してもハードディスクが故障する事が有ります。リビルド機能とは論理ドライブを構築している物理デバイス(ハードディスク)が故障(Dead)した場合に障害が発生した物理デバイスを正常な物理デバイスと交換することで元の正常な論理ドライブを再構築する機能の事を言います。リビルドは手動でリビルド機能を実行するマニュアルリビルドとRAID コントローラが自動的にリビルド機能を実行するオートリビルドがあります。
マニュアルリビルド |
障害が発生した物理デバイスを正常な物理デバイスに交換した後、各 RAID コントローラのユーティリティを操作することでリビルド機能が実行されます。 |
|
オートリビルド |
ホットスペア(スタンバイ)リビルド |
冗長性のあるRAID システムにて、ホットスペアをあらかじめ RAID システムに組み込み、物理デバイスの障害発生時に自動的にホットスペアを用いて実行されるリビルドをホットスペア(スタンバイ)リビルドといいます。 |
ホットスワップリビルド |
冗長性のある RAID システムにて、システム稼動中でも電源を落とすことなく、障害が発生した物理デバイスを交換する、この機能をホットスワップと呼びます。そしてホットスワップにて交換された物理デバイスに対して自動的に実行されるリビルドをホットスワップリビルドといいます。 |
13.整合性チェック機能
RAIDで構築したドライブをチェックする機能で整合性チェックと言う物が有ります。整合性チェックとは冗長性のある論理ドライブにおいて複数の物理デバイス(ハードディスク)に分散して格納しているデータやパリティの整合性を検査することです。RAID1 ではミラーリングを行っている双方の物理デバイスを比較します(データの不一致を検出した場合はあらかじめ決められた物理デバイス上のデータを他方の物理デバイスに上書きすることでデータの整合性を整えることができます)。RAID5、および、RAID6 ではデータからパリティを計算し格納済みのパリティと比較します(このパリティの不一致を検出した場合はパリティの再生成をおこなうことでデータの整合性を整えることができます)。なお定期的に整合性チェックをおこなうことで次のような効果が期待できます。整合性チェックにはユーティリテイソフトを使って行われます。
データ復旧時の障害を未然に防ぐ |
整合性チェックを定期的におこなうことで、全領域のリードエラーを訂正します。複数台エラーの場合はデータを復旧することができません。したがって、縮退状態が発生した際にリードエラーが発生する領域が存在しないようにする事は大切です。 |
データの書き込まれていない領域をチェックする |
整合性チェックは論理ドライブを構成する物理デバイスの全ての領域に対しおこなわれます。データの格納されていない領域に対してはリードチェックをおこない、その領域が正常であるかどうかをチェックします。これにより物理デバイスの異常を早期に発見することができます。 |
物理デバイスの機械的なコンディションを整える |
物理デバイスの全ての領域にチェックをおこなうことにより物理デバイスの磁気ヘッドを適度に動かすことにつながります。機械的な部分が大部分を占める物理デバイスにとって、内部の機械を定期的に動かすことは非常に大切なことです。 |
14.Configuration 情報とは
Configuration 情報とはRAIDカードにおいてRAIDの構成がRAIDのレベルは何で構成されたかの情報の事です。万一RAID コントローラが故障した場合はRAID コントローラを交換した後に保存していた Configuration 情報をロードすることによりRAID コントローラへ Configuration 情報をリストアさせてRAIDアレイ(論理ドライブ)をリビルド(作り直す)する事無くRAIDコントローラを交換する事で引き続きRAIDを使う事ができます。Configuration 情報保存する機能としては外部媒体への Configuration 情報を別の記憶媒体へバックアップする物やRAIDコントローラに接続しているハードディスクに保存するConfiguration On Disk (COD)機能という物が有ります。最近のRAIDコントローラはConfiguration On Disk (COD)機能が一般的なようです。
外部媒体への Configuration 情報のバックアップ |
Configuration 情報を外部媒体(FD など)へ保存します。バックアップ方式については各 RAID コントローラによって異なるため、ユーザーズガイドを参照して RAID システム構築時に必ず行ってください。 |
Configuration On Disk (COD)機能 |
RAID コントローラの Configuration 情報を物理デバイス(ハードディスク)内部に記録する機能です。RAID コントローラ交換時に物理デバイス内に格納している Configuration 情報をロードすることでRAID システムを再構築することができます。 |
15.RAIDの寿命
RAIDにはRAIDレベルにもよりますが構成している物理デバイス(ハードディスク)が故障しても交換する事で使い続ける機能等があります。RAIDを構成する要件では同一物理デバイス(ハードディスク)を複数台使って構成します。同じ容量、同じ型番で準備します。同じロットの物が使われる事が多く同じロットとなれば製造技術や製品の品質も同じになり同じ物とみなすことができます。物理デバイスの故障は故障する確率で考える事ができます。同一の物理デバイスを同じ時間動かしていれば故障する確率は同じと考えた方が良い事になります。寿命が同じだと考えられます。物理デバイスが1台故障したら補用部品としてあらかじめ準備しておいた物理デバイスに交換しRAIDを使用可能にします。故障するたびに同一容量の同じ物理デバイスが準備できれば良いのですが時間の経過とともに製造中止になり同じ物理デバイスは入手できなくなります。やがてRAIDを動かす事ができなくなりデーター(ファイル)を失う事になります。従って物理デバイスの補用部品が有るうちは交換して使用可能状態にして動かしてすぐにバックアップを取るか大容量のハードディスクにデーター(ファイル)を移動させます。データー(ファイル)の容量にもよりますが別のパソコンの大容量のハードディスクやRAIDにデーター(ファイル)を移動させる必要がでてくるかもしれません。データー(ファイル)を移動して退避させる事ができたら次はRAIDを構成している物理デバイスを全て別の新しい型番の物に交換しRAIDを作り直す事になります。
16.RAID作成の構想
RAIDを採用するパソコン(コンピューター)をどのような構成で作りRAIDレベルをどうするかOSは何を採用するか考えます。今回はファイルサーバーの機能を持ってマルチメディアの性能が良い物にしたいと考えたので次のハードウェア構成にします。OSは入手しやすいWindows10を使います。ケースはハードディスクが8台搭載できるようにして電源もそれなりにワット数が良いもにします。特に今回は置く場所を考えて異例ですがディスクトップケースを採用しました。ケースについてはタワーケースを選んだ方が良くタワーケースでもRAIDで使うハードディスクの台数分の3.5インチシャドウベイが付いている物を選んでください。(今回は異例ですが作成例としてディスクトップケースを使います。)あとRAIDで作る仮想ドライブをRAIDカードで設定してしまえばWindows10、Windows Server、LinuxとOSが変わってもあまり変わりません。OSによってドライバーのインストールの違いは有りますが応用がきくと思います。
OS |
Windows10 pro |
入手しやすいOSのため |
ケース |
HEC CI-7106NPBK |
デェスクトップケース |
CPU |
Core™ i5-9500 |
RAIDコントローラを使う事で高性能でなくても良い。 |
マザーボード |
ASRock Z390 Extreme4 |
拡張スロット- PCI Express 3.0 x16 スロットを3本搭載し拡張性が良い |
メモリー |
64GB |
|
RAIDカード |
NEC LSI MegaRAID SAS 9362-8i |
NECの型名で行くと「N8103-178」日本語取説有り |
RAIDカード用CacheVault Kit |
CacheVault Kit 8GB |
RAIDコントローラに追加するキャッシュメモリーとバッテリーのキット |
ハードディスク |
SEAGATE ST8000DM004 8台 |
記憶容量は1台につき8TB |
HDD増設ステイ |
Bullet HZS01 |
3.5インチベイに取付てハードディスク増設するための金具 |
LANカード |
10GBASE-T LANカード intel X550-T2 |
チーミングを設定して使う |
ATX電源 |
サイズ ATX電源 鎌力SILVER プラグイン750W SPKS-750P |
750Wの電源装置 |
17.ハードウェアの組立
準備したハードウェアを組み立てた様子は次のようになります。デェスクトップケースは内部が狭いためぎちぎちになっています。なるべくならもう少し冷却効果が期待できてハードディスクを交換し易い余裕のあるタワーケースにした方が望ましい。
3.5インチベイに増設ステイを取付けて4台 |
3.5インチシャドウベイに増設ステイを取付けて3台 |
CPU上部にあるシャドウベイにもハードディスクが搭載できます。 |
18.RAIDコントローラの設定と使えるまで
NEC LSI MegaRAID SAS 9362-8iというRAIDコントローラをRAID60で設定する流れは次の通りです。なおNEC LSI MegaRAID SAS 9362-8iというRAIDコントローラはNECの型名で行くと「N8103-178」となりNECのサイトで検索すると日本語のドキュメント、日本語取説が有ります。もっと詳しく知りたい人はそちらの方も見て下さい。※例ではRAID60で設定しましたが記憶容量が少ないため性能も考慮した結果、後にRAID6で構築しなおしました。
[Ctrl]+[R]で設定ユーティリティを起動 |
RAIDの設定がしていないので[No Configuration Present!]を[Enter] |
今回のRAIDレベルはRAID60なので「RAID-60」を選択。「PD per Span」はハードディスクが8台ついていてRAID60ではRAID6のグループを2つ作り2つのRAID6のグループをRAID0でストライプする組み合わせた物なのでRAID6のグループを何台で作るかと言う意味になりハードディスクが8台で2つのグループを作るので半分の4台で「4」を入力します。またRAID6を選択した場合ではグループを作らないので8台全部がそのまま使えるので「8」を入力します。「Drives」はRAIDで使うハードディスクを方向キーで選択しスペースキーを押し「X」の印を付けます。「X」はRAIDでこのハードディスクを使いますという意味です。「Bacic Settings」の「Size」はRAIDで使うハードディスクを選択したハードディスクの容量(7.25TB)を使う台数分を合わせてトータルした容量に対してRAIDレベルによって使用できる容量のパーセントが違いRAIDレベルによってパーセントが固定されています。「Size」の容量の表示は使用できる容量をRAIDレベルで使える容量のパーセントから計算して表示しています。「Name」は任意で名前を付けます。「raid60」と名前を付け入力しました。「OK」を選択し[Enter]で設定を完了します。 |
「Virtual Drives」(論理ドライブ)の設定ができた表示です。「ID:0,raid60,29.10 TB」と表示されています。「Esc」キーを押して設定を抜けて「OK」を選び「Enter」キーを押します。 |
設定が終わったら[Ctrl]+[Alt]+[Delete]を同時に押しリセットをして再起動しOS(Windows10)をインストールします。 |
Windows10をインストールしてLANカードがインターネットに繋がっているとWindows10の標準ドライバーがインストールされて認識されます。この状態では動作がおかしいので次のMegaRAID SAS 9361-8i用ドライバーをインストールします。 |
BROADCOM社のホームページへ行きMegaRAID SAS 9361-8i用ドライバーをダウンロードしインストールしてMegaRAID SAS 9361-8i用ドライバーで認識させます。そうするとRAIDコントローラで設定した論理ドライブとかがデバイスマネージャーで正常に認識されるようになります。 |
RAIDで作られたドライブをOS(Windows10)で使用するにはコントロールパネルでコンピューターの管理を開き「ディスクの管理」をクリックするとこのように表示されます。「GPT」を選択し「OK」をクリックしてディスクの初期化(フォーマット)を行ないます。 |
フォーマットが終わると「オフライン」と表示されて使えない状態なので右クリックして「オンライン」にします。ここまでやってRAIDで作ったドライブにエクスプローラでアクセスできファイルを保存できるようになります。RAIDの作成が完了です。 |
19.気が付いた点
RAIDコントローラカードは相性があり動いたり動かなかったりします。取り付けてOSが正常に認識するまでを確認しないと使えるかどうかわかりません。他のジャンルのハードウェアと比較するとRAIDコントローラカードは当たり外れが有りサポート等の保証が難しく販売するのが難しいハードウェアという事になります。そのため扱っている販売店も少なく国内での流通価格が高い原因になっている様です。RAIDで使うハードディスクに関してはあらかじめサンプルとして購入し使って様子を見て当たり外れを見てからRAIDで使う台数分を購入する必要があります。ハードディスクを購入するにあたって費用が一番かかり簡単に別の物へ買い替える事ができません。慎重に選ぶ必要があります。RAIDコントローラの購入にあたっては場合によっては国内で購入した方が安い事もあるのですがだいたいアメリカ合衆国のeBayで探し中国人バイヤーから購入する事で安く購入できます。種類も多く選べて国内価格の1/5ぐらいの価格で購入する事ができます。購入し易い金額になります。ただし届くまで3週間ほどかかり時間がかかります。またRAIDを構築したパソコン(コンピュータ)では取付けたハードディスクによって重量が重くなっています。移動させる際等扱いに注意が必要です。
20.考察
RAIDと言う物はどんな物かわかってしまえば簡単だと思います。導入するのにハードウェアを揃えるのに費用がかかりますが一般的なWindows10でも使えます。別に特別なサーバーとか特殊な物だけの物ではありません。色々な所で使う事もできます。OSが違っても応用して使う事ができます。機能面を考えるとファイルを使いやすく大量に保存できしかもハードディスクを1台で使うよりは失わないための機能もあって信頼性が高められています。RAIDを導入するパソコン(コンピュータ)ではタワーケースが向いていて使われる事が多いのですが大きな物になりますが工夫をすれば作成例のようにデェスクトップケースに収めてコンパクトにする事ができます。そうすれば置く場所にも困りません。工夫次第で導入する事ができます。注意点としてはRAIDと言う物はバックアップとしては使いません。テープドライブ等のバックアップ装置と組み合わせてデーター(ファイル)の消失を防ぎます。そうすれば完璧な物にする事ができます。RAIDに関する資料については集まった資料は規格が変わり内容が古くなっている物が多くたとえ色々書かれていていても今の規格に置き換えなければいけない物も多々有りました。一つの資料だけではなくいくつか見て新しい規格に照らし合わせる作業も必要になりました。実際の話ではやはりインターネットに公開されているホームページを見て知る事もできました。どうもRAIDは理論的な学術的な話と製品化された物の話、使われて出てきた問題点の話等を含めて考えないといけないようです。
今回の内容はRAIDの導入するにあたって必要な話を列挙して紹介しましたが現在の規格に置き換えた内容も多くなるべく解りやすいように言葉の言い回しや説明の仕方を工夫して書きました。教えてくれる所が少ない実際の話も現物を購入して試した事や調べてわかった範囲を含めました。少しでもRAIDについて理解する時の参考になれば幸いです。
参考URL等
製品マニュアル・詳細 製品マニュアル・検索一覧 NEC https://www.support.nec.co.jp/View.aspx?id=3170101712
技術情報・詳細 技術情報・検索一覧 NEC https://www.support.nec.co.jp/View.aspx?NoClear=on&id=3140105756
RAIDとは:ストレージの基礎知識:技術情報:日立ストレージソリューション http://www.hitachi.co.jp/products/it/storage-solutions/techsupport/basicknowledge/raid.html
RAID ‐ 通信用語の基礎知識 https://www.wdic.org/w/TECH/RAID
ソフトウエアRAIDとハードウエアRAIDの違いは? 日経クロステック(xTECH) https://xtech.nikkei.com/it/article/COLUMN/20060712/243118/
2020.08.18 BROADCOM SAS 9311-8i Host Bus Adapterについて
2020.08.18 Dell PowerEdge RAID Controller H730Pについて
2020.08.18 Dell PowerEdge RAID Controller H330について
2020.08.18 Microsemi Adaptec ASR-71605について
2020.08.18 NEC LSI MegaRAID SAS 9362-8iについて
2020.08.18 BROADCOM LSI MegaRAID SAS 9341-8iについて
2020.07.18 SAS 3.0 Intel RAID Controller RS3UC080について
2018.01.18 SAS エクスパンダカード Adaptec 82885Tについて
2017.11.18 MICROSEMI ADAPTEC HBA 1000-8iについて
2017.10.18 LSI SAS 9300-8Iについて
2017.09.18 Intel Expander Card RES3FV288について
2017.09.18 MICROSEMI ADAPTEC HBA 1000 - 8I8E SINGLEについて
2017.09.18 Intel RAID Controller RS3WC080について
2017.08.18 LSI SAS 9211-8i Single Packについて
2017.08.18 Adaptec ASR-6805Eについて
2017.08.18 SAS ( Serial Attached SCSI ) について
色々