9.20. RAID 논리 볼륨에서 데이터 일관성 확인

LVM은 RAID 논리 볼륨에 대한 스크럽을 지원합니다. RAID 스크럽은 배열의 모든 데이터 및 패리티 블록을 읽고 일관성이 있는지 확인하는 프로세스입니다. lvchange --syncaction repair 명령은 배열에서 백그라운드 동기화 작업을 시작합니다. 다음 속성은 데이터 일관성에 대한 세부 정보를 제공합니다.

  • raid_sync_action 필드에는 RAID 논리 볼륨이 수행하는 현재 동기화 작업이 표시됩니다. 다음 값 중 하나일 수 있습니다.

    idle
    모든 동기화 작업을 완료했습니다(없음).
    resync
    정리되지 않은 시스템 종료 후 배열을 초기화하거나 재동기화합니다.
    recover
    배열에서 장치를 교체합니다.
    check
    배열 불일치를 찾습니다.
    repair
    불일치를 찾고 복구합니다.
  • raid_mismatch_count 필드에는 검사 작업 중에 발견된 불일치 수가 표시됩니다.
  • Cpy%Sync 필드는 동기화 작업의 진행 상황을 표시합니다.
  • lv_attr 필드는 추가 지표를 제공합니다. 이 필드의 비트 9는 논리 볼륨의 상태를 표시하며 다음과 같은 지표를 지원합니다.

    m 또는 mismatches
    RAID 논리 볼륨에 불일치가 있음을 나타냅니다. 스크러블링 작업이 RAID의 일부를 감지한 후 이 문자를 볼 수 있습니다. 이 문자는 일관성이 없습니다.
    R 또는 refresh
    LVM에서 장치 레이블을 읽고 장치가 작동하는 것으로 간주하더라도 RAID 배열에서 실패한 장치를 나타냅니다. 논리 볼륨을 새로고침하여 커널에 장치를 사용할 수 있음을 알리거나 실패한 것으로 의심되는 경우 장치를 교체합니다.

절차

  1. 선택 사항: 스크럽 프로세스에서 사용하는 I/O 대역폭을 제한합니다. RAID 스크러블링 작업을 수행할 때 동기화 작업에 필요한 백그라운드 I/O는 볼륨 그룹 메타데이터 업데이트 등 LVM 장치에 대한 다른 I/O의 충돌을 줄일 수 있습니다. 이로 인해 다른 LVM 작업이 느려질 수 있습니다.

    복구 제한을 구현하여 스크럽 작업 속도를 제어할 수 있습니다. lvchange --syncaction 명령과 함께 --maxrecoveryrate Rate[bBsSkKmMgG] 또는 --minrecoveryrate Rate[bBsSkKmMgG] 를 사용하여 복구 속도를 설정할 수 있습니다. 자세한 내용은 최소 및 최대 I/O 속도 옵션을 참조하십시오.

    Rate 값을 배열의 각 장치에 대한 초당 양으로 지정합니다. 접미사를 지정하지 않으면 옵션은 장치당 초당 kiB를 가정합니다.

  2. 배열의 불일치 수를 복구하지 않고 표시합니다.

    # lvchange --syncaction check my_vg/my_lv

    이 명령은 배열에서 백그라운드 동기화 작업을 시작합니다.

  3. 선택 사항: 커널 메시지의 var/log/syslog 파일을 확인합니다.
  4. 배열의 불일치를 수정합니다.

    # lvchange --syncaction repair my_vg/my_lv

    이 명령은 RAID 논리 볼륨에서 실패한 장치를 복구하거나 교체합니다. 이 명령을 실행한 후 커널 메시지의 var/log/syslog 파일을 볼 수 있습니다.

검증

  1. 스크럽 작업에 대한 정보를 표시합니다.

    # lvs -o +raid_sync_action,raid_mismatch_count my_vg/my_lv
    LV    VG    Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert SyncAction Mismatches
    my_lv my_vg rwi-a-r--- 500.00m                                    100.00           idle        0

추가 리소스