서버A는 학부생용 서버
서버B는 학부생용 데이터서버 1 (NFS)
서버C는 학부생용 데이터서버 2 (NFS)
서버D는 윈도우 서버 (윈도우 공유)
이렇다고 하자.
A에서는 /home에다가 B, C의 NFS 디렉토리를 마운트 한다. 그리하여 A에 계속 하드를 추가시키지 않아도 네트워크를 이용하면 얼마든지 데이터서버 E, F... 를 추가해 갈 수 있을 것이다.
D의 파일도 A의 시스템상 어디선가 쓰고 있어서 마운트 해야한다....
하지만 문제가 발생한다.
B, C가 부팅이 완전히 된 뒤 서버 A가 켜지면 다행인데
A가 먼저 켜지고, B, C가 그 다음에 켜진다면?
/etc/fstab
에 고정적으로 마운트 한 것이 모두 소용이 없게 된다...;;
마운트 안 되면 다시 수작업으로 (...) 마운트 해야지 된다.
autofs는 파일시스템을 사용할 때 마운트 하고, 사용을 오랫동안 안 하면 자동으로 unmount해준다. 따라서 A가 먼저 켜지고 B, C가 켜지더라도 B, C서버가 완전히 부트 될 때 까지 사용자가 몇 번만 시도해주면 (-_-) 사용할 수 있게 되는 것이다.
CentOS에서 autofs 데몬은
/etc/init.d/autofs
에 있다. 디폴트로는 "서비스 사용되지 않음"인듯.
테스트가 완료될 때 까지는
/etc/rc5.d/K28autofs는 비활성화된 채로 놔두는 것으로 하자.
일단은 삼바 마운트를 기준으로 설정파일을 만지는 것을 보여준 뒤 NFS마운트도 곧 보여주겠다.
1. 마스터 파일의 에디트
/etc/auto.master파일을 에디트 했다.
필자는 아래 줄을 추가함:
/.automount/smb /etc/autofs/auto.smb --ghost
/.automount/smb: /.automount/smb 디렉토리는 autofs의 지배하에 들어가게 된다. 주의: 이미 파일이 존재하고 있는 디렉토리를 여기에 적으면 안 됨. 파일이 날아가는 것은 아니지만, 오토마운트 데몬이 도는 동안 그 디렉토리의 내용은 오토마운트 데몬에 독점되므로, 오토마운트 데몬이 마운트 한 것만 보이게 된다;;
기존의 다른 파일이 있는 곳에다 마운트를 하고 싶으면 할 수 없이 소프트링크를 쓸 수 밖에...;;
/etc/autofs/auto.smb: 첫 옵션으로 지정한 디렉토리를 지배하겠다고 했지만... 구체적으로 어떻게 지배할 것인지는 두번째 옵션으로 지정한 파일의 설정을 따른다. 이것이 보조 설정 파일...
--ghost: 실제로 디렉토리가 마운트 되어있지 않더라도 (네트워크가 끊겼다든지) ls 했을 때 디렉토리를 보이라는 옵션이다.
2. 보조 설정의 에디트
/etc/autofs
라는 디렉토리를 생성했다. (CentOS에 디폴트로 있는 디렉토리가 아니다.)
그리고 /etc/autofs/auto.smb 파일을 만들었다.
ldif -fstype=cifs,credentials=/etc/autofs/ldif.auth ://D.yyy.ac.kr/ldif
ldif: 오토마운트 된 디렉토리가 어떤 이름을 지니게 되는가?
이 설정에 따르면 공유된 디렉토리는 서버 A에서 /.automount/smb/ldif 로 보이게 된다.
-fstype=cifs,credentials=/etc/autofs/ldif.auth
마운트 옵션이 되겠다.
fstype=cifs 는 상당히 명확하죠... 윈도우 폴더를 인식시키는 파일시스템.
credentials=/etc/autofs/ldif.auth
이게 중요한데, 공유에 접속할 때 사용하는 비번이 적힌 파일을 던져주는 것이다 (!)
권한은 600으로 설정하고 내용을...
username=[사용자명]
password=[비번]
으로 한다.
윈도우 공유를 마운트 할 때가 그렇지만... 보안상 문제가 조금 있다;; rw 권한이 모든 사용자에게 허락되어 있는 것이다;; 마운트 옵션을 조금 손봐주자.
ldif -fype=cifs,hard,intr,
credentials=/etc/autofs/ldif.auth,
uid=48,gid=48,dir_mode=0700,file_mode=0600
://C.yyy.ac.kr/ldif
(옵션이 너무 길어서 엔터로 끊어주었다)
hard, intr은 NFS에서의 옵션과 같다. 삼바 공유에선 intr은 아직 구현되지 않았다고 하지만...;
hard와 soft의 차이점은
http://tldp.org/HOWTO/NFS-HOWTO/client.html
4.3 mount options를 참고하시오.
uid, gid : 소유권자로 보일 유저 / 그룹
dir_mode, file_mode: 권한을 설정한다. 반드시 4자릿수로 해야만 한다;; 안 그러면 권한이 이상하게 보일 것이다.
데몬 시작!
테스트로 /etc/init.d/autofs start
를 해보자. 성공했다면 /.automount/smb/ldif
디렉토리가 보이고, ls로 그 내용을 볼 수 있을 것이다.
만족하면 서비스가 자동으로 시작되게끔 /etc/rc5.d/K28autofs를 S28autofs로 이름을 바꾼다.
NFS는 어떻게 하나요?
/etc/auto.master에 다음 줄 추가
/.automount/nfs /etc/autofs/auto.nfs --ghost
윈도우 공유를 처리할 때와 비슷하다. -_-a 여기까진 별로 특별한 점 없음.
/etc/autofs/auto.nfs의 내용은...
9X -fstype=nfs,hard,intr,rw B.yyy.ac.kr:/export/disk1/9X
2000 -fstype=nfs,hard,intr,rw B.yyy.ac.kr:/export/disk1/2000
2001 -fstype=nfs,hard,intr,rw B.yyy.ac.kr:/export/disk2/2001
2002 -fstype=nfs,hard,intr,rw B.yyy.ac.kr:/export/disk3/2002
2003 -fstype=nfs,hard,intr,rw B.yyy.ac.kr:/export/disk4/2003
2004 -fstype=nfs,hard,intr,rw C.yyy.ac.kr:/export/disk1/2004
2005 -fstype=nfs,hard,intr,rw C.yyy.ac.kr:/export/disk2/2005
2006 -fstype=nfs,hard,intr,rw C.yyy.ac.kr:/export/disk3/2006
2007 -fstype=nfs,hard,intr,rw C.yyy.ac.kr:/export/disk4/2007
와 같다. soft와 hard옵션 중 soft를 하면 파일이 방법당할 수 있다. hard로 하길 권장한다. soft를 하면 컴퓨터가 지멋대로 엉뚱한데다가 파일을 기록했다가 파일을 날려먹을 수 있다.
기존 홈디렉토리의 마운트들... /home/2000 2001... 등은 /.automount에 대한 소프트링크로 대체했다.
/home/local만은 로컬사용자를 위한 곳이라... 그런 예외가 없다면 /home을 오토마운트가 지배하도록 해도 좋다. (솔라리스가 그렇다.)
NFS서버쪽 설정은 필자의 블로그 다른 글을 참고하시길...
http://blog.naver.com/ssanzing2/140030020358 (Solaris10)