CentOSでソフトウェアRAIDの構築

提供:maruko2 Note.
移動: 案内, 検索

目次

CentOS では mdadm コマンドを使い、ソフトウェア RAID (Linux Software RAID) を構築することができる。

RAID レベルとして RAID0/1/4/5/6/10 がサポートされている。

大まかな手順は次のようになる。

  1. RAID を構成するディスクに RAID 用パーティションを作成 (fdisk コマンドなど)。
  2. mdadm コマンドで RAID アレイを作成。
  3. /etc/mdadm.conf を作成。
  4. RAID アレイをフォーマット(ファイルシステム作成)。

ディスクに RAID 用パーティションを作成

例では SCSI ハードディスクを 3個増設し、その 3個のディスクを使って RAID アレイを構築する。

デバイス名は次の3つを使用して説明する。

/dev/sdb
/dev/sdc
/dev/sdd

IDE(PATA) ハードディスクの場合、デバイス名は /dev/hdb などになる。

fdisk コマンドで RAID 用パーティションを作成

fdisk コマンドを使い、RAID アレイとして使用する全てのディスクに RAID 用のパーティションを作成する。

[root@centos5 ~]# fdisk /dev/sdc

このディスクのシリンダ数は 17365 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
   (例. DOS FDISK, OS/2 FDISK)

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-17365, default 1):
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-17365, default 17365):
Using default value 17365

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

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

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

それぞれのディスクに RAID 用パーティションが 1つずつ作成される。

mdadm コマンドで RAID アレイを作成

/dev/sdb1, /dev/sdc1, /dev/sdd1 の 3個のパーティションを使って、RAID レベル 5 の RAID アレイ /dev/md0 を作成する。

[root@centos5 ~]# mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sd[bcd]1
mdadm: /dev/sdb1 appears to contain an ext2fs file system
    size=53344896K  mtime=Thu Oct  1 19:40:51 2009
Continue creating array? y
mdadm: array /dev/md0 started.
--level=RAID Level
RAID レベルを指定する。
--raid-devices=RAIDアレイを構成するデバイスの数
RAIDアレイを構成するデバイスの数を指定する。

RAID の状態を表示する

RAID5 アレイを構成するには時間がかかる。RAID アレイの状態は cat /proc/mdstat で確認できる。

RAID アレイ構築中(RAID5 の場合)

[root@centos5 ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] 
md0 : active raid5 sdd1[3] sdc1[1] sdb1[0]
      35563264 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_]
      [>....................]  recovery =  1.4% (261668/17781632) finish=13.3min speed=21805K/sec

RAID アレイ構築完了

[root@centos5 ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] 
md0 : active raid5 sdd1[2] sdc1[1] sdb1[0]
      35563264 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

/etc/mdadm.conf を作成

/etc/mdadm.conf に RAID アレイの情報を記述する。アレイ情報は次のコマンドを実行することで表示できる。

[root@centos5 ~]# mdadm --detail --scan
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=7a523b57:92ba42fc:6cd356de:ab45d2c0

ARRAY の行を /etc/mdadm.conf に追記する。

[root@centos5 ~]# mdadm --detail --scan >> /etc/mdadm.conf

RAID アレイにファイルシステムを作成しマウントする

RAID アレイ構築完了後、/dev/md0EXT3 ファイルシステムを作成する。

[root@centos5 ~]# mkfs -t ext3 /dev/md0

/dev/md0 デバイスを、例えば /data ディレクトリにマウントするには、/etc/fstab に次のような行を追記して、mount コマンドを実行する。

/etc/fstab

/dev/md0  /data  ext3  defaults 1 2

/data ディレクトリを作成し、mount する。

[root@centos5 ~]# mkdir /data
[root@centos5 ~]# mount -a

RAID アレイを監視する

RAID アレイを監視し、障害が発生した場合メールで知らせることができる。

/etc/mdadm.conf にメールアドレスを設定(追記)する。

MAILADDR foo@example.com

mdmonitor を起動するだけ。ついでに OS 起動時に自動するようにしておく。

[root@centos5 ~]# /etc/init.d/mdmonitor start
[root@centos5 ~]# chkconfig mdmonitor on

mdmonitor は、mdadm を --monitor モードで起動し RAID アレイを監視している。

[root@centos5 ~]# mdadm --monitor /dev/md0

メールが送れるかテストするには、次のようにする。

[root@centos5 ~]# mdadm --monitor --test --oneshot --scan
--test
テストメッセージを送る。
--oneshot
1回だけ RAID アレイをチェックし終了する。
--scan
mdadm.conf に書かれた設定情報を読み取る。

RAID アレイを解除する

手順としては、次のようになる。

  1. アンマウントする。
  2. [root@centos5 ~]# umount /raid
    
  3. RAIDアレイを無効化 (deactivate) する。
  4. [root@centos5 ~]# mdadm --misc --stop /dev/md0
    

    deactivate できているか確認。

    [root@centos5 ~]# cat /proc/mdstat
    Personalities : [raid5] 
    unused devices: <none>
    [root@centos5 ~]# mdadm -D /dev/md0
    mdadm: md device /dev/md0 does not appear to be active.
    
  5. RAIDアレイを構成するデバイスの superblock を消去する。
  6. [root@centos5 ~]# mdadm --misc --zero-superblock /dev/sdb1 /dev/sdc1 /dev/sdd1
    
  7. それぞれのデバイスを初期化する。
  8. [root@centos5 ~]# fdisk /dev/sdb
    [root@centos5 ~]# fdisk /dev/sdc
    [root@centos5 ~]# fdisk /dev/sdd
    

関連ページ

脚注

LINEで送る このエントリーをはてなブックマークに追加
個人用ツール
名前空間
変種
表示
操作
案内
ツールボックス

注目のページ

このサイトのはてなブックマーク数