このページでは自宅サーバーRAIDで構築した場合の動作確認メンテナンスの方法ついて初心者/ビギナー向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
OSをRAID構成でインストール

RAIDを構築する

RAIDについて諸々

ハードRAIDとソフトRAID

RAIDの種類と選択について

RAIDでOSをインストール(〜CentOS5)

RAIDでOSをインストール(CentOS6)

起動設定とメンテナンス

ハードディスクの交換

RAID再構築の準備

RAIDの再構築(raidtools)

RAIDの再構築(mdadm)


片方のハードディスクでも起動できるようにする

WBEL CentOS RAIDでOSをインストール での説明のとおり、 OS インストール するときであれば、難しい コマンド 操作を行うことなく、比較的わかりやすい GUI 操作だけで RAID を構築することができます。

そしてRAID1、RAID5またはRAID6を構築してしまえば、そのRAIDを構成している ハードディスク のどれか一台(RAID6の場合は二台)が故障して使用不能に陥っても、自動的に残ったハードディスクだけの動作に切り替わり、 サーバー としての稼動が継続されますから、「これで一安心」という感じになります。

ところが現時点では、ハードディスクから ホスト機 を起動するための ブートローダ は、ホスト機を構成するハードディスクの どれか一台にしかインストールされていません

従って、 RAIDでOSをインストール のように hda hdb /boot パーティション をRAID1構成した場合でも、通常ブートローダは hda にしかインストールされていませんから、もしも hda が完全に壊れてしまうと、そのホスト機はハードディスクから起動する手段を失ってしまうことになります。

これではせっかくRAIDを構築しても、 hdb が壊れた場合にしかその恩恵は受けられないことになってしまいます。

WBELやCentOSのGUIインストーラーはとても解りやすく、親切なのですが、ブートローダを複数のハードディスクにインストールする機能を提供していません。

そこでWBELやCentOSのインストール後に手動で hdb にもブートローダをインストールする方法を解説します。

まず、WBELやCentOSのインストールが終わったら、 ログインとアカウント作成(WBEL3) ログインとアカウント作成(CentOS3) ログインとアカウント作成(WBEL4) ログインとアカウント作成(CentOS4) ログインとアカウント作成(CentOS5) を参考にして root アカウント 構築中のLinuxサーバー ログイン してください。

次に、 プロンプト から、

[root@web1 ~]# grub Enter

とタイプしてしばらく待つと画面がクリアされて次のようにプロンプトが変わり、ブートローダプログラム grub が起動します。

次に、表示されたgrubのプロンプトから、

grub> device (hd0) /dev/hdb Enter

とタイプして、ブートローダをインストールしたいハードディスクの指定を行います。

もし、インストール先が hdb 以外の場合は、上の の部分を変えてタイプしてください。

次に、

grub> root (hd0,0) Enter

とタイプして、インストール先のハードディスクの起動パーティションを指定します。指定がうまくいくと、以下のようなメッセージが出るはずです。

そして最後に、

grub> install /grub/stage1 d (hd0) /grub/stage2 0x8000 (hd0,0)/grub/menu.lst Enter

と、ブートローダをインストールする コマンド を実行します。

コマンドの内容を間違えると起動できなくなりますので、注意して入力してください。

上のようにエラーメッセージが出なければOKです。

grub> quit Enter

grub を終了して元のプロンプト画面に戻ります。

これで hdb にもブートローダがインストールされ、 hdb だけしか動作していなくてもハードディスクから起動できる状態になりました。

ただし、これはあくまで OSレベル での設定ですから、ホスト機自身の起動ディスクの設定も確認しておく必要があります。

一般的にいうと、ハードディスクからホスト機を起動する場合、 ハードウェア 的に正常に検出されたハードディスクの順番( hda→hdb→hdc→... )で起動ディスクが決まります。

従って通常は、 hda が壊れてしまった場合には自動的に hdb から起動することになります。

しかし、ホスト機( マザーボード )の仕様によっては、

「一番目のハードディスクから起動できないときは、二番目のハードディスクから起動する。」

といった指定を明示的に行わなければならない場合があります。

こういう場合はホスト機の BIOS を起動して設定しなければなりませんが、これはお使いのホスト機やマザーボードのマニュアルをご覧になり、適宜設定を行ってください。

関連セクションへ 関連セクション・ OSにRAIDデバイスを追加

このページの先頭へ↑

RAIDの状態を示す"/proc/mdstat"

RAID 1、RAID5、RAID6などの「一部の ハードディスク に障害があっても動作が継続されるシステム」を用いる場合、障害が発生していても見た目にはきちんと動作しているわけですから

「正常に動作しているのか、障害を抱えたまま動作しているのか。」

を知る手段が必要になります。

実は、 "/proc" というディレクトリ以下のファイルは、ハードディスク上のデータではなく、WBELやCentOSのシステムが自身の情報を仮想的に出力しているものです。
ファイルの内容がリアルタイムに変化するのはそういう理由によるものです。

WBEL CentOS には、RAIDの稼働状況をリアルタイムに表示する テキスト ファイルとして、 "/proc/mdstat" が予め準備されています。

つまりこのファイルの内容を適当な方法で開いて内容を見ることで、

「"/proc/mdstat"を開いた瞬間のRAIDの状態」

を知ることができるというわけです。

では、実際にRAIDの状態を "/proc/mdstat" を開いてモニタしてみましょう。

SSHクライアントなどから適当な ユーザーアカウント 構築中のLinuxサーバー ログイン SSHクライアントでサーバーに接続する(WBEL3) SSHクライアントでサーバーに接続する(CentOS3) SSHクライアントでサーバーに接続する(WBEL4) SSHクライアントでサーバーに接続する(CentOS4) SSHクライアントでサーバーに接続する(CentOS5) し、 nanoエディタ "/proc/mdstat" を開いてみましょう nanoエディタでファイルを開く

[tanaka@web1 ~]$ nano /proc/mdstatEnter


Personalities : [raid1]
read_ahead 1024 sectors
Event: 12
md9 : active raid1 hda9[0] hdb9[1]
   104320 blocks [2/2] [UU]

md8 : active raid1 hda8[0] hdb8[1]
   4867584 blocks [2/2] [UU]

md7 : active raid1 hda7[0] hdb7[1]
   1020032 blocks [2/2] [UU]

md6 : active raid1 hda6[0] hdb6[1]
   3068288 blocks [2/2] [UU]

md5 : active raid1 hda5[0] hdb5[1]
   4096448 blocks [2/2] [UU]

md3 : active raid1 hda3[0] hdb3[1]
   1020032 blocks [2/2] [UU]

md2 : active raid1 hda2[0] hdb2[1]
   2096384 blocks [2/2] [UU]

md1 : active raid1 hda1[0] hdb1[1]
   104320 blocks [2/2] [UU]


unused devices: <none>

構築中のLinuxサーバー は、8個のRAIDデバイスに分かれていて、それぞれのRAIDデバイスごとに状態が表示されます。

この中で、 "/dev/md1" についての情報( オレンジ で示した部分)を説明すると、次のようになります。

正常に稼働中のRAID1の例(/proc/mdstat)
正常に稼働中のRAID1の例(/proc/mdstat)

例えば、このRAIDデバイスを構成するパーティションのうち、ハードディスクの故障で hda1 が欠損してしまった場合は、この部分の表示が次のようになります。

hda1が欠損して稼働中のRAID1の例(/proc/mdstat)
"hda1"が欠損して稼働中のRAID1の例(/proc/mdstat)

この "/proc/mdstat" を見ればRAIDの稼働状況が簡単に把握できますから、少なくとも週に一度くらいはチェックするようにしましょう。

また、この "/proc/mdstat" は動作チェックだけではなく、故障したハードディスクを交換してRAIDを再構築するときにとても重要な情報源となります。

印刷しておくと、よりベターです。

そこでRAIDを構築して稼動を始めたら、正常に稼動している状態の "/proc/mdstat" をファイルとして保存しておくと後々役に立ちます。

[tanaka@web1 ~]$ cp /proc/mdstat .Enter cpコマンドについて  ホームディレクトリにコピー
[tanaka@web1 ~]$

これで正常稼動時の "/proc/mdstat" "/home/tanaka/mdstat" として保存されました。

これはWBELやCentOSのソフトウェアRAIDを利用する場合の最低限のチェックですので、忘れないようにしましょう。

関連セクションへ 関連セクション・ OSにRAIDデバイスを追加

このページの先頭へ↑

RAIDの設定ファイルについて

"/etc/mdstat" は稼働中の RAID の状態を示すものですから、 ハードディスク に障害が発生したりすると内容が変化します。

障害が起こったRAIDを元の状態に戻すためには障害が起こる前のRAIDの構成がわかっていなければなりませんから、後々のことを考えるとこの"/etc/mdstat"の情報だけでは心許ないでしょう。

従って 構築中のLinuxサーバー をRAIDで稼動させるときは、正常なRAID構成時の詳細な設定ファイルを準備しておき、障害発生時の再構築情報として保存しておくのが望ましいでしょう。

LinuxのRAIDの解説書
オススメです

"raidtools" を利用して ソフトウェア RAIDを構築した場合には(WBEL3及びCentOS3)、RAIDの構成を詳細に記述した設定ファイルとして "/etc/raidtab" が予め記述されていますから特に問題はありません /etc/raidtabについて

一方、 mdadm を利用してRAIDを構築した場合には(WBEL4、CentOS4およびCentOS5)、 "/etc/mdadm.conf" に同様の構成が記述されているのですが、こちらは必要最低限の情報しか記録されていないはずです /etc/mdadm.confについて

mdadmを用いたRAIDの構築には設定ファイル/etc/mdadm.comnfは必須ではないのですが、なれないうちは念のためmdadmコマンドを使って詳細なRAID構築情報を出力し、記録しておくと後々便利ですので忘れずに出力しておきましょう mdadmによる詳細RAID情報の出力について

関連セクションへ 関連セクション・ OSにRAIDデバイスを追加

このページの先頭へ↑

RAID監視デーモンの有効化

WBEL CentOS ソフトウェア RAID を利用するときは、必ず動作監視 デーモン である "mdmontor" WBEL3のmdmonitorデーモンについて CentOS3のmdmonitorデーモンについて WBEL4のmdmonitorデーモンについて CentOS4のmdmonitorデーモンについて CentOS5のmdmonitorデーモンについて を稼動させておきます。

"mdmontor" "mdadm" をモニターモードで起動する スクリプト ですが、稼動しているRAIDを直接監視するため、 "raidtools" で構築されたRAIDでも問題なく動作します。

そしてRAIDの動作の不具合が起こったときに管理者宛にメールを送信するための機能を提供します。

[root@web1 ~]# /etc/init.d/mdmonitor startEnter
mdmonitorを起動中:                     [ OK ]
[root@web1 ~]#

更に、 構築中のLinuxサーバー が起動したときに自動的に デーモン が起動するように設定しておきましょう。

設定は ntsysv コマンド で設定画面を開き、 "mdmonitor" にチェックを入れるだけです。

mdmonitorをntsysvで自動起動登録する
"mdmonitor"を"ntsysv"で自動起動登録する

ところで、この "mdmonitor" がハードディスク障害時に管理者宛にメールを送るには、 "mdadm" の設定ファイル "/etc/mdadm.conf" の中に、

MAILADDR root

の記述が必要ですので、もしも記述が見当たらない場合は nanoエディタ "/etc/mdadm.conf" を開き nanoエディタでファイルを開く 、上の設定を追加記述しておいてください。

関連セクションへ 関連セクション・ OSにRAIDデバイスを追加

このサイトは リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。今のところ更新予定はありませんのでご了承ください。
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。