RAID5とは
RAID5レベルは、複数のディスクにデータとパリティ情報を記録することで高速化と耐障害性の向上、大容量化が実現できるRAID技術です。データをディスクに記録する際、そのデータのパリティ情報を生成し、残りのデータとともにストライピングによって全ディスクに分散して書き込みを行います。パリティ情報は全ディスクに分散され書き込まれます。
これにより、パリティ専用ディスクのみに負荷が集中し、性能が低下することを防ぎます。
この様にしておけば、万が一1台のディスクが故障しても、それ以外のディスクのデータとパリティ情報から元の完全なデータを生成して回復することが出来るようになります。しかし、回復可能なのは1台のディスクが故障したときであり、同時に2台以上が壊れると復旧が出来なくなる場合もあります。
パリティに必要な容量はディスク1台分で済むため、ミラーリングよりも効率よくディスク領域を使用できるのでディスク台数が多いほど容量の利用効率も向上します。
RAID5では、ディスクからの読み出し時には、複数ディスクからの同時並行読み出しが可能なので高速化がなされますが、データの書き込み時にはパリティを算出・生成する必要があり、その分のオーバーヘッドがかかります。RAID5には最低3ドライブが必要です。
RAID関連技術文書について
RAID5復旧可能症状
- Raid configuration 損傷 :設定の変更がなければ復旧率は高いです。
- 起動エラー : 起動エラー復旧率は損傷内容によります。
- ブルースクリーン : 障害が発生した後、データの追加作業がなければ復旧率は高いです。
- ハードディスク fail : 物理障害ハードディスクの場合には物理障害を修理した後、復旧作業を行います。
サーバー/ RAID構築・管理会社、製造メーカ、他の復旧会社で復旧できなかった場合もあきらめずにご依頼下さい。
DRTCはRAID5のデータ復元にもハードディスクデータ復旧から蓄積された技術力で対応しております。
受付から納品まで RAID・サーバーのデータ復旧事例 RAID・サーバのデータ復旧費用と作業時間
Raid Rebuild 中のエラー
- Raid5使用中一台のハードディスク fail :リビルド中、2次エラーが発生。
- Raid5使用中二台のハードディスク fail :リビルド中、発生される代表的な傷害。
- Raid configuration 再設定 :以前の正確なRAID情報があり、上書きされなかった場合復旧の可能性はあります。
※注意事項
CONFIGURATION情報が損傷された場合は、絶対に CONFIGURATION情報を修正したり、再設定してはいけません。 データ領域が初期化される場合があります。特にRAID復旧には専門技術とノウハウが必要です。RAID復旧に対する専門知識なしに復旧作業を試みる業者がいるため、業者選択は慎重に行ってください。安易な復旧作業を行い、復旧ができなくなることもあります。
RAID5(Software)復旧過程
システムから認識されたRAID
Dmesg中 RAID関連部分
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: raidstart(pid 493) used deprecated START_ARRAY ioctl. This will not be supported beyond 2.6
md: autorun ...
md: considering sde ...
md: adding sde ...
md: adding sdd ...
md: adding sdc ...
md: adding sdb ...
md: created md0
md: bind<sdb>
md: bind<sdc>
md: bind<sdd>
md: bind<sde>
md: running: <sde><sdd><sdc><sdb>
raid5: automatically using best checksumming function: pIII_sse
pIII_sse : 2044.000 MB/sec
raid5: using function: pIII_sse (2044.000 MB/sec)
md: raid5 personality registered as nr 4
raid5: device sdd operational as raid disk 2
raid5: device sdc operational as raid disk 1
raid5: device sdb operational as raid disk 0
raid5: allocated 3161kB for md0
raid5: raid level 5 set md0 active with 3 out of 3 devices, algorithm 2
RAID5 conf printout:
--- rd:3 wd:3 fd:0
disk 0, o:1, dev:sdb
disk 1, o:1, dev:sdc
disk 2, o:1, dev:sdd
md: ... autorun DONE.
/etc/raidtab 構成内容
RAID システム設定内容が記録されている /etc/raidtab ファイルの内容の/dev/sdeが spare-diskで設定されているので、障害が発生すると、障害のディスクを代替します。
[root@csdove /]# more /etc/raidtab
raiddev /dev/md0
raid-level 5
nr-raid-disks 3
nr-spare-disks 1
parity-algorithm left-symmetric
persistent-superblock 1
chunk-size 128
device /dev/sdb
raid-disk 0
device /dev/sdc
raid-disk 1
device /dev/sdd
raid-disk 2
device /dev/sde
spare-disk 0
/proc/mdstatの内容
正常に作動中 arrayの /proc/mdstatの内容
[root@csdove /]# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sde[3] sdd[2] sdc[1] sdb[0]
71687168 blocks level 5, 128k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none
ディスクの障害発生と復旧過程
CONFIGURATION情報が損傷された場合は、絶対に CONFIGURATION情報を修正したり、再設定してはいけません。
データ領域が初期化してしまう場合があります。特にRAID復旧には専門技術とノウハウが必要です。RAID復旧に対する専門知識なしに復旧作業を試みる業者がいるため、業者選択は慎重に行ってください。安易な復旧作業を行い、復旧できなくなることもあります。
ディスクの障害発生
Arrayの構成ディスク中から1つを(sdc)取り出しました。
システムは異常を感知しエラーメッセージを出します。
SCSI error : <0 0 4 0> return code = 0x10000
end_request: I/O error, dev sdc, sector 71687168
md: write_disk_sb failed for device sdc SCSI error : <0 0 4 0> return code = 0x10000
md: write_disk_sb failed for device sdc
end_request: I/O error, dev sdc, sector 71687168 SCSI error : <0 0 4 0> return code = 0x10000
end_request: I/O error, dev sdc, sector 71687168
md: write_disk_sb failed for device sdc SCSI error : <0 0 4 0> return code = 0x10000
end_request: I/O error, dev sdc, sector 71687168
md: write_disk_sb failed for device sdc SCSI error : <0 0 4 0> return code = 0x10000
end_request: I/O error, dev sdc, sector 71687168
md: write_disk_sb failed for device sdc
障害の感知と復旧
Arrayの構成ディスク中から1つを(sdc)取り出しました。
システムは異常を感知しエラーメッセージを出します。
SCSI error : <0 0 4 0> return code = 0x10000
end_request: I/O error, dev sdc, sector 71687168
md: write_disk_sb failed for device sdc SCSI error : <0 0 4 0> return code = 0x10000
md: write_disk_sb failed for device sdc
end_request: I/O error, dev sdc, sector 71687168 SCSI error : <0 0 4 0> return code = 0x10000
end_request: I/O error, dev sdc, sector 71687168
md: write_disk_sb failed for device sdc SCSI error : <0 0 4 0> return code = 0x10000
end_request: I/O error, dev sdc, sector 71687168
md: write_disk_sb failed for device sdc SCSI error : <0 0 4 0> return code = 0x10000
end_request: I/O error, dev sdc, sector 71687168
md: write_disk_sb failed for device sdc
障害ディスク除去
raidhotremove で障害の装置を arrayから除去します。
この作業は復旧中にも行うことが出来ます。
[root@csdove ~]# raidhotremove /dev/md0 /dev/sdc
md: trying to remove unknown-block(8,32) from md0 ...
md: unbind<sdc>
md: export_rdev(sdc)
コマンド実行後 /proc/mdstat の内容です。
[root@csdove ~]# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sde[1] sdd[2] sdb[0]
71687168 blocks level 5, 128k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
新しいディスク装着
新しいディスクを装着すると、システムはこれを感知しメッセージを出します。
scsi0: Someone reset channel A
scsi0: Someone reset channel A
scsi0: Someone reset channel A
scsi0: Someone reset channel A
scsi0: Someone reset channel A
raidhotadd で新しい装置を arrayに追加します。
[root@csdove ~]# raidhotadd /dev/md0 /dev/sdc
md: trying to hot-add unknown-block(8,32) to md0 ...
md: bind<sdc> RAID5 conf printout:
--- rd:3 wd:3 fd:0
disk 0, o:1, dev:sdb
disk 1, o:1, dev:sde
disk 2, o:1, dev:sdd
復旧過程中の /proc/mdstat 内容
障害が発生したディスク sdcが(F) - Fail になっていることが確認できます。また、復旧の進行状況も確認できます。
[root@csdove ~]# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sde[3] sdd[2] sdc[4](F) sdb[0]
71687168 blocks level 5, 128k chunk, algorithm 2 [3/2] [U_U]
[========>............] recovery = 44.8% (16076544/35843584) finish=14.2m
in speed=23114K/sec
unused devices: <none> [root@csdove ~]# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sde[3] sdd[2] sdc[4](F) sdb[0]
71687168 blocks level 5, 128k chunk, algorithm 2 [3/2] [U_U]
[============>........] recovery = 60.3% (21639168/35843584) finish=10.0m
in speed=23552K/sec
unused devices: <none> [root@csdove ~]# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sde[3] sdd[2] sdc[4](F) sdb[0]
71687168 blocks level 5, 128k chunk, algorithm 2 [3/2] [U_U]
[===================>.] recovery = 99.9% (35824896/35843584) finish=0.0mi
n speed=23019K/sec
unused devices: <none>
復旧完了
復旧が完了された RAID装置の状態を確認。RAID構成のディスク順番が変わっていることが確認できます。
[root@csdove ~]# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdc[3] sde[1] sdd[2] sdb[0]
71687168 blocks level 5, 128k chunk, algorithm 2 [3/3] [UUU]
24時間専門スタッフの無料相談
PCからサーバー、論理障害から物理障害まで。まずはお問合せください。