RAID: Redundant Arrays of Inexpensive Disks
主なRAIDレベル
mdadmコマンドのオプションにはCREATEモード、MANAGEモード、MISCモードの3つがある。
下記はmdadmの主要オプション
デバイスは8GBのUSB2.0メモリを使用
# fdisk -l
/dev/md0に2つのデバイスで構成したRAID0デバイスを作成
# mdadm -C /dev/md0 -l 0 -n 2 /dev/sdc1 /dev/sdd1
構成デバイスとmd0の速度を比べてみる
構成デバイスsdc sddのベンチマーク
# hdparm -t /dev/sdc1
# hdparm -t /dev/sdd1
/dev/md0のベンチマーク
# hdparm -t /dev/md0
RAIDデバイスの状態の確認
$ cat /proc/mdstat
# mdadm -Q /dev/md0
# mdadm -D /dev/md0
RAIDの停止
# mdadm --stop /dev/md0
# mdadm -C /dev/md0 -l 1 -n 2 /dev/sdc1 /dev/sdd1
# mdadm -Q /dev/md0
# mdadm -D /dev/md0
sdc1が故障したと仮定して不良マークをつける
# mdadm --manage /dev/md0 -f /dev/sdc1
もしcreate時にスペアデバイスを指定してあるならそのデバイスがアクティブになる。
故障しているsdcをRAIDから外す。
# mdadm --manage /dev/md0 -d /dev/sdc1
新しいデバイスを追加
# mdadm --manage /dev/md0 -a /dev/sde1
主な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
- 関連記事
-
-
CPU1個だけで起動させるカーネルオプション 201 2014/08/19
-
LVM 論理ボリューム管理 201 2014/08/15
-
RAID mdadm 201 2014/08/15
-
autofs automount 201 2014/08/14
-
mkisofsでisoイメージを作成 201 2014/08/14
-