디스크 연결이 끊어진 후 RAID 재구성이 다시 시작되는 이유

에바 왕기술 작가 그리고 이자 ZimaSpace의 상주 장인입니다. 평생을 기술에 열정을 가진 사람으로서 홈랩과 오픈소스 소프트웨어에 열정을 가지고 있으며,복잡한 기술 개념을 쉽게 이해할 수 있는 실습 가이드로 번역하는 데 전문성을 가지고 있습니다.에바는 셀프 호스팅이 어렵지 않고 재미있어야 한다고 믿습니다. 그녀의 튜토리얼을 통해 커뮤니티가 하드웨어 설정의 신비를 풀도록돕고 있습니다. 첫 NAS 구축부터 Docker 컨테이너 마스터링까지.

다른 디스크가 연결이 끊기면 배열의 신뢰된 멤버 집합이 다시 변경되므로 재구성이 다시 시작될 수 있습니다. 컨트롤러는 부분 진행 상황을 버리고 새로운 일관성 지점에서 중복성을 재생성할 수 있습니다.

열악한 상태에서의 짧은 연결 끊김은 무해하지 않습니다. 올바른 대응은 어떤 일련번호 멤버가 떨어졌는지 식별하고, 로그를 보존하며, 배열에 여전히 충분한 유효 복사본이 있는지 확인하고, 현재 복구 상태가 이해될 때까지 케이블이나 베이 실험을 중단하는 것입니다.

두 번째 연결 끊김은 새로운 복구 이벤트를 만듭니다.

재구성은 특정 소스 멤버 집합과 대상 디스크를 기반으로 합니다. 다른 소스가 잠시라도 사라지면 배열은 대상에 이미 기록된 모든 블록이 현재 활성 세트와 일치한다고 더 이상 가정할 수 없습니다. 멤버가 없을 때도 쓰기가 계속되었을 수 있습니다.

컨트롤러는 이를 다르게 처리합니다. 일부는 비트맵이나 체크포인트에서 재개하고, 다른 일부는 전체 재구성을 다시 시작합니다. 디스크 재연결 후 재구성 토론은 멤버를 제거해도 디스크에 대부분의 이전 데이터가 남아 있어도 장애 허용 상태가 변경되는 이유를 보여줍니다.

오염된 메타데이터는 오래된 멤버를 오래된 것으로 보이게 할 수 있습니다.

RAID 멤버는 일반적으로 자신의 역할과 이벤트 기록을 식별하는 배열 메타데이터를 저장합니다. 디스크가 사라진 상태에서 쓰기가 계속되면 해당 디스크의 내용은 활성 배열보다 오래된 상태가 됩니다. 다시 연결해도 누락된 쓰기가 사라지지 않으므로 컨트롤러는 오래된 영역을 조정하거나 덮어써야 합니다.

일시적으로 제거된 RAID 멤버는 메타데이터를 통해 인식될 수 있지만, 구현 방식에 따라 직접 재가입할 수 있는지 아니면 동기화가 필요한지 결정됩니다. 같은 베이에 다시 장착한다고 해서 신뢰가 유지된다고 가정하지 마세요.

진행 상황이 0으로 돌아갈 수 있는 이유

백분율은 종종 현재 복구 진행 단계를 나타내며, 지금까지 복사된 모든 블록의 영구 기록이 아닙니다. 소스 멤버가 상태를 변경하거나 대상이 재할당되거나 컨트롤러가 어레이를 재조립하면 일부 대상 블록이 이미 일치하더라도 표시된 작업이 0부터 다시 시작될 수 있습니다.

소프트웨어 RAID에서는 새 저하 이벤트가 전체 재동기화를 요구할 수 있습니다. 문서화된 두 번째 전체 RAID1 재구성은 md 어레이가 저하 상태에 들어가면 이전의 부분 상태를 신뢰하지 않고 전체 멤버를 동기화할 수 있음을 보여줍니다.

이론을 테스트하기 위해 다른 디스크를 제거하지 마세요

재구성 중에는 남은 모든 소스가 누락된 데이터를 복구하는 유일한 경로의 일부입니다. 식별을 위해 다른 멤버를 제거하면 RAID 수준의 내결함성을 초과하거나 데이터의 경쟁 버전을 만들 수 있습니다. 디스크는 시리얼 번호와 인클로저 표시기로 위치를 확인하고 임의 제거로 찾지 마세요.

어레이가 건강하거나 안전한 저장소에 복사될 때까지 핫스왑 실험을 중단하세요. 케이블이나 베이가 의심되면 먼저 이벤트 로그를 수집하고 하드웨어가 온라인 서비스를 명시적으로 지원하지 않는 경우 시스템을 정지시킨 상태에서 단일 제어 변경을 계획하세요.

재구성이 실제로 재시작되었는지 확인하세요

백분율 이상을 비교하세요. 작업 이름, 대상 시리얼, 소스 멤버 수, 이벤트 또는 세대 번호, 처리된 블록, 현재 속도, 예상 완료 시간을 기록하세요. 컨트롤러는 재구성에서 패리티 초기화, 검증 또는 백그라운드 일관성 검사로 전환할 수 있습니다.

필드 같은 작업 새 복구 이벤트
대상 시리얼 변경 없음 다르거나 재분류됨
처리된 블록 계속 상승 처음으로 돌아감
멤버 세트 안정적 다른 디스크가 없거나 다시 추가됨
로그 메시지 재개 또는 계속 중단, 재시작, 재조립, 새 재구성
어레이 상태 저하/재구성 중 더 악화됨, 외부, 또는 복구 중

멤버 세트가 변경되면 새 백분율을 새로운 이벤트로 처리하세요. 카운터가 계속되는 동안 인터페이스만 재설정된 경우, 진행 상황 손실보다는 표시 문제일 수 있습니다.

재부팅보다 디스크 제거가 더 중요할 때

계획된 재부팅이 반드시 컨트롤러 관리 재구성을 무효화하지는 않습니다. 많은 컨트롤러가 안전하게 재개할 수 있을 만큼 상태를 유지합니다. 더 심각한 문제는 재부팅 중 또는 이후에 다른 소스 디스크를 잃거나 외부 구성을 도입하는 것입니다.

재구성 중 재부팅은 복구 가능할 수 있지만, 안전한 결론은 시작 후 컨트롤러 상태에 달려 있습니다. 진행률이 초기화되었다고 해서 외부 구성을 절대 초기화하거나 가져오지 마세요.

즉시 해야 할 일

  1. 필수적이지 않은 쓰기를 일시 중지하고 배열, 인클로저, 운영 체제 로그를 캡처하세요.
  2. 모든 활성, 누락, 재구성 중, 예비 멤버를 물리적 일련 번호에 매핑하세요.
  3. RAID 레벨이 여전히 데이터를 재구성할 수 있을 만큼 유효한 소스 멤버를 충분히 보유하고 있는지 확인하세요.
  4. 연결이 끊긴 디스크와 연결 경로의 SMART 및 링크 오류 카운터를 확인하세요.
  5. 추가 케이블, 베이, 재부팅 또는 작업 부하 실험 없이 안정적인 재구성 하나를 실행하세요.

다른 소스가 읽을 수 없는 섹터나 반복적인 연결 끊김을 보고하면, 반복적으로 재구성을 강제하기보다 대체 불가능한 데이터를 복사하거나 멤버 이미징을 우선하세요.

자주 묻는 질문

같은 디스크를 다시 연결하면 항상 재구성이 다시 시작되나요?

아니요. 일부 컨트롤러는 비트맵에서 재참여하거나 재개할 수 있습니다. 다른 컨트롤러는 멤버를 오래된 것으로 간주하고 동기화를 다시 시작합니다. 이벤트 로그와 멤버 생성 데이터를 통해 어떤 경우인지 판단합니다.

재설정된 진행률이 새 디스크가 다시 지워졌다는 뜻인가요?

반드시 그런 것은 아닙니다. 이는 컨트롤러가 새 작업을 시작했거나 작업 유형을 변경했음을 의미할 수 있습니다. 단순히 진행률만 보고 데이터 손실을 추정하지 말고, 대상 식별자와 이벤트 메시지를 확인하세요.

재시작된 재구성 중에도 앱을 계속 사용할 수 있나요?

가벼운 사용은 지원될 수 있지만, 불필요한 쓰기와 지연에 민감한 작업은 줄이세요. 배열은 이미 두 번째 연결 이벤트를 보여 안정성과 데이터 보호가 정상 처리량보다 우선합니다.

실용적인 답변

다른 멤버가 연결이 끊기면서 일관성 가정이 변경되어 재구성이 다시 시작됩니다. 하드웨어 경로를 안정화하고, 소스 세트를 확인하며, 배열이 저하된 상태에서 테스트되는 대신 중단 없는 복구를 한 번 허용하세요.

지원 및 팁

더 읽어보기

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.