私の状況はほぼ同じです「非標準の 2 ドライブ RAID 5 アレイからドライブを削除するにはどうすればいいですか?」ただし、私の2TB RAID5はmdadmスーパーブロックバージョン1.2を使用しています。最良の答え「これは mdadm スーパー ブロック バージョン 0.90 なので、各ドライブは単独でも使用できます。1.1 と 1.2 ではメタデータがアレイの先頭近くに配置されているため、これらのバージョンでは機能しません。」
しかし、実行後
mdadm /dev/md0 --grow --raid-devices=2
その後のレイアウト変更が完了すると、RAID 5 は次のようになります。
/dev/md0:
Version : 1.2
Creation Time : Thu Sep 25 11:25:10 2014
Raid Level : raid5
Array Size : 1953383296 (1862.89 GiB 2000.26 GB)
Used Dev Size : 1953383296 (1862.89 GiB 2000.26 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Sun May 3 17:19:39 2015
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 128K
Name : XXX:0 (local to host XXX)
UUID : XXX:XXX:XXX:XXX
Events : 93388
Number Major Minor RaidDevice State
3 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
私の 2 つのデバイスは次のようになります。
/dev/sdb:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 37ac9dbd:a823812b:fe8a59f6:ba24bf34
Name : XXX:0 (local to host XXX)
Creation Time : Thu Sep 25 11:25:10 2014
Raid Level : raid5
Raid Devices : 2
Avail Dev Size : 3906767024 (1862.89 GiB 2000.26 GB)
Array Size : 1953383296 (1862.89 GiB 2000.26 GB)
Used Dev Size : 3906766592 (1862.89 GiB 2000.26 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
State : clean
Device UUID : XXX:XXX:XXX:XXX
Update Time : Sun May 3 13:11:25 2015
Checksum : 30f8e8f7 - correct
Events : 93388
Layout : left-symmetric
Chunk Size : 128K
Device Role : Active device 0
Array State : AA ('A' == active, '.' == missing)
--
/dev/sdc:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 37ac9dbd:a823812b:fe8a59f6:ba24bf34
Name : XXX:0 (local to host XXX)
Creation Time : Thu Sep 25 11:25:10 2014
Raid Level : raid5
Raid Devices : 2
Avail Dev Size : 3906767024 (1862.89 GiB 2000.26 GB)
Array Size : 1953383296 (1862.89 GiB 2000.26 GB)
Used Dev Size : 3906766592 (1862.89 GiB 2000.26 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
State : clean
Device UUID : XXX:XXX:XXX:XXX
Update Time : Sun May 3 13:11:25 2015
Checksum : 6ab24a9f - correct
Events : 93388
Layout : left-symmetric
Chunk Size : 128K
Device Role : Active device 1
Array State : AA ('A' == active, '.' == missing)
各ドライブの「データ オフセット」の値を考慮します。
dd if=/dev/sdb skip=262144 bs=512 count=1024 of=/tmp/b
dd if=/dev/sdc skip=262144 bs=512 count=1024 of=/tmp/c
同等の md5sum が引き続き取得されます:
79e53dd4906b3fcb7b1f7c613325c377 /tmp/b
79e53dd4906b3fcb7b1f7c613325c377 /tmp/c
ということは、
mdadm /dev/md0 --fail /dev/sdc --remove /dev/sdc
mdadm --zero-superblock /dev/sdc
または
mdadm --stop /dev/md0
mdadm --create /dev/md0 --level=1 --raid-devices=1 --force /dev/sdb
mdadm --zero-superblock /dev/sdc
データの損失は発生しませんか (最後のドライブが故障する前に残りのデータが別の場所に移動されると仮定)?
答え1
さっそく試してみたところ、答えは「はい」でした。mdadm スーパーブロック バージョン 1.2 を使用した 2 ディスク RAID5 では、実際に、ディスクの 1 つに障害が発生して取り外されても、データが保持されます。
例えば:
mdadm /dev/md0 --fail /dev/sdc --remove /dev/sdc
mdadm --zero-superblock /dev/sdc