DNS-323 파일 시스템 관리와 cleanboot
최광용 Lv. 15 llllllllll 
19209 hit since 2008/03/24 11:21

DNS-323을 웹 인터페이스에서만 사용한다면 reboot과 shut down에 대해서 신경 쓸 필요가 없다. 하지만 ffp를 설치하여 사용을 한다면 웹 인터페이스에서 전원을 건드리는 것은 위험하다. 간단한 예로, telnet 데몬이 ffp디렉토리에서 실행되고 있기 때문에 ffp가 설치된 파티션은 웹 인터페이스에서 umount할 수 없게 되고, 마운트된 상태로 전원이 꺼지기 때문에 HDD에 문제가 생길 수가 있다.

이를 위해 만들어진 패키지가 cleanboot이다. 다음의 커맨드로 DNS-323 장비에 설치한다. (ffp 0.5 기준)

  1. # wget http://pof.eslack.org/dns323/cleanboot-2.0-ffp05.tgz
  2. # funpkg -i cleanboot-2.0-ffp05.tgz
  3. # /ffp/start/cleanboot.sh start

설치 후, 재부팅을 하기 전에 /ffp/start/cleanboot.sh에 실행 권한이 주어져 있는지 확인해본다. 없다면 실행 권한을 주자.

  1. # chmod +x /ffp/start/cleanboot.sh

여기까지 했으면 telnet으로 접속한 터미널에서 reboot를 입력하여 재부팅한다. 앞으로는 웹 인터페이스에서 전원을 건드리면 안된다. 꼭 telnet으로 접속하여 reboot를 입력한다.

부팅이 완료되면 telnet으로 접속하여 dmesg를 쳐본다. 분명 별 작업을 하지 않았음에도 다음과 같은 메시지가 출력될 것이다. 몇 번의 재부팅 과정중에 제대로 umount되지 않은 적이 있는 것이다.

  1. EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended

위의 메시지는 파티션 바로 아래에 출력된다. 다음과 같이 출력이 된다면, /dev/sda4, /dev/md0(/dev/sda2 + /dev/sdb2의 software raid 파티션) 파티션을 fix해야 한다.

  1. ext3: No journal on filesystem on sda4
  2. EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
  3. ext3: No journal on filesystem on sdb4
  4. ext3: No journal on filesystem on sda2
  5. EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
  6. ext3: No journal on filesystem on sdb2
  7. EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended

문제가 생긴 파티션을 fix하기 위해서는 e2fsck를 실행해야 한다. 그런데 이 명령은 마운트된 파티션에는 사용할 수 없다. 따라서 사용하고 있는 파티션을 umount해야 한다. /ffp -> /mnt/HD_a4/ffp 라고 가정하면, HD_a2는 쉽게 umount될 것이다.

  1. # umount /mnt/HD_a2

아무 에러 없이 프롬프트가 떨어졌다면 다음의 명령을 주어 파일 시스템을 체크하도록 한다.

  1. # e2fsck /dev/md0

용량이 크다면 시간이 오래 걸릴 것이다. 그래도 중요한 자료를 잃기 싫다면 꼭 하고 넘어가야 한다. 물론 앞으로는 이런 문제가 발생하지 않도록 조치를 해 둘 것이다.

이제 /mnt/HD_a2 파티션은 복구가 되었다. 위의 명령을 한번 더 쳐 보면 문제가 없다고 바로 로그 메시지가 뜰 것이다.

문제는 ffp가 설치되어 있는 파티션이다. umount하려고 하면 다음과 같이 에러메시지가 뜨고 umount가 되지 않는다. 기본적으로 telnet을 이용하고 있기 때문이다.

  1. # umount /mnt/HD_a4/
  2. umount: cannot umount /mnt/HD_a4: Device or resource busy

/dev/sda4 파티션을 fix하려면 ffp를 다른 파티션으로 이동시켜야 한다. ffp 디렉토리를 다른 파티션으로 복사한 뒤 /mnt/HD_a2/fun_plug스크립트를 수정(HD_a4 -> HD_b4)한 후 재부팅한다.

  1. # cp -a /mnt/HD_a4/ffp /mnt/HD_b4/
  2. # vi /mnt/HD_a2/fun_plug
  3. # reboot

재부팅 후 telnet 접속하면 /mnt/HD_a4를 umount할 수 있고 e2fsck를 실행시켜 파티션을 fix할 수 있다.

  1. # umount /mnt/HD_a4
  2. # e2fsck /dev/sda4
  3. # reboot

재부팅이 되면 telnet으로 접속하여 dmesg를 쳐 본다. e2fsck를 실행하라는 메시지가 출력되지 않는다면 파티션 복구에 성공한 것이다. 몇 번 더 reboot을 해본다. samba에 마운트해서 사용하다가 reboot도 해본다. 재부팅 후엔 dmesg를 입력하여 파티션 체크를 꼭 하자. reboot 할 때 파티션 문제가 생기지 않아야 한다.

문제가 생겼을 때 대처를 하려기보다는 문제가 발생하지 않도록 하는 것이 훨씬 중요하다. cleanboot을 설치하여 사용하고, 재부팅시엔 꼭 telnet으로 접속하여 reboot을 입력한다. 정말 중요하다.