ソフトRAIDの修復
ソフトRAIDの欠点
ソフトRAIDでのRAID1(ミラーリング)では、ハードRAIDと違い、バグや誤操作によるデーターの全滅の可能性が低いというメリットがあります。なぜなら、バグなどで片側を破損した時点でOSが落ちてしまうため、もう片方を書き換えられずに助かったというケースがあるためです。
しかしながら、ソフトRAIDの欠点としてブートローダーが片側にしか入らないという事があります。つまり、いくらデーターがミラーになっていても、肝心のブート領域がミラーにできないため、データーは生きているのに肝心のサーバーが起動しないという悲しい結果になってしまう場合があります。
もし1台目(シリアルならata1、パラレルならプライマリーマスタ)が破損したのであれば、新しいハードディスクを取り付けてmdadmコマンドで修復をすればすぐに使えるようになります。しかし、運悪く2台目が破損してしまうと、ブートローダーを入れなおさないとサーバーが起動しなくなってしまいます。
以後、/boot領域として/dev/sda1を100メガバイト確保しているとして記述しますが、mdやsdのあとの数字はインストールする毎に
異なる場合もあります。また、シリアルataではなくパラレルataならば、hdaになると思います。本文中にある/dev/md3や/dev/sda1は、自身で読み替えてください。
しかしながら、ソフトRAIDの欠点としてブートローダーが片側にしか入らないという事があります。つまり、いくらデーターがミラーになっていても、肝心のブート領域がミラーにできないため、データーは生きているのに肝心のサーバーが起動しないという悲しい結果になってしまう場合があります。
もし1台目(シリアルならata1、パラレルならプライマリーマスタ)が破損したのであれば、新しいハードディスクを取り付けてmdadmコマンドで修復をすればすぐに使えるようになります。しかし、運悪く2台目が破損してしまうと、ブートローダーを入れなおさないとサーバーが起動しなくなってしまいます。
以後、/boot領域として/dev/sda1を100メガバイト確保しているとして記述しますが、mdやsdのあとの数字はインストールする毎に
異なる場合もあります。また、シリアルataではなくパラレルataならば、hdaになると思います。本文中にある/dev/md3や/dev/sda1は、自身で読み替えてください。
ブートローダーを入れる
ここでは運悪くブートローダーのある方が破損したとします。運良くブートローダーのない側が破損した場合は、次の章まで飛ばしで大丈夫です。
破損しているハードディスクを外します。そして、生き残ってる側を、シリアルならata1、パラレルならプライマリーマスターに取り付けます。そして、Linuxをレスキューモードでブートします。
boot: linux rescue
CentOS6では起動メニューで[TAB]キーを押します。
grub>vmlinuz initrd=initrd.img linux rescue
grubをインストールします。
chroot /mnt/sysimage
/sbin/grub-install /dev/sda
ここを参考にしました。
http://docs.redhat.com/docs/ja-JP/Red_Hat_Enterprise_Linux/5/html/Installation_Guide/s1-rescuemode-boot.html
また、fstabにはおそらく/bootというラベルのパーティションを、/bootとしてマウントするように指定されているでしょう。もし1台目が破損してしまった場合、もうラベル指定ではブート領域の指定はできませんので、vi /etc/fstabとして、
LABEL=/boot /boot ext3 defaults 1 2
このような行を見つけて、
/dev/sda1 /boot ext3 defaults 1 2
として、ラベルではなく装置名で指定して、/bootにマウントするようにします。
破損しているハードディスクを外します。そして、生き残ってる側を、シリアルならata1、パラレルならプライマリーマスターに取り付けます。そして、Linuxをレスキューモードでブートします。
boot: linux rescue
CentOS6では起動メニューで[TAB]キーを押します。
grub>vmlinuz initrd=initrd.img linux rescue
grubをインストールします。
chroot /mnt/sysimage
/sbin/grub-install /dev/sda
ここを参考にしました。
http://docs.redhat.com/docs/ja-JP/Red_Hat_Enterprise_Linux/5/html/Installation_Guide/s1-rescuemode-boot.html
また、fstabにはおそらく/bootというラベルのパーティションを、/bootとしてマウントするように指定されているでしょう。もし1台目が破損してしまった場合、もうラベル指定ではブート領域の指定はできませんので、vi /etc/fstabとして、
LABEL=/boot /boot ext3 defaults 1 2
このような行を見つけて、
/dev/sda1 /boot ext3 defaults 1 2
として、ラベルではなく装置名で指定して、/bootにマウントするようにします。
ハードディスクの交換
レスキュー用Linuxはshutdown します。
シリアルならata2、パラレルならプライマリースレーブに新しいハードディスクを取り付け、ハードディスクでブートします。1台目を交換した場合はおそらくCentOS起動時にメニューの背景CGは出なくなると思います(真っ黒になる)が、気にせずそのまま待ちます。
シリアルならata2、パラレルならプライマリースレーブに新しいハードディスクを取り付け、ハードディスクでブートします。1台目を交換した場合はおそらくCentOS起動時にメニューの背景CGは出なくなると思います(真っ黒になる)が、気にせずそのまま待ちます。
RAIDの再構築
無事サーバーが起動したらrootでログインして、ソフトRAIDを修復します。
fdisk /dev/sdb
(ここで1台目と同じ構成のパーティションを作成します)
レイドに追加します。
mdadm --manage /dev/md0 --add /dev/sdb3
修復状況を確認します。
cat /proc/mdstat
100%まで修復できれば修復完了です。
このページの先頭へ
fdisk /dev/sdb
(ここで1台目と同じ構成のパーティションを作成します)
レイドに追加します。
mdadm --manage /dev/md0 --add /dev/sdb3
修復状況を確認します。
cat /proc/mdstat
100%まで修復できれば修復完了です。
広告