반응형

와치독(watchdog)은 가동중인 시스템이 어떤 외부적인 상황으로 시스템 구동이 멈췄을 때, 이를 타이머로 감지한 후 일정시간 반응이 없으면 자동으로 재부팅시켜 시스템이 완전히 다운되지 않도록 하는 방법이다.

 

라즈베리파이를 IOT 장비로 사용한다면 밖에 나가있을 때 고장나면 알아서 감지하여 재부팅하도록 설정하여야 한다.

이를 설정하는 방법이다.

 

1. watchdog 세팅

sudo modprobe bcm2835_wdt

 

2. 와치독을 모듈에 설정

echo "bcm2835_wdt" | sudo tee -a /etc/modules

 

3. watchdog 데몬 설치 (백그라운드로 돌는 것)

sudo apt-get install watchdog
sudo update-rc.d watchdog defaults

 

4. nano 편집기로 timeout에 대한 세팅

sudo nano /etc/watchdog.conf
max-load-1       =  24		<- 주석을 제거함.
watchdog-timeout = 14		<- 없으므로 내가 작성. 이숫자가 작아질수록 렉걸린후 기다리는 시간이 짧아짐.

        좀 더 아래로 내린 후 아래도 수정

watchdog-device = /dev/watchdog
realtime        = yes
priority        = 1

다되면 Ctrl + X로 저장

 

5. Watchdog 기능 활성화

sudo /etc/init.d/watchdog restart

 

 

(테스트)

강제로 에러를 일으켜 먹통으로 만들고 렉걸리게 하는 코드 (주의 아무곳이 사용하면 안된다!)

:(){ :|:&amp; };:

코드를 실행하면 무제한 루프에 가두고 먹통으로 만들어 버림
결국엔 이렇게 죽어버려서 원격이 끊긴다.

반응형

재접속 시도.

성공, 접속이 다시 되었다. 필자가 가서 재부팅을 한것도 아니고, 그저 원격으로 먹통을 만들었는데 와치독이 그것을 인식하고 알아서 재부팅을 시켜버렸다.

이제 이 와치독과 함께 시작시 프로그램을 자동으로 돌리는 코드를 함께 사용하면, 신뢰성이 향상된 IOT기기처럼 쓸 수 있을 것이다.

https://ansan-survivor.tistory.com/1310

 

[Raspberry Pi] 라즈베리파이 자동 시작프로그램 등록하기

라즈베리파이가 실행되자마자 프로그램을 실행시킬 수 있는 방법이 있다. 1. 시작프로그램 설정 파일 $ sudo nano /etc/rc.local 2. 아랫부분에 원하는 동작 등록 . . . fi [여기에 등록] exit0 3. 재부팅하면

ansan-survivor.tistory.com

 

 

 

반응형

+ Recent posts