우분투 시스템의 RAID1 소프트웨어 RAID 파티션 (10.04 LTS, 2.6.32-24 서버)에 다음과 같은 문제가 있습니다.
내 디스크 중 하나 (sdb5)에서 I / O 오류가보고되어 어레이에서 결함으로 표시되었습니다. 그런 다음 하나의 활성 장치로 어레이 성능이 저하되었습니다. 따라서 하드 디스크를 교체하고 파티션 테이블을 복제 한 다음 모든 새로운 파티션을 RAID 어레이에 추가했습니다. 모든 파티션을 동기화 한 후 2 개의 활성 장치 (하나는 제외하고)가 있으면 정상 종료되었습니다. 그러나 이전에 결함이있는 디스크를보고 한 파티션에는 새 파티션이 활성 장치가 아니라 예비 디스크로 포함되었습니다.
md3 : active raid1 sdb5[2] sda5[1]
4881344 blocks [2/1] [_U]
자세한 내용은 다음과 같습니다.
root@server:~# mdadm --detail /dev/md3
[...]
Number Major Minor RaidDevice State
2 8 21 0 spare rebuilding /dev/sdb5
1 8 5 1 active sync /dev/sda5
여기에 질문이 있습니다 : 여분의 디스크를 활성 디스크로 바꾸는 방법을 어떻게 알 수 있습니까? 예비 장치로 추가 된 이유는 무엇입니까? 어레이를 다시 만들거나 다시 어셈블하는 것은 옵션이 아닙니다. 루트 파티션이기 때문입니다. 그리고 Software Raid HOWTO에서 그 주제에 대한 힌트를 찾을 수 없습니다.
도움을 주시면 감사하겠습니다.
현재 솔루션
내 문제에 대한 해결책을 찾았지만 이것이 실제 방법인지 확실하지 않습니다. 내 습격을 자세히 살펴보면 sdb5가 항상 예비 장치로 나열되어 있음을 알았습니다.
mdadm --examine /dev/sdb5
[...]
Number Major Minor RaidDevice State
this 2 8 21 2 spare /dev/sdb5
0 0 0 0 0 removed
1 1 8 5 1 active sync /dev/sda5
2 2 8 21 2 spare /dev/sdb5
따라서 장치 sdb5를 배열 md3에 읽는 것은 항상 장치를 여분으로 추가하는 것으로 끝났습니다.
마지막으로 방금 배열을 다시 만들었습니다.
mdadm --create /dev/md3 --level=1 -n2 -x0 /dev/sda5 /dev/sdb5
작동했습니다.
그러나 질문은 나에게 열려 있습니다 : 수퍼 블록의 요약을 조작하고 sdb5를 여분의 디스크에서 활성 디스크로 바꾸도록 어레이에 지시하는 더 좋은 방법이 있습니까? 나는 아직도 답이 궁금하다.