RAID 구성시 mdadm monitor mode와 HDD에 fault가 발생시 문의드립니다.
안녕하십니까?
꼭 답변 주시면 감사드리겠습니다.
embedded system에서 RAID1을 지원하려고 합니다.
여기서 질문 드리고자 하는 기능은 "HDD가 fault/error/event가 발생시 user에게 알려 줄 수 있는 방법"입니다.
방법을 좀 상술하자면...
일단, console에서 어떤 message가 발생하면, 그 message를 e-mail로 송신하는 AAA software(당사에서 자체 개발)가 embedded system에서 데몬으로 실행되고 있습니다.
이 상태에서 HDD가 'fault/error/event'가 발생할 때, console에 어떤 message를 출력하기만 하면 AAA software가 console에서 출력되는 message를 e-mail로 송신합니다.
그럼, "kernel or mdadm이 어떤 상황(event)에서 console에 message를 출력하는지 ? 안 하는지 ? " 만 알면 됩니다.
이것을 알아 보기 위해서, mdadm의 man page를 찾아 보았습니다.
man page의 'Monitor Mode'설명에서, event의 종류는 다음과 같은 것이 있었습니다.
'DeviceDisappeared /RebuildStarted / RebuildNN / RebuildFinished / Fail / FailSpare / SpareActive /NewArray / DegradedArray / MoveSpare / SparesMissing / TestMessage '
그런데, 이러한 event가 발생할 때, "message를 출력하는지 ? 안 하는지 ?"에 알고 계신 분께 여쭈어 봅니다. <문의1>
man page에서는 명확히 서술이 안되어 있고, 위의 상황을 강제로 만들기도 어려운 상황이라서 여쭈어 봅니다.
만약, "위의 다양한 evenv가 발생시 어떤 message를 출력한다"고 가정했을 때,
RAID1을 구성한 상태로만 있으면, event가 발생하면 무조건 message를 출력하는지요 ?
아니면, 어떤 조건(ex: 어떤 데몬 실행 / 어떤 설정 파일 설정 / 기타 등등...)이 전제가 되어야 하는지요 ? <문의2>
일단, man page에 나와 있는대로, mdadm의 Monitor 기능을 확인해 보기 위해서, 다음과 같은 test를 하였습니다.
< test 절차 >
*.step1: HDD1(/dev/sda1)과 HDD2(/dev/sdb1)를 md1으로 묶어 RAID1으로 구성
*.step2: /etc/mdadm.conf file에 아래와 같이 설정
MAILADDR user_id@user_company.co.kr
PROGRAM /bin/test_md
( 여기서, test_md의 program은 쉘스크립트로써, 내용은 echo " EVENT HAPPEN "과 같습니다.
그냥, evenv가 발생하면, test_md가 실행하는지를 쉽게 알 수 있게 하기 위한 용도입니다./샐행권한은 주었습니다.)
*.step3: 다음과 같은 명령어 실행
mdadm --monitor --daemonize --pid-file=/var/run/mdadm.pid --scan --delay=7
*.step4: 다음과 같은 강제로 fault시키는 명령어 실행 [목적: 강제로 event발생시키기 위함]
mdadm /dev/md1 -f /dev/sdb1
그런데, 결과는 아무 message도 나타나지 않고, /bin/test_md 도 실행되지 않았고, 위의 mail id로 e-mail도 수신되지 않았습니다.
무엇이 잘못되었는지요 ? <문의3>
댓글 달기