웹서버에 모바일 홈페이지를 또 다른 톰캣에 담아 서비스 하던 중,


ssh 연결만 끊으면 404 에러가 뜨는 문제가 생겼다. 원인을 찾아보니 간혈적으로 WAS가 올라간 볼륨의 마운트가 해제되는 문제였다.

 

모바일 홈페이지는 /home/hanbat 폴더에 위치했다.



df -h 출력


/dev/mapper/tts-root 231214136 175502676  43966388  80% /
none                   2047104       212   2046892   1% /dev
none                   2054268       140   2054128   1% /dev/shm
none                   2054268       136   2054132   1% /var/run
none                   2054268         0   2054268   0% /var/lock
none                   2054268         0   2054268   0% /lib/init/rw
/dev/sda1               233191    105543    115207  48% /boot
/home/hanbat/.Private
                     231214136 175502676  43966388  80% /home/hanbat



보다시피 메인 디스크 볼륨은 / 로 마운트 되어있다.


헌데 맨 마지막줄에도 루트와 똑같은 용량으로 /home/hanbat/.Private 가 /home/hanbat으로 마운트되어 있는 아이러니한 구조다.


이 서버는 단일 디스크로 /home/hanbat 에 마운트된 볼륨과 /는 완전히 동일한 디스크다.


타 업체가 구성한 서버였기에 자세한 내용을 몰라 이리저리 찾아보던중 디스크 암호화 관련 유틸을 찾아냈다.


ubuntu 의  ecryptfs-utils 위 구성은 이 유틸로 /home/hanbat/.Private 라는 폴더를 /home/hanbat 으로 재 마운트 한것이다.


즉, .Private 폴더가 /home/hanbat으로 보이도록 마운트를 재구성 했다고 볼 수 있다.


실제 디스크의 /home/hanbat/.Private 에 가보면 암호화된, 알아볼 수 없는 파일들만 잔뜩 들어있다. 복호화키에의해 이 파일들이 복호화 되면서


/home/hanbat 처럼 보이는 것이다. 그리고 /home/hanbat/.ecryptfs 폴더에 이와 관련된 설정 파일들이 있다. 


hanbat@tts:~/.ecryptfs$ ls
Private.mnt  Private.sig  auto-mount  auto-umount  wrapped-passphrase


5개의 설정 파일이 있는데 이중 auto-mount와 auto-umount는 내용이 빈 파일로 단지 암호화된 디스크의 자동 마운트 및 언마운트 설정용 config다


메뉴얼을 찾아보니 auto-mount 는 로그인할 때 자동으로 마운트하는 옵션이고 auto-umount는 로그아웃할 때 자동으로 언마운트 하는 옵션이다.


이 설정으로 인해서 ssh연결을 끊으면 마운트되어있던 볼륨이 언마운트 되면서 /home/hanbat 으로 둔갑하고 있던 /home/hanbat/.Private 가 사라지고


본래의 /home/hanbat 으로 변하게 된다.

모바일 WAS를 올려둔 것은 홈 폴더로 둔갑했던 /home/hanbat/.Private 이므로 웹 서버가 파일들을 찾을 수 없던 것이다. 


이 디스크 암호화 유틸의 마운트는 /etc/fstab 설정에 전혀 나타나 있지 않다.


인수인계에서 해당 내용을 전달 받지 못했다면, 나중에 꽤나 고생을 해야할지도 모른다. 


마운트가 해제되는 문제는 auto-umount 파일을 삭제함으로써 해결했다.













Posted by $Zero
: