5개의 드라이브 Raid5 어레이가 있는데 2개의 드라이브에 오류가 발생했습니다. 교체해야 할 새 드라이브가 있는데 부팅하려고 하면 "/dev/md/0이 3개 드라이브로 조립되어 있습니다. 어레이를 부팅하기에 충분하지 않습니다."라는 메시지가 나타납니다.
원본 드라이브 중 하나의 슈퍼블록 데이터:
mdadm -E /dev/sdb /dev/sdb: 매직: a92b4efc 버전: 1.2 기능 맵: 0x1 배열 UUID: eece6340:50c5f548:fec6e083:8e175d25 이름: nas2:0(nas2 호스트에 대한 로컬) 생성시간 : 2016년 6월 11일 토요일 15:08:47 레이드 레벨: raid5 레이드 장비: 5 사용 가능한 개발 크기: 3906767024(1862.89GiB 2000.26GB) 어레이 크기: 7813533696(7451.57GiB 8001.06GB) 사용된 개발 크기: 3906766848(1862.89GiB 2000.26GB) 데이터 오프셋: 262144 섹터 슈퍼 오프셋: 8개 섹터 사용되지 않은 공간: 이전 = 262056 섹터, 이후 = 176 섹터 상태: 깨끗함 장치 UUID: f99f8f44:bbf30563:35183897:5563d56a 내부 비트맵: 슈퍼블록의 8개 섹터 갱신시간 : 2018년 8월 12일 일요일 15시 1분 12초 불량 블록 로그: 섹터 오프셋 72에서 사용 가능한 항목 512개 체크섬: 3c38edaa - 정확함 활동: 364523 장치 역할: 활성 장치 0 어레이 상태: AA..A('A'==활성, '.'==누락, 'R'==교체됨)
이것은 어셈블을 시도한 결과입니다.
mdadm: /dev/sdb는 /dev/md/0, 슬롯 0의 구성원으로 식별됩니다. mdadm: /dev/sdf는 /dev/md/0, 슬롯 4의 구성원으로 식별됩니다. mdadm: /dev/sdc는 /dev/md/0, 슬롯 1의 구성원으로 식별됩니다. mdadm: /dev/sdc를 /dev/md/0에 1로 추가합니다. mdadm: /dev/md/0의 슬롯 2에 최신 장치가 없습니다. mdadm: /dev/md/0의 슬롯 3에 최신 장치가 없습니다. mdadm: /dev/sdf를 /dev/md/0에 4로 추가합니다. mdadm: /dev/sdb를 /dev/md/0에 0으로 추가합니다. mdadm: /dev/md/0은 3개의 드라이브로 구성되어 있습니다. 어레이를 부팅하기에 충분하지 않습니다. mdadm: 추가 조립을 위한 장치 찾기 mdadm: 배열을 구성 파일에서 찾을 수 없거나 자동으로 찾을 수 없습니다.
어레이를 조립할 수 있도록 슈퍼블록 데이터(예: dd)를 새 드라이브에 복제할 수 있는 방법이 있습니까?
답변1
RAID-5 어레이의 여러 드라이브가 손상된 경우 데이터 손실 없이 어레이를 재조립할 수 없습니다. 이론적으로는 나머지 드라이브에서 데이터를 읽을 수 있지만 그 사이에 블록이 손실됩니다.
5 디스크 RAID-5의 구조는 다음과 같습니다. D는 데이터 블록이고 P는 패리티 블록입니다.
12345
DDDDP
DDDPD
DDPDD
DPDDD
PDDDD
두 개의 드라이브 중 하나라도 실패하면 20개의 데이터 블록과 5개의 패리티 블록마다 8개의 데이터 블록과 2개의 패리티 블록이 손실됩니다. 패리티 작동 방식에 따라 패리티가 손상되지 않은 경우(다이어그램의 각 행) 시스템은 손실된 단일 데이터 블록을 복구할 수 있습니다. 두 개의 손실된 데이터 블록의 경우 블록을 재구성할 수 있는 고유한 방법이 없습니다. 따라서 나머지 패리티 블록은 쓸모가 없으며, 20개의 데이터 블록 중 12개의 데이터 블록만 남게 됩니다. 데이터의 40%가 손실되었습니다.
~에 따르면mdadm 매뉴얼 페이지, 블록의 기본값은 512kB이므로 최대 1.5MB의 전체 데이터 블록을 찾을 수 있습니다. 그러나 파일 시스템 코드는 주요 메타데이터가 손실된 것을 보고 기뻐하지 않을 것이며, 파일의 데이터가 있는 올바른 장치 블록을 찾을 수 있더라도 그보다 큰 파일은 일부를 잃을 가능성이 높습니다.
답변2
디스크 어레이 5
에서 발췌위키피디아 기사:
실행하려면 하나의 드라이브를 제외한 모든 드라이브가 있어야 합니다. 단일 드라이브에 오류가 발생하면 분산 패리티를 기반으로 후속 읽기를 계산할 수 있으므로 데이터가 손실되지 않습니다.
그래서 제 결론은 이 두 드라이브가 정말 불량이었다면 지금 어레이를 조립하는 것은 불가능할 것이라는 것입니다. 죄송합니다.