このページではRAIDで運用している自宅サーバーハードディスクの故障時の復旧方法について初心者/ビギナー向けに解説します。

HPの格安エントリーサーバー機"HP ProLiant ML115"でのLinuxサーバー構築記を掲載しました。サーバー機の選定にお悩みの方は是非お越しください...。お便利サーバー.com管理人。
RHELクローンのセットアップ
OSをRAID構成でインストール

RAIDを構築する

RAIDについて諸々

ハードRAIDとソフトRAID

RAIDの種類と選択について

RAIDでOSをインストール

起動設定とメンテナンス

ハードディスクの交換

RAID再構築の準備

RAIDの再構築(raidtools)

RAIDの再構築(mdadm)

サイト内検索

新しいハードディスクにパーティションを作成する

参考のために、稼動中の hda の状態を示します。

Disk /dev/hda: 16.7 GB, 16776732672 bytes
255 heads, 63 sectors/track, 2039 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス ブート  始点   終点 ブロック  ID システム
/dev/hda1  *     1    13  104391  fd Linux raid 自動検出
/dev/hda2      14    274  2096482+ fd Linux raid 自動検出
/dev/hda3      275    401  1020127+ fd Linux raid 自動検出
/dev/hda4      402   2039 13157235  5 拡張領域
/dev/hda5      402    911  4096543+ fd Linux raid 自動検出
/dev/hda6      912   1293  3068383+ fd Linux raid 自動検出
/dev/hda7     1294   1420  1020096  fd Linux raid 自動検出
/dev/hda8     1421   2026  4867663+ fd Linux raid 自動検出
/dev/hda9     2027   2039  104391  fd Linux raid 自動検出

では、この状態と同じになるように、 fdisk コマンド hdb パーティション を作成していきます。

まず、 /dev/hdb1 を作成してみましょう。

コマンド (m でヘルプ): pEnter  ←とりあえず状況を表示してみます

Disk /dev/hdb: 16.7 GB, 16776732672 bytes
255 heads, 63 sectors/track, 2039 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス ブート  始点   終点 ブロック  ID システム

コマンド (m でヘルプ): nEnter  ←"n"で新しいパーティションを作成します
コマンドアクション
  e  拡張
  p  基本領域 (1-4)
pEnter  ←"p"で基本領域を指定します
領域番号 (1-4): 1Enter  ←領域番号"1"を指定します(dev/hdb1)
最初 シリンダ (1-2039, 初期値 1): 1Enter  ←"/dev/hda1"の"始点"と同じ"1"を設定します
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-2039, 初期値 2039): 13Enter  ←"/dev/hda1"の"終点"と同じ"13"を設定します

コマンド (m でヘルプ): pEnter  ←とりあえず状況を表示してみます

Disk /dev/hdb: 16.7 GB, 16776732672 bytes 255 heads, 63 sectors/track, 2039 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス ブート  始点   終点 ブロック  ID システム
/dev/hdb1       1    13  104391  83 Linux

コマンド (m でヘルプ):

この段階ではまだフォーマット形式が /dev/hda1 と異なっています(fdiskでは、領域確保したときの デフォルト のフォーマット形式としてLinux形式が選択されます。)し、ブート(起動)可能なパーティションとしての指定がなされていませんので、引き続きこれらの設定を行います。

コマンド (m でヘルプ): tEnter  ←"t"で確保済みの領域の形式を変更します
Selected partition 1       ←パーティションが一つだけなので
                  自動で/dev/hda1が選択されます

16進数コード (L コマンドでコードリスト表示): fdEnter    ←/dev/hda1と同じく
                               "fd"を設定します

領域のシステムタイプを 1 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ):aEnter  ←"a"でブート領域を指定します
領域番号 (1-4): 1Enter     ←領域番号"1"を指定します(dev/hdb1)

コマンド (m でヘルプ): pEnter  ←状況を表示してみます

Disk /dev/hdb: 16.7 GB, 16776732672 bytes 255 heads, 63 sectors/track, 2039 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス ブート  始点   終点 ブロック  ID システム
/dev/hdb1  *     1    13  104391  fd Linux raid 自動検出

コマンド (m でヘルプ):

これで、 /dev/hdb1 の設定が終わりました。

引き続き同じ要領で /dev/hdb2 /dev/hdb3 も作成しましょう。

コマンド (m でヘルプ): nEnter
コマンドアクション
  e  拡張
  p  基本領域 (1-4)
pEnter
領域番号 (1-4): 2Enter
最初 シリンダ (14-2039, 初期値 14): 14Enter
終点 シリンダ または +サイズ または +サイズM または +サイズK (14-2039, 初期値 2039): 274Enter

コマンド (m でヘルプ): tEnter
領域番号 (1-4): 2Enter
16進数コード (L コマンドでコードリスト表示): fdEnter
領域のシステムタイプを 2 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ): nEnter
コマンドアクション
  e  拡張
  p  基本領域 (1-4)
pEnter
領域番号 (1-4): 3Enter
最初 シリンダ (275-2039, 初期値 275): 275Enter
終点 シリンダ または +サイズ または +サイズM または +サイズK (275-2039, 初期値 2039): 401Enter

コマンド (m でヘルプ): tEnter
領域番号 (1-4): 3Enter
16進数コード (L コマンドでコードリスト表示): fdEnter
領域のシステムタイプを 3 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ): pEnter

Disk /dev/hdb: 16.7 GB, 16776732672 bytes
255 heads, 63 sectors/track, 2039 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス ブート  始点   終点 ブロック  ID システム
/dev/hdb1  *     1    13  104391  fd Linux raid 自動検出
/dev/hdb2      14    274  2096482+ fd Linux raid 自動検出
/dev/hdb3      275    401  1020127+ fd Linux raid 自動検出

コマンド (m でヘルプ):

ここから後は、拡張パーティションとして /dev/hdb4 を確保し、その下に /dev/hdb5 以降を作成します。

すべてのパーティションの作成が終わったら、最後に w Enter で設定をハードディスクに書き込んで終了します。

コマンド (m でヘルプ): nEnter
コマンドアクション
  e  拡張
  p  基本領域 (1-4)
eEnter
Selected partition 4
最初 シリンダ (402-2039, 初期値 402): 402Enter
終点 シリンダ または +サイズ または +サイズM または +サイズK (402-2039, 初期値 2039): 2039Enter

コマンド (m でヘルプ): nEnter
最初 シリンダ (402-2039, 初期値 402): 402Enter
終点 シリンダ または +サイズ または +サイズM または +サイズK (402-2039, 初期値 2039): 911Enter

コマンド (m でヘルプ): tEnter
領域番号 (1-5): 5Enter
16進数コード (L コマンドでコードリスト表示): fdEnter
領域のシステムタイプを 5 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ): nEnter
最初 シリンダ (912-2039, 初期値 912): 912Enter
終点 シリンダ または +サイズ または +サイズM または +サイズK (912-2039, 初期値 2039): 1293Enter

コマンド (m でヘルプ): tEnter
領域番号 (1-6): 6Enter
16進数コード (L コマンドでコードリスト表示): fdEnter
領域のシステムタイプを 6 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ): nEnter
最初 シリンダ (1294-2039, 初期値 1294): 1294Enter
終点 シリンダ または +サイズ または +サイズM または +サイズK (1294-2039, 初期値 2039): 1420Enter

コマンド (m でヘルプ): tEnter
領域番号 (1-7): 7Enter
16進数コード (L コマンドでコードリスト表示): fdEnter
領域のシステムタイプを 7 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ): nEnter
最初 シリンダ (1421-2039, 初期値 1421): 1421Enter
終点 シリンダ または +サイズ または +サイズM または +サイズK (1421-2039, 初期値 2039): 2026Enter

コマンド (m でヘルプ): tEnter
領域番号 (1-8): 8Enter
16進数コード (L コマンドでコードリスト表示): fdEnter
領域のシステムタイプを 8 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ): nEnter
最初 シリンダ (2027-2039, 初期値 2027): 2027Enter
終点 シリンダ または +サイズ または +サイズM または +サイズK (2027-2039, 初期値 2039): 2039Enter

コマンド (m でヘルプ): tEnter
領域番号 (1-9): 9Enter
16進数コード (L コマンドでコードリスト表示): fdEnter
領域のシステムタイプを 9 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ): pEnter

Disk /dev/hdb: 16.7 GB, 16776732672 bytes
255 heads, 63 sectors/track, 2039 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス ブート  始点   終点 ブロック  ID システム
/dev/hdb1  *     1    13  104391  fd Linux raid 自動検出
/dev/hdb2      14    274  2096482+ fd Linux raid 自動検出
/dev/hdb3      275    401  1020127+ fd Linux raid 自動検出
/dev/hdb4      402   2039 13157235  5 拡張領域
/dev/hdb5      402    911  4096543+ fd Linux raid 自動検出
/dev/hdb6      912   1293  3068383+ fd Linux raid 自動検出
/dev/hdb7     1294   1420  1020096  fd Linux raid 自動検出
/dev/hdb8     1421   2026  4867663+ fd Linux raid 自動検出
/dev/hdb9     2027   2039  104391  fd Linux raid 自動検出

コマンド (m でヘルプ): wEnter
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。
[root@web1 root]#

以上でRAIDを再構築するための hdb の設定が終わりました。

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

この後は実際にRAIDを再構築する作業になるわけですが、 OSのバージョンによるRAIDアプリケーションの違いについて の説明のとおり、使用する LinuxOS の種類によってRAIDの構築に用いられるRAIDツールが異なっていますので、再構築の手順も異なります。

raidtoolsを利用しているWBEL3及びCentOS3の場合は raidtoolsを用いたRAIDの再構築について を、mdadmを利用しているWBEL4、CentOS4及びCentOS5の場合には mdadmを用いたRAIDの再構築について を参考に再構築作業を行ってください。

なお、 "mdadm" を使ったRAIDデバイスの追加や修復、解除の方法についてはこちら OSにRAIDデバイスを追加する のセクションでも詳しく説明していますので、興味のある方は合わせてご覧ください。

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

このサイトに対するご意見、ご要望、苦情、泣き言、献上品、資金援助などがございましたら こちら からお寄せください(お返事できなかったらごめんなさい)。もちろん リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
Powered by White Box Enterprise Linux