RAID mdadm 201

/ LPIC / Comment[0]
RAID: Redundant Arrays of Inexpensive Disks

主なRAIDレベル
RAID0
複数のディスクにストライピング(分散して読み書き)することで高速化する
RAID1
複数のディスクに同じデータを書き込み冗長性を高める
RAID4
ストライピングすると同時に別ディスクにエラー訂正用のパリティ情報を記録する(最低3台のディスクが必要)
RAID5
ストライピングすると同時にディスク領域の一角にエラー訂正用のパリティ情報を記録する(最低3台のディスクが必要)

mdadmコマンドのオプションにはCREATEモード、MANAGEモード、MISCモードの3つがある。
下記はmdadmの主要オプション

CREATEモード
  • -C (--create) 作成するRAIDアレイを指定
  • -a 必要であればデバイスファイルを自動的に作成
  • -c チャンクサイズを指定する 単位はKB
  • -l (--level) RAIDレベルを指定
  • -n (--raid-devices) アクティブなデバイス数を指定
  • -x (--spare-devices) スペアデバイスの数を指定

MANAGEモード
  • --manage MANAGEモードとする
  • -a (--add) デバイスを追加
  • -r (--remove) デバイスを削除
  • -f (--fail) デバイスに不良マークをつける

MISCモード
  • --misc MISCモードとする
  • -Q (--query) RAIDの状態を表示
  • -D (--detail) RAIDの詳細情報を表示
  • -E (--examine) デバイスの状態を表示
  • --readonly 読み込み専用にする
  • --stop RAIDアレイを停止
  • --stop --scan 全てのRAIDアレイを停止


RAID0の構築


デバイスは8GBのUSB2.0メモリを使用
# fdisk -l
:
ディスク /dev/sdc: 8074 MB, 8074035200 バイト
ヘッド 120, セクタ 24, シリンダ 5475, 合計 15769600 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x000608b4

デバイス ブート 始点 終点 ブロック Id システム
/dev/sdc1 * 2048 15769599 7883776 83 Linux

ディスク /dev/sdd: 8019 MB, 8019509248 バイト
ヘッド 197, セクタ 44, シリンダ 1807, 合計 15663104 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x99b8fe08

デバイス ブート 始点 終点 ブロック Id システム
/dev/sdd1 2048 15663103 7830528 83 Linux

/dev/md0に2つのデバイスで構成したRAID0デバイスを作成
# mdadm -C /dev/md0 -l 0 -n 2 /dev/sdc1 /dev/sdd1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.


構成デバイスとmd0の速度を比べてみる

構成デバイスsdc sddのベンチマーク
# hdparm -t /dev/sdc1
/dev/sdc1:
Timing buffered disk reads: 82 MB in 3.07 seconds = 26.73 MB/sec

# hdparm -t /dev/sdd1
/dev/sdd1:
Timing buffered disk reads: 92 MB in 3.06 seconds = 30.10 MB/sec


/dev/md0のベンチマーク
# hdparm -t /dev/md0
/dev/md0:
Timing buffered disk reads: 134 MB in 3.01 seconds = 44.57 MB/sec


RAIDデバイスの管理


RAIDデバイスの状態の確認
$ cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 sdd1[1] sdc1[0]
15713280 blocks super 1.2 512k chunks

unused devices: <none>

# mdadm -Q /dev/md0
/dev/md0: 14.99GiB raid0 2 devices, 0 spares. Use mdadm --detail for more detail.

# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Fri Aug 15 15:38:27 2014
Raid Level : raid0
Array Size : 15713280 (14.99 GiB 16.09 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent

Update Time : Fri Aug 15 15:38:27 2014
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Chunk Size : 512K

Name : overlord:0 (local to host overlord)
UUID : 59c5fd60:48f10e3b:7086570b:2b1d3d8a
Events : 0

Number Major Minor RaidDevice State
0 8 33 0 active sync /dev/sdc1
1 8 49 1 active sync /dev/sdd1


RAIDの停止
# mdadm --stop /dev/md0


RAID1の構築


# mdadm -C /dev/md0 -l 1 -n 2 /dev/sdc1 /dev/sdd1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

# mdadm -Q /dev/md0
/dev/md0: 7.46GiB raid1 2 devices, 0 spares. Use mdadm --detail for more detail.

# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Fri Aug 15 16:04:34 2014
Raid Level : raid1
Array Size : 7826368 (7.46 GiB 8.01 GB)
Used Dev Size : 7826368 (7.46 GiB 8.01 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent

Update Time : Fri Aug 15 16:05:59 2014
State : clean, resyncing
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Resync Status : 18% complete

Name : overlord:0 (local to host overlord)
UUID : fe148538:4457d403:b31e5dbc:fa2007d4
Events : 2

Number Major Minor RaidDevice State
0 8 33 0 active sync /dev/sdc1
1 8 49 1 active sync /dev/sdd1

RAID1の不良デバイスの交換作業


sdc1が故障したと仮定して不良マークをつける
# mdadm --manage /dev/md0 -f /dev/sdc1
もしcreate時にスペアデバイスを指定してあるならそのデバイスがアクティブになる。

故障しているsdcをRAIDから外す。
# mdadm --manage /dev/md0 -d /dev/sdc1
mdadm: hot removed /dev/sdc1 from /dev/md0

新しいデバイスを追加
# mdadm --manage /dev/md0 -a /dev/sde1
mdadm: added /dev/sde1
関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可