2015. 4. 3. 09:00 :: 운영체제

NFS 분산 파일시스템

솔라리스는 원격 파일 공유를 지원하며, 이러한 파일 리소스는 사용자에게 로컬 파일과

디렉토리인 것처럼 제공해 줍니다. 솔라리스에서 지원하는 분산 파일 시스템은 NFS 입니다.

NFS의 환경의 구성요소는 다음과 같습니다.

- NFS 서버

- NFS 클라이언트

솔라리스 10에서는 디렉토리를 공유하거나 공유된 파일에 접근하기 위해 NFSv4를 사용합니다.

NFS 클라이언트가 NFS 서버에 접근할 때 NFS의 버전을 확인합니다. 만약에

클라이언트와 서버 모두 솔라리스 10이라면 기본적으로 NFSv4를 사용합니다.

 

1. NFS 서버 관리

NFS 서버를 활성화 시키기 위해서 몇가지 파일이 필요합니다. 아래 표는 NFS 서버에 필요한 파일들과

그에 따른 기능입니다.

1) /etc/dfs/dfstab 파일

/etc/dfs/dfstab 파일은 로컬 디렉토리를 공유하는 명령을 포함합니다.

dfstab 파일의 각 라인 마다 share 명령으로 구성되며, 읽어지는 경우는 아래와 같습니다.

- 시스템이 multi-user-server milestone 부팅 때,

- 관리자가 shareall 명령을 실행할 때

- svc:/network/nfs/server 서비스 활성화 시

하지만 위 파일과 같이 어떠한 share 명령어가 없다면 NFS 서버 데몬이 시작되지 않습니다.

 

2) /etc/dfs/sharetab 파일

sharetab 파일은 share 명령의 결과를 저장하고 있는 파일입니다. 이 파일은 현재 공유되고 있는

로컬 리소스의 목록을 포함하고 있습니다.

 

2. NFS 서버 데몬

NFS 서버를 활성화시키기 위해 몇 가지 데몬이 필요합니다. 이러한 데몬은

NFS 클라이언트, NFS 서버, NFS 서버 로깅에 필요한 데몬입니다.

NFS 서버 데몬을 시작하거나 NFSD 데몬에 의해 처리될 수 있는 동시 NFS 요청 수를 지정하려면

svc:/network/nfs/server 서비스를 활성화합니다.

 

3. NFS 서버 데몬 관리

NFS 데몬은 시스템의 런 레벨이 변경될 때 조건적으로 시작되거나,

수동으로 svc:/network/nfs/server 서비스를 활성화 할 때 시작하게 됩니다.

1) NFS 서버 데몬 시작

svc:/network/nfs/server 서비스는 시스템의 런 레벨이 3으로 될 때 NFS 데몬이 시작됩니다.

NFS 서버 데몬을 수동으로 시작시키기 위ㅐ서는 share 명령으로 /etc/dfs/dfstab 파일에

공유 디렉토리를 추가하 뒤 아래의 명령으로 NFS 명령어를 활성화 시켜야 합니다.

- svcadm enable svc:/network/nfs/server

2) NFS 서버 데몬 정지

기본적으로 NFS 서버 데몬은 multi-user-server milestone을 벗어날 때 SMF에 의해 정지됩니다.

수동으로 정지시키기 위해서 아래와 같이 명령어를 입력합니다.

- svcadm disable svc:/network/nfs/server

 

4. NFS 서버 명령

아래 표는 NFS 서버를 관리하는데 필요한 명령입니다.

 

5. 리소스 공유를 위한 NFS 서버 구성

1) NFS 마운트

mountd와 nfsd 데몬이 실행중일 때, share 명령을 사용하여 파일 리소스를 공유할 수 있습니다.

다음은 share 명령의 옵션입니다.

아래는 위 옵션을 이용하여 /Desktop/share 디렉토리를 만들고 읽기 전용으로 공유하는 예제입니다.

share 명령을 아무런 옵션 없이 사용할 경우 현재 공유된 모든 파일 리소스들의 목록을 보여 줍니다.

위에서 사용된 -o 옵션은 아래와 같은 옵션을 가집니다.

이를 이용하여 userB가 NFS 마운트 리소스에 대해 관리자 권한으로 접근할 수 있도록 설정해보겠습니다.

2) NFS 마운트 해제

unshare 명령을 사용하여 파일 리소스들을 마운트할 수 없도록 해제 할 수 있습니다.

이 unshare명령은 /etc/dfs/sharetab 파일을 읽어서 실행 합니다.

3) 모든 NFS 리소스 공유 해제

shareall 명령이나 unshareall 명령을 사용하여 모든 NFS 리소스를 공유하거나 해제할 수 있습니다.

shareall 명령을 아무런 옵션 없이 사용할 때, /etc/dfs/dfstab 파일을 참조하여

dfstab 파일에 등록된 모든 리소스를 공유하게 됩니다.

unshareall 명령도 마찬가지로 /etc/dfs/dfstab 파일을 참조합니다.

아래 예제는 share1, share2 디렉토리를 dfstab 파일에 등록해놓고, shareall, unshareall을 사용한 예제입니다.

 

# 참고서적 : 유닉스 관리자를 위한 엔터프라이즈 솔라리스 핵심 운영 가이드2 / 김석, 박찬주, 장성균 공저

 

 

posted by Red_Message