サーバー機にとって、ハードディスクに記録されているデータは非常に大切なものです。バックアップはとっていますが、1日に1回とかの頻度では日々刻々と更新されるデータを完全に保護することはできません。特に不安なのはハードディスクが機械的に故障することによってサーバーが停止し、データのリカバリーもできなくなってしまう(業者に出せばリカバリー可能らしいがそこまで自宅サーバーでする気にはならない)という事態です。そこでRAID1を組むことによりハードディスクの信頼性をアップし、万一の故障時にもリカバリーを可能にすることを考えます。RAIDはハードでやる方法(RAIDカードを増設) とソフトでやる方法があります。ハードでやるのは高速に動作するのですがお金が余分にかかります。ソフトでやる方法では、Fedora CoreにはRAIDのソフトが実装されていることからもう1つハードディスクを追加するだけで済みます。今回はソフトウェアRAID1を組んでみることにします。
ソフトウェアRAIDを組むのに、すでに1つのハードディスクにLinuxがインストールされているところにハードディスクを増設してやる方法と、インストールの際に新規にパーティションを切りなおす方法があるのですが、今回はサーバー機の変更の際についでにやったので新規でやる方法について述べます。
インストーラで「ディスクパーティションの設定」画面まで通常通りにインストールをすすめます。「ディスクパーティションの設定」では「Disk Druidを使用して手動パーティション設定」にチェックを入れて「次」をクリックします。
「ディスクの設定」画面が出ます。ここで下の枠の中に「/dev/hda」「/dev/hdb」と表示されているのがそれぞれのハードディスクです。ハードディスクが既に使用済みだったりすると、それぞれのデバイスの下にいろいろとパーティションが表示されていることと思います。その場合、それぞれのデバイスの上をクリックして反転させ「削除」をクリックするとパーティションを消去することができます。
パーティションを一旦全部削除したら、次に「新規」をクリックします。「パーティション追加」の画面が出ますので、「ファイルシステムタイプ」で「software RAID」を選択します。「使用可能なドライブで「hda」にチェックを入れ、「hdb」のチェックをはずします。まずブートパーティションを作ります。容量に「100」と入力して「OK」をクリックします。次にまた「新規」をクリックして「パーティション追加」画面に戻ります。次はルートパーティションを作ります。ハードディスクの容量からブートパーティションの100とスワップパーティションの800(実メモリと同程度で十分)を引いた分を容量としてブートパーティションと同様に作成します。さらにまた「パーティション追加」画面に戻り、今度は「ファイルシステムタイプ」で「swap」を選択し、容量に「800」と入力して「OK」をクリックします。続いて、今度は「使用可能なドライブ」で「hdb」にチェックを入れ同じ行程を繰り返します。2つのハードディスクにまったく同じ内容のパーティションを作成するわけです。
パーティションを作成したら「ディスクの設定」画面の「RAID」をクリックします。「RAIDデバイスを作成」にチェックを入れて「OK」をクリックします。「RAIDデバイス作成」画面で「マウントポイント」に「/boot」を、「RAIDレベル」には「RAID1」を入れます。「RAIDメンバー」ボックスの中でそれぞれのハードディスクのブートパーティションにチェックを入れます。「OK」をクリックします。次にもう一度「RAID」をクリックしてルートパーティション「/」について同じ行程を繰り返します。こうして「ディスクの設定」画面の下のボックスに「RAIDデバイス」として「/dev/md0」と「/dev/md1」が作成されていればソフトウェアRAIDは完成です。「次」をクリックしてインストールを続行します。
これでソフトウェアRAID1は機能するようになるのですが、このままではブートローダが1台目のハードディスクにしか入っていないので1台目のハードディスクが故障すると2台目のハードディスクが生きていても起動できなくなってしまいます。そこでブートローダを2台目のハードディスクにコピーします。方法は端末から「grub」と入力してgrubを起動し、
grub> device (hd0) /dev/hdb
grub> root (hd0,0)
grub> install /grub/stage1 (hd0) /grub/stage2 p /grub/grub.conf
と入力します。これでどちらのハードディスクのみでも起動できるようになります。