トピックス記事     カテゴリ :ネットとサーバー

debian GNU/Linux LennyでRAID

クリーンインストールでRAIDを設定する

Debian Installer で「パーティションの設定」に進んでからの説明。

「パーティションの設定」で各パーティションのサイズを設定する。
異なる容量の HDD を使う場合、RAIDは容量の少ない HDD側の最大容量に合わせることになる。あまった容量をRAIDにせず、/local、/opt、/tmpなどにしてもよい。

   大ざっぱな進め方メモ

  1. RAID 1(ミラーリング)を使うときは、「手動」で2台のHDDのパーティションを対(アレイ)になるように同じ個数、同じサイズに切る。
  2. パーティションの「利用方法」を「RAIDの物理ボリューム」に指定し、その後「マルチディスク設定アクション」の「MD デバイスの作成」でアレイにするパーティションのペアを指定する。
  3. 「MD デバイスの作成」で作った「RAID1デバイス n」にマウントポイントを設定する。

パーティションの設定

最初にRAIDでない「パーティションの設定」と同じように、希望のパーティション構成に合わせてパーティションのサイズを決める。
RAIDにしないときと異なるのは、
  • アレイにするパーティションは、各々のHDDに同じサイズに切る。
  • 「利用方法」で「RAIDの物理ボリューム」を指定する。
    「ext3ジャーナリングファイルシステム」などは選択しない。
ことである。
サイズが異なるパーティションを指定すると、アレイは容量の小さいパーティションのサイズになる。一部だけ、例えば /homeだけをRAIDにすることもできる。RAIDにしないパーティションのサイズは好みで構わない。
「RAIDの物理ボリューム」を選んだパーティションは、「MD デバイスの作成」を行ないアレイを指定してからマウントポイントを指定する。

対象のパーティションの容量が不足すると、パッケージを読み込む過程でエラーが表示され、パーティションを切り直さないとインストールができなくなる。

「パーティションの設定」ではパーティションのリサイズもできる。
「マルチディスク設定アクション」で「MD デバイスの作成」を行なったパーティションは、一旦「MD デバイスの削除」でマルチディスクデバイスを削除したあとサイズを変更する。

「RAIDの物理ボリューム」を指定すると、「ディスクのパーティシニング」のメニュー上部に、「ソフトウェアRAIDの設定」の項目が現れる。

RAIDのアレイ設定

アレイのペアになるようにパーティションの切ったら「ソフトウェアRAIDの設定」に進む。
RAIDは、偶発故障期間中は心強い対策になるが、使用状況によっては片側のHDDに不具合が出たあと、数日をまたずもう一方に不具合が生じることがある。ペアにするHDDを異なるメーカの製品にする、同じロットにしないなど、摩耗故障の対策をしておく。
LennyのRAID設定は、sargeのころの RAID設定とは作業がかなり異なる。
「マルチディスク設定アクション」メニューで「MD デバイスの作成」さらに「RAID1」「RAID1アレイのアクティブデバイスの数」に 2(default)、「RAID1アレイのスペアデバイスの数」に 0(default)を指定。さらに「RAID1マルチディスクデバイス」でアレイにするパーティションを指定する。

不具合時に交換するスペアのための HDDを接続しているときは、「RAID1アレイのスペアデバイスの数」でその数を入力する。
スペアデバイスはアレイに組み込まれない。不具合発生時に # mdadm /dev/md0 -a /dev/hdd2 などでアレイに組み込む。

GRUBを入れるパーティションは、最初にMDデバイスの設定をする。
その後、ヘッドシークの合理性に合わせて順番に指定する。

アレイを指定すると「マルチディスク設定アクション」メニューに戻るので、すべてのアレイを指定するまでこの作業を繰り返す。指定が終わったら「マルチディスク設定アクション」メニューの「完了」をクリックする。

設定が終了すると「ディスクのパーティショニング」の初期画面に戻る。

アレイの削除は「ソフトウェアRAIDの設定」を進み「MD デバイスの削除」でマルチディスクデバイスを削除する。
アレイを削除すればパーティションの変更ができる。

マウントポイントの設定

「ディスクのパーティショニング」画面に 「マルチディスク設定アクション」で指定した「RAID1デバイス 0」から「RAID1デバイス n」が追加されるので、各 RAID1デバイスに、「パーティションの利用方法」、「マウントポイント」を設定する。

作業は、従来のパーティション設定とおなじように、「利用方法」->「ext3ジャーナリングファイルシステム」、「マウントポイント」->「/usr」などの設定を行う。

「パーティショニングの終了とディスクへの変更の書き込み」をすると、installerは構成を登録しパッケージの導入に進む。

RAIDの確認

installerのrebootの後、RAIDの確認を行う。
# df

RAIDの双方の md0から起動する改造

RAIDのすべての起動パーティションから起動するための設定を行う。

installerの最後のGRUB書き込みは、RAIDの起動ディスク側(primary)の/bootにのみ行われる。他方(secondary)の/bootを起動可能にするために、GRUBを書き込む。
md0に /bootがあることが前提。

# grub
grub> device (hd0) /dev/hdb       <- (hd0) を /dev/hdb とする
grub> root (hd0,1)       <- /boot があるパーティション(/dev/hdb1)は(hd0,0)、(/dev/hdb2)は(hd0,1)
Filesystem type is ext2fs, partition type 0xfd

grub> setup (hd0)        <- (hd0) に GRUB をインストール
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 17 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+17 p (hd0,1)/boot/grub/stage2
/boot/grub/menu.lst"... succeeded
Done.

grub> quit
「/」の中に"/boot"があるときは"/boot/grub/stage1"。"/boot"でパーティションを切っているときは、"/grub//rub/stage1"になる。

RAIDに不具合が生じた時 mailで連絡する設定

片肺になっても不具合発生を知らなければ危機管理はボロボロである。
RAIDに不具合が生じたとき、警告を受け取れるよう設定する。
# cat /etc/mdadm/mdadm.conf
.......略........


MAILADDR username@example.com <-これ変更
不具合が発生すると次のようなメールが届く。
X-Original-To: raidadmin@example.jp
Delivered-To: raidadmin@example.jp
From: mdadm monitoring <root@debian.example.jp>
To: raidadmin@example.jp
Subject: DegradedArray event on /dev/md2:debian
Date: Fri, 23 Oct 2009 16:29:26 +0900 (JST)

This is an automatically generated mail message from mdadm
running on debian

A DegradedArray event had been detected on md device /dev/md0.   <- md0が異常

Faithfully yours, etc.

P.S. The /proc/mdstat file currently contains the following:

Personalities : [raid1]
md4 : active raid1 sdb7[1]   <- secondaryしかない
1349312 blocks [2/1] [_U]   <- primaryが動いていない

md3 : active raid1 sdb6[1]   <- secondaryしかない
29294400 blocks [2/1] [_U]   <- primaryが動いていない

md2 : active raid1 sdb5[1]   <- secondaryしかない
497856 blocks [2/1] [_U]   <- primaryが動いていない

md1 : active raid1 sdb3[1]   <- secondaryしかない
7815552 blocks [2/1] [_U]   <- primaryが動いていない

md0 : active raid1 sdb2[1]   <- secondaryしかない
248896 blocks [2/1] [_U]   <- primaryが動いていない

unused devices:


実際に RAIDが片肺で起動するか確認

RAIDにしたつもりでも、実際にRAID動作していない、不具合が出たとき shutdownしたら再起動できないでは意味がない。
RAID 1が設定され、いずれのHDDからでも bootできることを確認する。
稼働中に片肺になっても稼働すること、片肺状態で、生きている HDDで再起動できることを確認する。

hda(sda)の電源を外し起動することを確認する。
PCによっては primary/master HDDでしか起動しないものがある。
IDEなら hdbのモードを cable select(slave)から masterに変更し、起動できることを確認する。SCSIは ID か primary/secondaryの指定を変えて確認する。
HDDが1台では起動しないハードウェアもある。その場合は2台のHDDを接続してテストする。

RAIDに不具合が生じたときの HDD交換

片肺になったとき復旧できなければ RAIDにした意味がない。
不具合が生じた HDDを、新しい HDDに入れ替えて稼働を続けたい。

さらに debianのRAID復旧 に続く。
debian GNU/Linux Lenny

Comments

Add Comment

このアイテムは閲覧専用です。コメントの投稿、投票はできません。
 
Copyright | 8 Peaks Inc. | Saku City NAGANO | 0267-82-7082 | Back to top