여러 서버에서 소프트웨어 RAID를 자동으로 테스트하고 싶습니다.
이것이 실행 가능한 솔루션인지 확인하십시오./proc/mdstat?
하다성격소프트웨어 RAID가 있는 경우에만 나열됩니까?
소프트웨어 RAID 없이 이러한 데몬을 중지할 수 있습니까?md모니터 mdadm mdmpd
답변1
mdadm
예, 소프트웨어 습격 에 관심이 있다면 (lvm
다른 사람 은 제외btrfs
) 이것이 아마도 가장 빠르고 쉬운 방법일 것입니다. 그러나 습격 장치 이름은 임의적입니다(따라서 단순히 일치할 것이라고 가정할 수는 없습니다.^md[0-9]+
대부분 일치하지만 그렇지 않습니다.) 반드시 그럴 필요는 없습니다. 기본값/표준은 향후 변경될 수 있습니다.그런데, 여기 파이썬
/proc/mdstat
파서가 있습니다:https://github.com/truveris/py-mdstat/(여기에는mdjson
json 형식으로 인쇄하는 도구가 포함되어 있습니다)/proc/mdstat
perl
이것은 제가 Google에서 찾은 첫 번째 것입니다. 확실히 다른awk
언어 로 된 다른 것들도 있습니다 .awk
다음은 Raid 장치가 있는지 감지하는 매우 빠르고 더러운 한 줄입니다 (첫 번째 입력 행 뒤의 두 번째 필드가 콜론인 경우:
Raid 장치를 의미한다고 가정).awk 'NR > 1 && $2 == ":" {found++}; END {exit !found}' /proc/mdstat
하나 이상의 장치가 발견되면 true(0)를 반환하고, 그렇지 않으면 false를 반환합니다.
Personalities
mdadm
커널에서 지원하는 RAID 유형만 나열합니다. 물론아니요그 중 하나가 사용되고 있음을 나타냅니다. 단지 커널이 필요한 드라이버를 컴파일했거나 모듈을 로드했다는 것입니다.물론, 왜 안 되겠습니까? 유용한 작업을 수행하지 않으면 실행할 필요도 없고 설치할 필요도 없습니다.