일요일 7월 08, 2007

솔라리스 에서는 간단하게 네트워크 공유가 가능하다. 원하는 directory를 export하면 remote에서 공유해서 데이타를 사용이 가능하며, 자신의 local에 있는 것처럼 사용이 쓸수 있다.

만약 /var/tmp를 공유하고 싶다면, 아래와 같이 share명령을 이용하여 공유할 수 있다. 권한 설정도 가능하지만 우선 간단히 공유해 보자.

# share -F nfs /var/tmp 
# dfshares
RESOURCE                                  SERVER ACCESS    TRANSPORT
   ssepiro:/var/tmp                      ssepiro  -         -
are -F nfs /var/tmp# dfshares


위와 같이 dfshares 명령을 이용하면 현재 공유 상태를 알 수 있다. ssepiro는 hostname이다.

host의 IP가 192.168.1.1이라면 client쪽에서는 다음과 같이 사용할 수 있다.

# ls /net/192.168.1.1

이라고 명령을 준다면 공유되어 있는 /var/tmp의 내용을 볼 수 있다. 물론 ls외에 다른 명령 역시 local에 있는 것처럼 동일하게 모두 사용할 수 있다.

 

Problem

client쪽에서 host쪽의 공유 폴더를 이용할 경우 cache가 되어 실제 host쪽의 공유 폴더가 update되거나 바뀌는 경우 바로 그것을 알 수가 없는 문제가 있다.

Solution 

이럴 경우 다음과 같은 방법으로 update를 할 수 있다.

# svcadm disable autofs

# svcadm disable nfs/client

위와 같이 한 뒤 다시 위의 순서를 거꾸로 enable시켜주면 새로 바뀐 내용을 볼 수 있다.

mount하여 사용하고 싶을 때는 mount로 공유된 디렉토리를 local 디렉토리에 mount하여 사용이 가능하다.

# mount -F nfs host_ip:/directory_name /target_directory

-F nfs는 생략할 수 있다.


This blog copyright 2009 by Ilho Kim