내 상황은 거의 동일합니다"비표준 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
내 두 장치는 다음과 같습니다.
/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는 실제로 디스크 중 하나가 실패하거나 제거되더라도 데이터를 유지합니다.
예:
mdadm /dev/md0 --fail /dev/sdc --remove /dev/sdc
mdadm --zero-superblock /dev/sdc