메뉴 건너뛰기


Developer > Operating System
제공 : 한빛 네트워크
저자 : 이상호 

4. 리눅스 준비 

사실 리눅스에서는 특별히 준비할 사항은 없다. 하지만 몇가지 확인해두어야 할 사항이 있다. 본문에서는 RedHat 계열의 리눅스를 대상으로 한다. 따라서 NFS 패키지가 설치되어 있는지 확인이 필요하다. 리눅스에서는 NFS를 서비스하고 받아들이기 위해서 다음과 같이 패키지가 설치되어 있는지 확인한다.
# rpm –qa | grep nfs
# rpm –qa | grep portmap
위 명령들의 실행 결과로 nfs-utils 패키지와 nfs-utils-lib 패키지. 그리고 portmap 패키지가 화면에 출력되어야 한다. 만약 출력되지 않는다면 RPM 사이트에서 해당 패키지를 받아 설치해주어야 한다. 

설치 방법은 여기서 자세히 다루지 않으므로 다른 리눅스 서적이나 글을 찾아보길 바란다. 

5. 윈도우 서버로 리눅스 클라이언트로 접근하기 

윈도우 서버로 리눅스 클라이언트 접근을 시도하기 위해선 다음과 같은 가정을 먼저 세워보도록 한다. 

“A씨는 자신의 디스크 공간이 부족해 B씨 컴퓨터의 공간을 필요로 한다. 그런데 A씨는 리눅스를 사용하고 있고, B씨는 윈도우를 사용하고 있다. 어떻게 해야 할까?” 

B씨는 C:search 폴더를 A씨에게 할당하려고 한다. 우선 C:에 search 폴더를 생성한다. 

 
[그림 39] search 폴더가 생성된 모습 

이제 search 폴더를 nfs 가 접근할 수 있도록 설정해주어야 한다. search 폴더의 공유 정보에 다음과 같이 접근한다. 

 
[그림 40] 폴더의 공유 정보에 접근하기 

위와 같이 선택하고 다음과 같은 공유 정보 창이 나오면 NFS Sharing 탭을 선택한다. 

 
[그림 41] nfs sharing 탭 선택 후 

위 화면은 nfs sharing 탭을 선택한 이후의 모습이다. 처음 공유 메뉴를 선택하면 공유 탭이 선택되어 있다. 

nfs sharing 탭 선택 후에는 Share this folder를 선택하고 Share name과 encoding을 선택한다. 

 
[그림 42] nfs 설정하기 

share name은 기본적으로 nfs로 공유할 폴더 이름을 가져오게 되지만 한글 이름을 가진 폴더인 경우 영어와 숫자로 재구성한다. 공유 폴더의 이름이 마음에 들지 않으면 변경해주어도 무방하다. 

encoding은 해당 폴더에 사용된 엔코딩을 결정하는데 한글 이름으로 된 폴더나 파일이 포함된다면 encoding은 euc-kr로 선택해준다. 

이제 해당 폴더에 관한 permission을 설정해주어야 한다. permission 설정은 Permissions 버튼을 통해 접근할 수 있다. 

Permission 설정 창은 다음과 같이 생겼다. 

 
[그림 43] permissions 창 

위와 같은 화면이 나왔다면 Allow root access를 체크하고 OK 버튼을 클릭한다. 그럼 다시 공유 정보 화면으로 돌아가게 된다. 

 
[그림 44] Allow root access 체크 후 

이것으로 윈도우의 설정은 끝났다. NFS 공유 폴더로 되어 있는지 여부는 탐색기에서 다음과 같이 보이면 설정된 것이다. 

 
[그림 45] NFS 공유가 설정된 모습 

이제 리눅스에서 윈도우 서버에 접근해야 한다. 리눅스에서 윈도우의 NFS에 연결하려면 다음과 같이 한다.
# mount -t nfs 192.168.1.5:/search /mnt
다음 그림은 리눅스에서 실제 명령을 내리는 모습이다. 

 
[그림 46] 리눅스에서 윈도우 NFS 서버로 접근하기 

mount 명령어는 리눅스에서 디스크 장치나 기타 외부 장치를 쓰려고 할 때 자주 쓰이는 명령어로서 위 명령어는 빈칸(스페이스)을 기준으로 설명하면 다음과 같다.
  • mount - mount 명령어를 사용하겠다고 알린다
  • -t - 외부 장치의 타입을 기술하겠다고 알린다.
  • nfs - 외부 장치가 nfs임을 알려준다.
  • 192.168.1.5:/search - 192.168.1.5에 위치한 search 폴더를 접근하겠다고 알린다.
  • /mnt - 마운트된 장치가 어디를 통해 접근할 수 있는지 말한다.
위 명령어를 기준으로 말하면 192.168.1.5(윈도우 nfs 서버)에 있는 search 폴더를 리눅스에서 /mnt를 통해서 들어가겠다고 한다는 것이다. 이렇게 할 경우 리눅스 클라이언트에서는 /mnt로 이동하면 그 디렉토리는 외부 장치에 들어가는 것과 같다. 

마운트가 끝나면 다음과 같이 접근이 가능함을 볼 수 있다. 

 
[그림 47] 마운트가 된 디렉토리로 들어간 모습 

이제 리눅스에서도 윈도우의 nfs 서버로 접근해서 작업을 진행해 보기 바란다. 

6. 리눅스서버로 윈도우 클라이언트로 접근하기 

리눅스가 NFS 서버로 구성되는 경우는 윈도우와 달리 조금 복잡한 설정을 해야 한다. 

우선 NFS가 접근할 디렉토리를 선택한다. 본문에선 /home/shlee 디렉토리를 기준으로 한다. nfs 공유를 위해선 /etc/exports 파일 끝에 다음과 같이 적어준다.
/home/shlee   192.168.1.5(rw,sync,no_root_squash)
그리고 저장하고 nfs 서버를 재시작한다.
# service nfs restart
nfs 공유 설정의 의미는 다음과 같다.
  • /home/shlee - 어떤 디렉토리를 NFS 공유할지 지정한다.
  • 192.168.1.5 - NFS 접근을 192.168.1.5에게만 허용하겠다를 말한다
  • (rw,sync) - 읽기, 쓰기를 허용하고 동기 모드로 데이터를 주고 받겠다를 의미한다.
보다 자세한 NFS 공유는 NFS 관련 문서를 찾아보도록 한다. 

위와 같이 리눅스 서버에서 설정이 종료되면 윈도우에서는 아래와 같이 한다.
> mount 192.168.1.53:/home/shlee *

 
[그림 48] 윈도우에서 공유하는 모습 

mount 프로그램에 대한 자세한 정의는 mount /? 를 통해 도움말을 통해 보길 바라며 본문에서는 설명을 생략한다. 

위과 같이 명령을 내리면 짜잔하고 다음과 같이 공유가 되었다고 나온다. 

 
[그림 49] 윈도우 NFS 서비스가 마운트된 모습 

이제 마운트 되었다고 나온 g 드라이브로 이동하면 리눅스 서버의 파일들이 보이게 된다. 이제 써보자. 

여기까지 윈도우에서 NFS를 쓰는 방법을 알아보았다. NFS 테스트 당시 윈도우↔윈도우도 테스트 해보았는데 잘되지 않았다. 혹시라도 나중에 윈도우대 윈도우간 NFS가 된다면 다시 테스트할 여지가 있겠지만 마이크로소프트에서 지원을 해주지 않는다고 하기 때문에 그것까지는 조금 무리이지 않을까..하는게 개인적인 생각이다.


출처: http://www.hanb.co.kr/network/view.html?bi_id=1514