このページではRAIDで運用している自宅サーバーハードディスクの故障時の復旧方法について初心者/ビギナー向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
OSをRAID構成でインストール

RAIDを構築する

RAIDについて諸々

ハードRAIDとソフトRAID

RAIDの種類と選択について

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

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

起動設定とメンテナンス

ハードディスクの交換

RAID再構築の準備

RAIDの再構築(raidtools)

RAIDの再構築(mdadm)


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

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

これから、この hda のパラメータに合わせて、交換したハードディスク hdb の設定を行っていきます。

ここからは、現在稼働中の hda の各種設定値(シリンダ数などのパラメータ)をそのまま hdb に適用してゆく形で作業していきます。

もちろんメモを取りながら作業してもいいのですが、 SSH ログイン して作業しているのであれば、 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 ~]#

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

この後は実際に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. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
www.centos.org - The Community ENTerprise Operating System