![RAID4/RAID0 배열 다시 만들기](https://linux55.com/image/162125/RAID4%2FRAID0%20%EB%B0%B0%EC%97%B4%20%EB%8B%A4%EC%8B%9C%20%EB%A7%8C%EB%93%A4%EA%B8%B0.png)
먼저 다음 명령을 실행하여 새 디스크를 추가한 RAID0 어레이가 있었습니다.
mdadm --add
하지만 이 작업을 수행했을 때 전원 문제로 인해 드라이브가 실패하기 시작했고 그 이후로 어레이가 부팅되지 않았습니다. mdadm이 RAID0을 RAID4 유형 어레이로 이동하기 시작한 직후입니다.
나는 전에 시도했다배열 다시 만들기하지만 이전에 생성되지 않은 파티션이 이제 표시되기 때문에 실패했습니다. 2개의 1TB 드라이브를 사용하여 /dev/md/0 어레이에 2TB 크기 파티션 하나만 생성되었습니다.
sdb 8:16 0 931,5G 0 disk
└─md0 9:0 0 931,4G 0 raid4
├─md0p1 259:0 0 27,3G 0 md
└─md0p2 259:1 0 421G 0 md
sdc 8:32 0 931,5G 0 disk
└─md0 9:0 0 931,4G 0 raid4
├─md0p1 259:0 0 27,3G 0 md
└─md0p2 259:1 0 421G 0 md
이것은 --examine 출력이기도 합니다(배열이 실패한 직후, 배열을 다시 생성하려고 시도하기 전).
muszy@nas:~$ sudo mdadm --examine /dev/sdb
/dev/sdb:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x44
Array UUID : 05b3504e:d335720b:a0d9c0ee:dd2e7a8f
Name : nas:0 (local to host nas)
Creation Time : Wed Oct 2 12:49:47 2019
Raid Level : raid4
Raid Devices : 4
Avail Dev Size : 1953260544 (931.39 GiB 1000.07 GB)
Array Size : 2929890816 (2794.16 GiB 3000.21 GB)
Data Offset : 264192 sectors
New Offset : 261120 sectors
Super Offset : 8 sectors
State : active
Device UUID : f8ce2e05:671f6377:767d7d05:4a0f7727
Reshape pos'n : 19646976 (18.74 GiB 20.12 GB)
Delta Devices : 1 (3->4)
Update Time : Fri Oct 11 12:28:20 2019
Bad Block Log : 512 entries available at offset 8 sectors
Checksum : 509e6f70 - correct
Events : 43
Chunk Size : 512K
Device Role : Active device 1
Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)
muszy@nas:~$ sudo mdadm --examine /dev/sdc
/dev/sdc:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x46
Array UUID : 05b3504e:d335720b:a0d9c0ee:dd2e7a8f
Name : nas:0 (local to host nas)
Creation Time : Wed Oct 2 12:49:47 2019
Raid Level : raid4
Raid Devices : 4
Avail Dev Size : 1953260976 (931.39 GiB 1000.07 GB)
Array Size : 2929890816 (2794.16 GiB 3000.21 GB)
Used Dev Size : 1953260544 (931.39 GiB 1000.07 GB)
Data Offset : 264192 sectors
New Offset : 261120 sectors
Super Offset : 8 sectors
Recovery Offset : 13097984 sectors
State : clean
Device UUID : 3fc0cbbf:068b4f7e:7359304e:b26ca865
Reshape pos'n : 19646976 (18.74 GiB 20.12 GB)
Delta Devices : 1 (3->4)
Update Time : Fri Oct 11 12:28:09 2019
Bad Block Log : 512 entries available at offset 264 sectors
Checksum : 99d7e462 - correct
Events : 41
Chunk Size : 512K
Device Role : Active device 2
Array State : AAA. ('A' == active, '.' == missing, 'R' == replacing)
muszy@nas:~$ sudo mdadm --examine /dev/sdd
/dev/sdd:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x44
Array UUID : 05b3504e:d335720b:a0d9c0ee:dd2e7a8f
Name : nas:0 (local to host nas)
Creation Time : Wed Oct 2 12:49:47 2019
Raid Level : raid4
Raid Devices : 4
Avail Dev Size : 1953260544 (931.39 GiB 1000.07 GB)
Array Size : 2929890816 (2794.16 GiB 3000.21 GB)
Data Offset : 264192 sectors
New Offset : 261120 sectors
Super Offset : 8 sectors
State : active
Device UUID : 9e985730:eddba18f:6f636c8a:79ecdfc2
Reshape pos'n : 19646976 (18.74 GiB 20.12 GB)
Delta Devices : 1 (3->4)
Update Time : Fri Oct 11 12:28:20 2019
Bad Block Log : 512 entries available at offset 8 sectors
Checksum : b45db8c4 - correct
Events : 43
Chunk Size : 512K
Device Role : Active device 0
Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)
제가 제공한 정보를 사용하여 어레이를 복구할 수 있는 기회가 있습니까?
Frostschutz의 도움 덕분에 오버레이를 만들고 두 어레이를 모두 성공적으로 시작할 수 있었습니다.
어레이 1(이전 "RAID0"):
parallel 'test -e /dev/loop{#} || mknod -m 660 /dev/looparray1{#} b 7 {#}' ::: /dev/sda /dev/sdb
parallel truncate -s1000G array1-overlay-{/} ::: /dev/sda /dev/sdb
parallel 'size=$(blockdev --getsize {}); loop=$(losetup -f --show -- array1-overlay-{/}); echo 0 $size snapshot {} $loop P 8 | dmsetup create array1{/}' ::: /dev/sda /dev/sdb
mdadm --create /dev/md/array1 --assume-clean --level=0 --chunk=512K --data-offset=264192s --raid-devices=2 /dev/mapper/array1sda /dev/mapper/array1sdb
Linux에서는 "알 수 없는 2TB" 파티션이 표시됩니다.
어레이 2(새 어레이 "RAID4"):
parallel 'test -e /dev/loop{#} || mknod -m 660 /dev/looparray2{#} b 7 {#}' ::: /dev/sda /dev/sdb /dev/sdd
parallel truncate -s1000G array2-overlay-{/} ::: /dev/sda /dev/sdb /dev/sdd
parallel 'size=$(blockdev --getsize {}); loop=$(losetup -f --show -- array2-overlay-{/}); echo 0 $size snapshot {} $loop P 8 | dmsetup create array2{/}' ::: /dev/sda /dev/sdb /dev/sdd
mdadm --create /dev/md/array2 --assume-clean --level=0 --chunk=512K --data-offset=261120s --raid-devices=3 /dev/mapper/array2sda /dev/mapper/array2sdb /dev/mapper/array2sdd
Linux에서는 3TB 크기의 EXT4 파티션이 표시되지만 이제 마운트할 수 없으며 TestDisk에서는 디렉터리 구조(빨간색으로 표시)를 확인합니다.
내가 그것들을 결합하려고 할 때:
blockdev --getsize /dev/md/array1
3906521088
blockdev --getsize /dev/md/array2
5859790848
echo -e '0 3906521088 linear /dev/md/array1 0'\\n'3906521088 1953269760 linear /dev/md/array2 3906521088' | dmsetup create rec-array
아무런 목적도 없는 3TB 드라이브를 생성합니다.