짧게: mdadm 설정 파일에 MAILADDR를 추가하고 mdadm을 재시작하면(예: Debian의 /etc/mdadm/mdadm.conf) RAID 장애 발생 시 이메일을 받습니다. 시스템 메일 송신(MTA)이 구성되어 있어야 합니다. 대안과 문제 해결 체크리스트도 포함합니다.
개요
이 가이드는 소프트웨어 RAID가 실패하거나 디스크가 손상되었을 때 자동으로 이메일을 보내도록 mdadm을 구성하는 방법을 설명합니다. 예제는 Debian 기반(예: Etch)에서 테스트했지만, 다른 배포판에서도 경로만 약간 다를 수 있습니다. 이 문서는 다음을 다룹니다:
- 필요한 조건
- 단계별 설정 예제
- 예시 알림 메일(번역)
- 문제 해결과 대안
- 운영자용 체크리스트와 검수 기준
중요: 이 방법은 mdadm의 모니터링 기능을 사용합니다. 시스템에 메일 전송을 위한 MTA(postfix, exim, ssmtp 등)가 설치·설정되어 있어야 합니다.
요구사항
- 루트 권한
- mdadm 설치
- 시스템 메일 전송(MTA) 동작
- RAID 장치(예: /dev/md0, /dev/md1)
파일 경로 예시(데비안): /etc/mdadm/mdadm.conf
구성 단계
- mdadm 설정 파일을 엽니다. (데비안 예)
vi /etc/mdadm/mdadm.conf
- 파일에 MAILADDR 줄을 추가합니다. 자신의 이메일 주소로 바꾸세요. 예:
DEVICES /dev/sda* /dev/sdb*
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=c8a78e3a:e335c0f0:997be224:f02c088a
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=fd9f3b6b:4fc9cf4f:09db592d:480d34fe
MAILADDR [email protected]
- mdadm 데몬을 재시작합니다:
/etc/init.d/mdadm restart
또는 systemd 환경에서는:
systemctl restart mdadm
- (선택) 메일 전송 테스트: 간단한 메일을 발송해 시스템 MTA가 작동하는지 확인합니다.
echo "test" | mail -s "mdadm test" [email protected]
예시: mdadm이 보내는 알림(번역)
예: degraded(감소) 이벤트
From: mdadm monitoring [email protected] To: [email protected] Subject: DegradedArray event on /dev/md1:server1.example.com
This is an automatically generated mail message from mdadm running on server1.example.com
A DegradedArray event had been detected on md device /dev/md1.
Faithfully yours, etc.
P.S. The /proc/mdstat file currently contains the following:
Personalities : [raid0] [raid1] md1 : active raid1 sda2[2] sdb2[1] 487853760 blocks [2/1] [_U] [>………………..] recovery = 4.3% (21448384/487853760) finish=114.3min speed=67983K/sec
md0 : active raid1 sda1[0] sdb1[1] 530048 blocks [2/2] [UU]
unused devices:
예: FailSpare(스페어 실패) 이벤트
From: mdadm monitoring [email protected] To: [email protected] Subject: FailSpare event on /dev/md1:server1.example.com
This is an automatically generated mail message from mdadm running on server1.example.com
A FailSpare event had been detected on md device /dev/md1.
It could be related to component device /dev/sda2.
Faithfully yours, etc.
P.S. The /proc/mdstat file currently contains the following:
Personalities : [raid0] [raid1] md1 : active raid1 sda22 sdb2[1] 487853760 blocks [2/1] [_U] [===================>.] recovery = 99.9% (487851840/487853760) finish=0.0min speed=61037K/sec
md0 : active raid1 sda1[0] sdb1[1] 530048 blocks [2/2] [UU]
unused devices:
(위 예시는 mdadm이 자동 생성하는 메일 본문을 그대로 번역·발췌한 것입니다.)
문제 해결
중요: 메일을 받지 못하면 다음을 점검하세요.
- 시스템 MTA가 설치되어 있고 로컬에서 메일 발송이 가능한지 확인합니다 (sendmail, postfix 등).
- 스팸 필터나 수신자측 정책으로 메일이 차단되지 않는지 확인합니다.
- mdadm 버전과 배포판의 mdadm.conf 경로가 일치하는지 확인합니다.
- MAILADDR 형식이 올바른지(예: [email protected]) 확인합니다.
- mdadm 모니터링 서비스가 실제로 실행 중인지 확인합니다 (ps 또는 systemctl로 확인).
유용한 명령들:
cat /proc/mdstat
mdadm --detail /dev/md1
systemctl status mdadm
tail -n 200 /var/log/syslog | grep mdadm
대안과 확장
- systemd 타이머나 유닛을 이용한 모니터링: systemd 환경에서는 mdadm-monitor 유닛 이름이 다를 수 있습니다. systemctl 단위로 상태와 로그를 확인하세요.
- 외부 모니터링 도구 연동: Zabbix, Prometheus, Nagios, Monit 등과 연계하면 웹 대시보드와 더 세밀한 알람 설정이 가능합니다.
- 중앙 로그 수집: rsyslog/Fluentd/ELK에 로그를 보내고 경보 규칙을 만들면 조직 차원의 모니터링이 가능합니다.
언제 이 방법이 실패할 수 있는가(대표적인 케이스):
- 시스템이 네트워크 분리 상태여서 외부 이메일 게이트웨이에 접근 불가한 경우.
- 로컬 MTA가 부적절하게 구성되어 있어 메일이 발송되지 않는 경우.
- mdadm의 모니터링 스크립트가 커스터마이즈되어 MAILADDR를 무시하는 경우.
운영자(시스템 관리자) 체크리스트
- mdadm 및 관련 유틸리티 설치 확인
- /etc/mdadm/mdadm.conf(또는 배포판 경로)에 MAILADDR 설정 추가
- MTA(postfix/exim 등) 설치 및 외부 전송 테스트 완료
- mdadm 모니터링 서비스 재시작 및 상태 확인
- 알림 수신 테스트(의도적 이벤트 또는 테스트 스크립트)
- 알림 내용을 운영팀과 공유하고 수신 규칙 문서화
검수 기준
- MAILADDR가 mdadm 설정 파일에 정확히 추가되어 있다.
- mdadm 재시작 후 모니터링 서비스가 활성 상태이다.
- 로컬에서 메일 발송 테스트가 성공하고, 실제 RAID 이벤트 시 메일을 수신한다.
- 수신된 메일에 /proc/mdstat 스냅샷과 이벤트 타입(DegradedArray, FailSpare 등)이 포함된다.
보안·개인정보 주의사항
- 알림 이메일에 민감한 시스템 정보가 포함될 수 있습니다. 수신자 주소는 신뢰할 수 있는 팀 메일박스로 제한하세요.
- 외부 이메일 게이트웨이를 사용할 경우 TLS 설정과 인증을 검토하세요.
추가 팁(간단 방법 모음)
- 빠른 테스트: RAID 디스크를 강제로 분리하거나(가상 환경에서) mdadm –manage –fail
로 테스트 이벤트를 생성할 수 있습니다. - 여러 수신자: MAILADDR는 여러 줄로 추가하거나 별도의 스크립트로 복잡한 라우팅을 구현하세요.
- 로그 기반 경보: syslog에 기록된 mdadm 이벤트를 기반으로 알림을 만드는 외부 도구를 사용하면 더 유연합니다.
중요
- 실제 디스크를 제거/교체할 때는 RAID 재구성(rebuild) 시간과 I/O 영향도를 고려하세요.
요약
이 문서에서는 mdadm의 MAILADDR 설정으로 RAID 이벤트 발생 시 이메일을 받는 방법을 설명했습니다. 핵심은 mdadm 설정 파일에 이메일을 넣고, 시스템 메일 송신이 동작하는지 확인한 뒤 mdadm을 재시작하는 것입니다. 문제 발생 시 메일 미수신 원인은 MTA 설정, 스팸 차단, mdadm 서비스 상태 등으로 좁힐 수 있습니다.
요약된 체크리스트와 검수 기준을 따라 설정하면 운영 중 RAID 관련 이벤트를 놓치지 않고 대응할 수 있습니다.