이것은 포럼의 첫 번째 게시물이므로 양해해 주시기 바랍니다.
저는 Linux 환경이 처음이고 RAID 구성이 처음입니다. 저는 RAID5 재구축 시간을 측정하는 작업 프로젝트를 진행 중입니다.
현재 RAID5 구성에는 4개의 활성 드라이브가 있습니다. 나는 그들 중 하나를 실패하게 만들 것입니다.
내 드라이브 중 하나에 오류가 발생하면 자동으로 재구축이 시작됩니까? 또한 재구축하는 데 걸리는 시간을 추적하고 싶습니다.
/proc/mdstat가 진행 상황을 알려줄 것이라는 것을 알고 있지만 재구축하는 동안 잠시 물러나서 재구축하는 데 걸리는 시간을 알려주는 일부 로그를 반환받고 싶습니다.
이 글을 읽어주시는 분들께 미리 감사드립니다.
답변1
내 드라이브 중 하나에 오류가 발생하면 자동으로 재구축이 시작됩니까?
어레이에 예비 드라이브가 없는 한 어레이에 다른 드라이브를 수동으로 추가할 때만 재구축이 시작됩니다. 임의 드라이브는 허가 없이는 잘 작동하지 않습니다.
드라이브가 아직 어레이에서 제거되지 않은 경우 를 사용하는 것이 mdadm --replace
재구축을 시작하는 더 좋은 방법일 수 있습니다. 재구축 프로세스를 지원하기 위해 드라이브를 교체할 수 있습니다.
재구축에 걸린 시간을 알려주는 일부 로그를 반환합니다.
타임스탬프가 지정된 로그 메시지를 사용하여 정확한 시간을 얻을 수 있습니다.
[117687.034515] md: recovery of RAID array md100
...
[117709.482483] md: md100: recovery done.
mdadm --wait /dev/md100
그런 다음 실행 중인 작업이 완료될 때 까지 기다립니다 . 이를 결합하면 time
유틸리티 관점에서 소요된 시간을 측정할 수 있지만 mdadm
커널 자체에서 인쇄된 타임스탬프가 더 정확해야 합니다. 이 정확성이 귀하의 상황에 중요하다면...
더 자세한 통계(어느 부분이 그렇게 오래 걸렸나요?)를 얻으려면 드라이브를 직접 모니터링하고 프로세스 전반에 걸쳐 처리량을 기록해야 하는데 mdadm
이는 실제로 도움이 되지 않습니다. /proc/mdstat
sysfs 인터페이스나 sysfs 인터페이스를 통해 현재 진행 상황을 볼 수 있습니다 . 여기에는 /sys/block/md100/md/[dev-sdx/recovery_start]
흥미로운 내용이 많이 있으므로 사람이 읽을 수 있는 mdstat를 항상 구문 분석할 필요가 없습니다.