mount 명령을 사용하여 다른 컴퓨터의 공유 NFS 디렉토리를 로컬 컴퓨터 상에 마운트하실 수 있습니다. 예로 들면:
mount shadowman.example.com:/misc/export /misc/local |
![]() | 경고 |
|---|---|
로컬 컴퓨터 상에는 마운트할 지점인 디렉토리 (위의 예시에서는 /misc/local디렉토리)가 반드시 존재해야 합니다. |
위의 명령에서 shadowman.example.com 부분은 NFS 파일서버의 호스트명이고, /misc/export는 shadowman을 익스포트하는 디렉토리이며, 마지막으로 /misc/local은 로컬 컴퓨터 상에서 파일 시스템이 마운트될 위치입니다. mount 명령을 실행 후 (그리고 클라이언트가 shadowman.example.com NFS 서버로부터 적절한 권한을 가지고 있다면), 클라이언트 사용자는 ls /misc/local 명령을 입력하여 shadowman.example.com 컴퓨터에 있는 /misc/export 디렉토리에 저장된 파일 목록을 볼 수 있습니다.
다른 컴퓨터로부터 NFS 공유를 마운트할 수 있는 또 다른 방법은 /etc/fstab 파일에 새로운 줄을 첨가하는 것입니다. NFS 서버의 호스트명, 보내질 디렉토리명, NFS 공유가 마운트될 로컬 컴퓨터 상의 디렉토리명이 언급되어야 합니다. /etc/fstab 파일을 수정하시려면, 루트로 로그인하셔야 합니다.
/etc/fstab에 첨가될 줄은 다음과 같은 형식으로 작성됩니다:
server:/usr/local/pub /pub nfs rsize=8192,wsize=8192,timeo=14,intr |
마운트 지점인 /pub 은 반드시 클라이언트 컴퓨터 상에 위치해야 합니다. 클라이언트 시스템에서 /etc/fstab 파일에 위의 줄을 첨가하신 후, 쉘 프롬프트에서 mount /pub 명령을 입력하시면, /pub 디렉토리가 마운트됩니다.
NFS 공유를 마운트하기 위한 세번째 옵션은 autofs를 사용하는 것입니다. Autofs는 자동마운트 데몬을 사용하여 필요한 경우에만 마운트하는 동적 마운트 방식입니다.
Autofs는 마스터 맵(map) 설정 파일인 /etc/auto.master를 참고하여 이미 정의된 마운트 지점을 알아냅니다. 그 후 각 마운트 지점에 사용되는 적절한 매개 변수를 가지고 자동 마운트 과정을 시작합니다. 마스터 맵 파일은 한 줄마다 마운트 지점과 이 마운트 지점 아래에 마운트된 파일 시스템을 정의하는 별개의 맵 파일을 정의합니다. 예를 들어, /etc/auto.misc 파일은 /misc 디렉토리 내의 마운트 지점들을 정의하는 맵 파일입니다; 이러한 관계는 /etc/auto.master 파일에 정의되어 있습니다.
auto.master 파일에 포함된 각 항목들은 3가지 부분으로 나뉘어 있습니다. 첫번재 부분은 마운트 지점이고, 두번째 부분은 맵 파일의 위치이며 세번째 부분은 있어도 되고 없어도 되는 선택 사항으로서 제한시간 (timeout) 값과 같은 정보가 포함됩니다.
예를 들어, 원격 컴퓨터 penguin.host.net 상의 /proj52 디렉토리를 여러분 컴퓨터 상의 /misc/myproject 디렉토리로 마운트하시려면, auto.master 파일에 다음과 같은 줄을 첨가해 주십시오:
/misc /etc/auto.misc --timeout 60 |
다음 줄을 /etc/auto.misc 파일에 추가하십시오:
myproject -rw,soft,intr,rsize=8192,wsize=8192 penguin.example.net:/proj52 |
/etc/auto.misc의 첫번째 부분은 /misc 하부 디렉토리 이름입니다. 이 디렉토리는 자동 마운트 기능을 사용하여 동적으로 생성되었기 때문에 클라이언트 컴퓨터 상에 실제로 존재하지는 않습니다. 두번째 영역에는 읽기 쓰기 권한에 사용되는 rw와 같은 마운트 옵션이 포함됩니다. 세번째 부분에는 NFS 내보내기되는 호스트명과 디렉토리의 위치입니다.
![]() | 알림 |
|---|---|
로컬 파일 시스템 상에 /misc 디렉토리가 있어야 하며, 이 /misc 디렉토리에는 어떠한 하부 디렉토리도 존재해서는 안됩니다. |
Autofs는 서비스입니다. 이 서비스를 시작하기 위해서는 쉘 프롬프트에서 다음 명령을 입력하십시오:
/sbin/service autofs restart |
사용 중인 마운트 지점을 보시려면, 쉘 프롬프트에서 다음 명령을 입력하시면 됩니다:
/sbin/service autofs status |
autofs가 실행되는 동안 /etc/auto.master 설정 파일을 수정하신다면, 쉘 프롬프트에서 다음 명령을 입력하여 자동 마운트 데몬이 다시 읽혀지도록 하셔야 합니다:
/sbin/service autofs reload |
부팅시 autofs가 시작되도록 설정하시려면, 서비스 관리 방법에 대한 자세한 사항을 21 장에서 찾아보시기 바랍니다.
NFS의 기본 전송 프로토콜은 UDP 입니다; 그러나 Red Hat Enterprise Linux 3 커널은 TCP를 사용하는 NFS도 지원합니다. TCP를 통한 NFS를 사용하시려면, 클라이언트 시스템에 NFS 익스포트된 파일 시스템을 마운팅할 때 mount 명령에 -o tcp 옵션을 추가하시면 됩니다. 예를 들면:
mount -o tcp shadowman.example.com:/misc/export /misc/local |
/etc/fstab에 NFS 마운트가 지정되어 있다면:
server:/usr/local/pub /pub nfs rsize=8192,wsize=8192,timeo=14,intr,tcp |
autofs 설정 파일에 지정되었다면:
myproject -rw,soft,intr,rsize=8192,wsize=8192,tcp penguin.example.net:/proj52 |
기본 프로토콜은 UDP이므로, -o tcp 옵션을 지정하지 않으시면, UDP를 통하여 NFS 익스포트된 파일 시스템에 액세스합니다.
TCP를 사용하는 장점은 다음과 같습니다:
연결 지속성이 좋아서 NFS stale file handles 메시지가 줄어듭니다.
UDP는 완료된 패킷만 확인하는 반면, TCP는 모든 패킷을 확인하기 때문에 작업 부하가 많은 네트워크 상에서 성능이 향상됩니다.
TCP는 혼잡 제어(congestion control) 기능을 가집니다 (UDP는 이 기능이 없습니다). 매우 혼잡한 네트워크 상에서 UDP 패킷들이 가장 먼저 손실됩니다. 즉, NFS가 데이터를 (8K 단위로) 기록하는 경우, 8K 모두 다시 재전송되어야 합니다. TCP는 신뢰할 수 있는 프로토콜로서, 한번에 8K의 일부만 전송합니다.
오류 감지 기능. (서버가 다운되어) TCP 접속이 끊어지면, 클라이언트는 데이터 보내기 작업을 중지하고 재접속 과정을 시작합니다. UDP를 사용할 경우, 접속이 끊어지면 클라이언트는 서버가 다시 시작될 때까지 네트워크로 계속해서 데이터를 보냅니다.
주된 장점은 TCP 프로토콜의 오버헤드로 인한 성능 저하가 매우 작다는 것입니다.
Red Hat Enterprise Linux 3 커널은 ext3 파일 시스템과 NFS나 Samba 프로토콜을 사용하여 마운트된 ext3 파일 시스템에 ACL 지원을 제공합니다. 따라서 ext3 파일 시스템이 ACL을 지원하는 서버에 의해 NFS 익스포트되었고, NFS 클라이언트가 ACL을 읽을 수 있다면, NFS 클라이언트는 ACL을 이용할 수 있습니다.
ACL을 이용하여 NFS 파일 시스템을 마운팅하는 방법에 대한 자세한 정보를 보시려면, 8 장을 참조하시기 바랍니다.