RAID를 복원하려면 "mdadm --create"를 사용해야 합니까?

RAID를 복원하려면 "mdadm --create"를 사용해야 합니까?

가지다이 남자저는 RAID 어레이를 복원하는 데 이를 사용해서는 안 되며 mdadm --create, 이는 악보다 더 나쁘고 이는 실수라는 말을 끊임없이 들었습니다. 왜 그런 겁니까? 제 말은 RAID를 다시 작동시켜야 한다는 뜻이죠, 그렇죠? 오류가 발생 하면 --create대신 무엇을 사용해야 합니까 ?

답변1

문제 없습니다 --create. 자신이 무엇을 하고 있는지 알고 있다면 가능합니다.

유일한 문제는 다음과 같습니다.넌 몰라.

RAID를 생성할 때 명령은 일반적으로 다음과 같이 짧습니다.

mdadm --create /dev/md42 --level=5 --raid-devices=3 /dev/sdx1 /dev/sdy1 /dev/sdz1

아주 간단하죠?

하지만 실제로는 그렇지 않습니다. RAID에는 더 많은 변수가 있습니다. 데이터 오프셋, 블록 크기, 메타데이터 버전이 있고 드라이브 순서도 잊지 마세요. 드라이브 문자는 시간이 지남에 따라 변경될 수 있으므로 다시 만들 때 실수하기 쉽습니다.

올바른 --create명령은 다음과 같습니다.

mdadm --create /dev/md42 --assume-clean \
    --level=5 --chunk=512K --metadata=1.2 --data-offset=2048s \
    --raid-devices=3 /dev/sdz1 missing /dev/sdy1

주어진 것이 무엇이든 읽기 전용 모드에서 테스트해야 합니다. 그게 전부가 아닐 수도 있습니다. 다양한 RAID 레이아웃이 있다는 것을 알고 계셨습니까? --create마지막 지푸라기였고 함정은 분명하지 않았습니다. 이상적으로는 모든 디스크를 백업하거나 적어도 메타데이터 영역을 백업해야 합니다.기록 중 복사 덮어쓰기.

제공하지 않는 항목에는 mdadm기본 설정을 사용하세요. 불행하게도 이 중 어느 것도 확정되지 않았으며 본질적으로 이 모든 것이 과거에 변경되었으며 미래에도 다시 변경될 수 있습니다.

따라서 --create복구에 사용할 때 RAID를 잘 알아야 하며, 이전 RAID가 실제로 어떻게 생겼는지 알아야 합니다. 그런 다음 실수할 경우를 대비해 --assume-clean디스크 중 하나를 추가하거나 보관해야 합니다 . missing또한 잘못된 위치에 기록된 메타데이터를 복구할 수 있도록 적어도 디스크의 시작과 끝 부분을 백업해야 합니다.

대부분의 경우 다른 옵션이 있습니다. --assemble --force그 중 하나이지만 자체 결함도 있습니다. 먼저 --examine드라이브 중 하나가 다른 드라이브보다 오래된 경우 해당 드라이브를 어셈블리에 포함해서는 안 됩니다. 메타데이터를 사용하지 않고 데이터에 대한 액세스를 제공하는 습격도 있습니다 --build. dmsetup하지만 이것이 안전하다는 의미는 아닙니다. 여기에 글을 쓰고 잘못된 설정을 선택하면 데이터가 손실됩니다.

일반적으로 데이터 복구는 광범위한 분야입니다. 올바른 행동 방침을 결정하려면 경험이 필요합니다. 가능하다면 이 문제를 피하십시오. 백업을 만들고, 설정을 기록하고, RAID가 먼저 실패하지 않도록 디스크를 모니터링하십시오.

관련 정보