소프트웨어 raid5에 설정된 4개의 오래된 HDD에서 데이터를 복구하려고 하는데 디스크에 오류가 발생한 것 같습니다. 제가 하고 싶은 일은 공격대를 복원하여 데이터를 다른 곳에 복사할 수 있도록 하는 것입니다. 몇 가지 조사를 했고 이를 사용하여 재동기화를 수행하고 싶지만 mdadm
궁극적으로 이를 엉망으로 만들고 싶지 않으며 누군가 이를 달성하기 위해 수행해야 할 작업을 설명할 수 있다면 데이터 보안에 크게 감사하겠습니다. 나는 또한 우분투 16.04를 사용하고 있으며 이것이 내가 실행할 때 보는 것입니다.mdadm --detail /dev/md0
/dev/md0:
Version : 1.1
Creation Time : Thu Feb 13 09:03:27 2014
Raid Level : raid5
Array Size : 4395016704 (4191.41 GiB 4500.50 GB)
Used Dev Size : 1465005568 (1397.14 GiB 1500.17 GB)
Raid Devices : 4
Total Devices : 3
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Sun Dec 23 12:51:56 2018
State : clean, FAILED
Active Devices : 2
Working Devices : 2
Failed Devices : 1
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : CentOS-01:0
UUID : 1cf7d605:8b0ef6c5:bccd8c1e:3e841f24
Events : 4178728
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 33 1 active sync /dev/sdc1
2 8 65 2 active sync /dev/sde1
6 0 0 6 removed
0 8 49 - faulty /dev/sdd1
또한 각 장치에서 mdadm --examine을 실행합니다.
/dev/sdb1:
Magic : a92b4efc
Version : 1.1
Feature Map : 0x1
Array UUID : 1cf7d605:8b0ef6c5:bccd8c1e:3e841f24
Name : CentOS-01:0
Creation Time : Thu Feb 13 09:03:27 2014
Raid Level : raid5
Raid Devices : 4
Avail Dev Size : 2930012160 (1397.14 GiB 1500.17 GB)
Array Size : 4395016704 (4191.41 GiB 4500.50 GB)
Used Dev Size : 2930011136 (1397.14 GiB 1500.17 GB)
Data Offset : 262144 sectors
Super Offset : 0 sectors
Unused Space : before=262072 sectors, after=1024 sectors
State : clean
Device UUID : 252a74c1:fae726d9:179963f2:e4694a65
Internal Bitmap : 8 sectors from superblock
Update Time : Sun Mar 15 07:05:19 2015
Checksum : 53cae08e - correct
Events : 130380
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 3
Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdc1:
Magic : a92b4efc
Version : 1.1
Feature Map : 0x1
Array UUID : 1cf7d605:8b0ef6c5:bccd8c1e:3e841f24
Name : CentOS-01:0
Creation Time : Thu Feb 13 09:03:27 2014
Raid Level : raid5
Raid Devices : 4
Avail Dev Size : 2930012160 (1397.14 GiB 1500.17 GB)
Array Size : 4395016704 (4191.41 GiB 4500.50 GB)
Used Dev Size : 2930011136 (1397.14 GiB 1500.17 GB)
Data Offset : 262144 sectors
Super Offset : 0 sectors
Unused Space : before=262072 sectors, after=1024 sectors
State : clean
Device UUID : dc8c18bd:e92ba6d3:b303ee86:01bd6451
Internal Bitmap : 8 sectors from superblock
Update Time : Sun Dec 23 14:18:53 2018
Checksum : d1ed82ce - correct
Events : 4178730
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 1
Array State : .AA. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdd1:
Magic : a92b4efc
Version : 1.1
Feature Map : 0x1
Array UUID : 1cf7d605:8b0ef6c5:bccd8c1e:3e841f24
Name : CentOS-01:0
Creation Time : Thu Feb 13 09:03:27 2014
Raid Level : raid5
Raid Devices : 4
Avail Dev Size : 2930012160 (1397.14 GiB 1500.17 GB)
Array Size : 4395016704 (4191.41 GiB 4500.50 GB)
Used Dev Size : 2930011136 (1397.14 GiB 1500.17 GB)
Data Offset : 262144 sectors
Super Offset : 0 sectors
Unused Space : before=262072 sectors, after=1024 sectors
State : active
Device UUID : 03a2de27:7993c129:23762f07:f4ba7ff8
Internal Bitmap : 8 sectors from superblock
Update Time : Sun Dec 23 12:48:03 2018
Checksum : ba2a5a95 - correct
Events : 4178721
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 0
Array State : AAA. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sde1:
Magic : a92b4efc
Version : 1.1
Feature Map : 0x1
Array UUID : 1cf7d605:8b0ef6c5:bccd8c1e:3e841f24
Name : CentOS-01:0
Creation Time : Thu Feb 13 09:03:27 2014
Raid Level : raid5
Raid Devices : 4
Avail Dev Size : 2930012160 (1397.14 GiB 1500.17 GB)
Array Size : 4395016704 (4191.41 GiB 4500.50 GB)
Used Dev Size : 2930011136 (1397.14 GiB 1500.17 GB)
Data Offset : 262144 sectors
Super Offset : 0 sectors
Unused Space : before=262072 sectors, after=1024 sectors
State : clean
Device UUID : c00a8798:51804c50:3fe76211:8aafd9b1
Internal Bitmap : 8 sectors from superblock
Update Time : Sun Dec 23 14:18:53 2018
Checksum : 14ec2b30 - correct
Events : 4178730
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 2
Array State : .AA. ('A' == active, '.' == missing, 'R' == replacing)
편집하다: @frostschutz의 제안에 따라 다음을 실행했습니다.
server:~$ sudo mdadm --stop /dev/md0
이로써 공격은 성공적으로 방지되었습니다. 그 후 나는 다음을 실행했습니다.
server:~$ sudo mdadm --assemble --force /dev/md0 /dev/sdc1 /dev/sdd1 /dev/sde1`
mdadm: forcing event count in /dev/sdd1(0) from 4178721 upto 4178730
mdadm: Marking array /dev/md0 as 'clean'
mdadm: /dev/md0 assembled from 3 drives - not enough to start the array.
좋아 보이지는 않지만 다음을 시도해 보았습니다.
server:~$ sudo mdadm --assemble --scan
mdadm: /dev/md/0 has been started with 3 drives (out of 4).
그 후 어레이는 이제 "Active Sync" 상태의 디스크 3개와 함께 "Active, Degraded" 상태가 되며 마지막 디스크는 제거되었습니다. 데이터를 보다 안전한 위치로 성공적으로 복사하기 시작했음을 보고하게 되어 기쁩니다(적어도 지금까지는 rsync 명령에 오류 메시지가 표시되지 않지만 나중에 보게 될 것입니다).
답변1
그래서... /dev/sdb1
그 이후로 이 어레이에서 활동하지 않았습니다.2015년( Update Time
). 위의 데이터는 쓸모가 없을 정도로 오래되었습니다. 본질적으로, 당신은 그 이후로 RAID-0을 실행해 왔습니다.
그러면 세 개의 장치가 더 남게 됩니다 /dev/sd{c,d,e}1
. 이 중 /dev/sdd1
최근에는 실패했습니다. 몇 년 전에 중복성을 잃었으므로 이 오류로 인해 RAID가 완전히 작동하지 않게 됩니다.
이제는 상황에 따라 다릅니다. 이 세 개의 드라이브는 여전히 읽을 수 있습니까? 그러면 데이터를 복구할 수 있습니다. 그렇지 않으면 게임이 끝납니다. 그러니 확인해 보세요 smartctl -a
. 드라이브에 불량 섹터가 있거나 섹터가 재할당된 경우 ddrescue
새 드라이브에 복사를 사용하십시오.
드라이브가 손상되지 않았고 충분한 새 커널(4.10+) 및 mdadm(v4.x)이 있는 경우 다음과 같이 조립할 수 있습니다.
mdadm --stop /dev/md0
mdadm --assemble --force /dev/md0 /dev/sdc1 /dev/sdd1 /dev/sde1
(이전 버전에는 조립력 버그가 있었는데 정확히 어떤 버전인지는 모르겠습니다.)
...그렇게 해도 작동하지 않으면 그대로 남지만 mdadm --create
위험이 도사린 길입니다. 또한 참조하세요.https://unix.stackexchange.com/a/131927/30851