|
|
OSにRAIDデバイスを追加
|
RAIDを新たに作成するハードディスクの追加RAID構築モデルについてハードディスクの領域確保mdadmによるRAIDの作成RAIDデバイスのマウントハードディスクが壊れたらmdadmによるRAIDの修復mdadmによるディスクの交換mdadmによるRAIDの解除 |
LinuxのソフトウェアRAIDとスーパーブロックについて追加した ハードディスク の初期化を行う前に、少しだけ LinuxOS の ソフトウェア RAID の スーパーブロック について説明しておきます。 RAID構成のハードディスクに障害が発生してもハードディスクの交換でデータを維持できることは容易にお解かりかもしれませんが、では、 システムを担うハードディスクに障害が発生した場合に、RAID上のデータはどうなってしまうのでしょうか ソフトウェアRAIDは読んで字のごとく OS がその動作を管理します。 ということはOS自身が壊れてしまった、あるいはOSが インストール されているハードディスクが故障してしまった、というような場合、システムはもちろん起動できません。このときRAID上のデータはその管理すべきOSを失って取り出し不可能になってしまうのでしょうか?。 実は現在LinuxOSで採用されているソフトウェアRAIDでは、こういうケースでもデータを失うことはありませんので安心してください。 このセクションでモデルケースとして取り上げる ホスト機 ハードディスク構成は、 システム:シングルハードディスク"/dev/hda" データ:RAID構成のマルチハードディスク"/dev/hdb,hdc,hdd" となっていますが、例えば "/dev/hda" が完全に故障してしまい、システムのバックアップも残っていなかったとします。
こういう場合は
"/dev/hda"
を新しいハードディスクに取り替えて、最初から
WBEL
や
CentOS
のインストールをやり直します。するとインストール時の
ディスクの設定
実は、現行のLinuxOSのソフトウェアRAIDの重要な情報はシステムがインストールされたパーティションではなく、ソフトウェアRAIDを構成する個々のハードディスク上に書き込まれていて、既存のシステムが機能しなくなっても再構成できるような仕組みになっています。 その情報が記録されている部分を スーパーブロック と呼びます。 |
||||||||
|
|
以前のLinuxOSのソフトウェアRAIDにはこのスーパーブロックの仕組みが存在しなかったため、冗長性を維持するにはかならずシステムごとRAID化しなければなりませんでした。 しかしWBEL3やCentOS3、WBEL4やCentOS4、CentOS5をはじめ、現行のLinuxOSはほぼ間違いなくスーパーブロック方式になっていますので、安心してソフトウェアRAIDを利用できるようになっています。 ところでこのようにデータの冗長性に大きな役割を占めるスーパーブロックですが、これがしばしばRAID構築の 惑いの種 になることがあります。 例えば過去に一度でもLinuxOSのソフトウェアRAIDの構成ディスクとして使われたことのあるハードディスクには、 fdisk コマンドで領域を削除したり形式を変更したりしても、 スーパーブロック情報は残ったままになっています 。 もっとも、そのハードディスクを通常のハードディスクとして使うのであれば無視して構いませんし、ソフトウェアRAIDを組みなおせばスーパーブロック情報が新しく書き換えられますから実用上困ることはありません。 ただ、 "mdadm" で新しいRAIDを作成したり、既存のRAIDにハードディスクの追加を行おうとしたりすると必ず、 「スーパーブロック情報がありますが、作業を続行していいですか?。」 という確認のメッセージが表示されます。 これはもちろん「スーパーブロックが存在するハードディスクには、重要なデータが保管されていた可能性が高い。」という根拠に基づいたアラートですから、それなりに重要な警告ということになるでしょう。 以後、 "mdadm" によるRAID操作を行う場合にはこの点に注意して作業を行ってください。
関連セクション・
OSをRAID構成でインストール
|
||||||||
RAID用にハードディスクのパーティションを作る |
|||||||||
| 理由はよくわかりませんが、ハードディスクの表示順序は必ずしもabc順にはならないようです。 |
赤字 で示している "/dev/hda" が、 WBEL4 のシステム用のハードディスクですが、既に "/dev/hda1" 、 "/dev/hda2" 、 "/dev/hda3" といった パーティション が作られていることがお分かりと思います。 一方 グリーン で示しているのが今回新たに増設したハードディスクですが、新品のハードディスクあるいは取り付け前にパーティションがすべて削除されていたハードディスクの場合は、このように何も領域は表示されないはずです。 |
||||||||
| LinuxOS 以外の OS で使われていたハードディスクでも、パーティションはきちんと表示されます。 |
もちろんここでパーティションの存在が確認できても次のステップで削除すれば良いだけなのですが、通常パーティションが作成してあるハードディスクは 過去に何らかの目的で使われていた ことを意味します。 ということはひょっとすると大事なデータが残っているかもしれませんから、心当たりがあるときは作業を中止してハードディスクの内容を確認したほうが良いかもしれません。 さて、今回のケースでは全く同じハードディスクを3本使用しますから容量も全く同一です。 ところが同じ160 GB のハードディスクでも、モデルやメーカーが異なれば 幾分は 容量が異なるのが普通です。 RAIDを構成する場合は同じ容量のパーティションを組み合わせる必要がありますから、このディスク一覧で 「総容量が最も小さいハードディスクから順番に」 fdiskコマンドを対話型で起動し、パーティションの確保作業を行っていきます。 |
||||||||
|
|
ちなみに、処理対象のハードディスクに既にパーティションが存在するときは、新しいパーティションを確保する前にこれを削除する必要があります。
パーティションの削除の方法については
対話型ですのでパーティション操作そのものは難しくないと思います。 ここで確保するパーティションはRAIDデバイスを構成するためのものですから、最後に領域のシステムを "fd Linux raid 自動検出" に変更することを忘れないようにしてください。 また、上の例で二つ目のパーティションを確保するとき、終点シリンダを明示的に指定しなければハードディスクの残りの領域すべて(つまり7297-19457シリンダ)を "/dev/hdb2" として確保することができますが、ここでは 少しだけ容量を残して 7297-19400シリンダで確保を行っています( 赤字 で示す部分です)。 |
||||||||
|
LinuxのRAIDの解説書
オススメです ↓ |
実用上はこんな面倒なことをしなくても良いのですが、後々RAIDを構成するハードディスクのどれかが破損して交換を余儀なくされたときに重要な意味を持ちます。 先ほど少し触れましたが、例えば160GBのハードディスクといっても、モデルやメーカーによって若干の誤差があります。 例えばこのハードディスクは、
となっていますが、このハードディスクが壊れて新しいハードディスクに交換したとき、その内容が、
だとすると、わずかですがハードディスクの総容量が 交換前よりも小さくなってしまう ことになります。 |
||||||||
| "mdadm" では、 1% 以上の容量差があるとRAIDを構築できないようになっています。 |
RAIDは 同じ容量のパーティションの組み合わせ で運用するのが原則ですから、交換後のハードディスクの容量が交換前よりも小さい場合は、RAIDの再構成のためのパーティション容量が確保できなくなってしまうことがあります。 そこで最初にRAID構築のためのパーティションを確保するときにはハードディスクの総容量を使い切らないように配慮しておくわけです。 今回のケースでは全シリンダ数 "19457" に対して "19400" までしか確保していませんから、実際の確保容量の合計は、
8225280 bytes × 19400 cylinders = 159570432000 bytes
と、 わずかに160GBを下回る容量 を確保したことになります。 つまり将来交換に使用するハードディスクの総容量がこれ以上であれば問題なく利用できることになるわけですが、カタログ上160GBという表記のあるハードディスク製品ならば、 必ず160GB の容量はあるはずですから、これでRAIDの再構築の容量が確保できなるなるという問題は解消するわけです。 |
||||||||
|
|
さて、あとは同じ要領で残り二つのハードディスクについてもパーティションを確保します。 そして最終的に、
となるように設定すればOKです。 次のステップで引き続きRAIDデバイスの構築に進みます。
関連セクション・
OSをRAID構成でインストール
|
|
|
RAID構築モデルについて
<<Previous
|
Next>>
mdadmによるRAIDの作成
|
| このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。 |
| ”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |