Ubuntu 에서 LSI Mega-Cli 설치, 기본 명령어, Telegram 알람 설정
Ubuntu 서버를 기준으로 설명하였습니다.
1. 설치
# cd /usr/local/src
# apt -y install unzip alien libncurses5
# wget https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/8-07-14_MegaCLI.zip
# unzip 8-07-14_MegaCLI.zip
# cd Linux
# alien MegaCli-8.07.14-1.noarch.rpm
# dpkg -i megacli_8.07.14-2_all.deb
2. 명령어
디스크 상세 정보
# /opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL
디스크 요약 정보
# /opt/MegaRAID/MegaCli/MegaCli64 -ShowSummary -aALL
3. 알람 스크립트
Telegram Bot 이 있다면 알람을 주는데 활용하도록 합니다.
# vi /root/check_raid.sh
#!/bin/bash # Telegram 설정 (텔레그램 봇 API KEY, 수신자 CHAT_ID) API_KEY="12345678:ABFNrljuQ4nrwbChhMlx1z-tA36Ww" CHAT_ID="00112233" # 현재 정상 디스크 개수 list=`/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL |grep status` cnt=`echo "$list" |grep status |grep Active |wc -l` # 디스크 네개 중 하나라도 정상이 아닌 경우 if [ $cnt != 4 ]; then # 메시지 전송 MESSAGE="서버 디스크 에러가 감지 되었습니다. - 서버 : 파일 서버 - 내용 : $list" URL="https://api.telegram.org/bot$API_KEY/sendMessage" curl -s -X POST $URL -d chat_id=$CHAT_ID -d text="$MESSAGE" > /dev/null 2>&1 fi exit 0 |
# chmod 700 /root/check_raid.sh
# echo "0 9 * * * root sh /root/check_raid.sh" >> /etc/crontab
4. 쉘스크립트 암호화 (선택)
쉘스크립트에 Telegram Bot API KEY 와 사용자의 CHAT_ID 가 포함되어 있어 누군가 확인할 우려가 있을 경우 쉘스크립트를 바이너리 파일로 변경할 수 있습니다.
우선 필요한 패키지를 설치하고 위에서 작성했던 쉘스크립트를 암호화 합니다.
# apt -y install shc
# shc -f /root/check_raid.sh -o /root/check_raid
/etc/crontab 파일에서 쉘스크립트 실행 명령을 바이너리 파일 실행 명령으로 바꿉니다.
- 기존 : sh /root/check_raid.sh
- 변경 : /root/check_raid.sh
# sed -i 's/sh \/root\/check_raid.sh/\/root\/check_raid/' /etc/crontab
변경이 완료되었으면 테스트를 해봅니다. 이상이 없는 경우 기존 쉘스크립트는 삭제해 두는 것이 좋습니다.
# rm -f /root/check_raid.sh*
'리눅스 > OS 일반' 카테고리의 다른 글
CentOS 7 커널 순서 변경 (0) | 2019.03.22 |
---|---|
히스토리에 시간 남기기 (0) | 2018.12.21 |
Docker Portainer 설치 테스트 on CentOS 7 (0) | 2018.11.19 |
history 시간 출력하기 (0) | 2018.11.14 |
Docker 기본 명령어 및 WEB UI 설치하기 (portainer) - CentOS 7.x (0) | 2018.10.26 |