14장. NFS 서버 설치 및 운영 (1) - NFS 서버 구축

728x90
반응형

출처 : https://www.youtube.com/watch?v=7PMVgxRj3pI

 

 

NFS 서버 개념

NFS 서버 개요도

  • Linux(Unix) 컴퓨터끼리 저장 공간을 공유할 수 있도록 해주는 시스템이 NFS(Network File System)이다.
  • 한 대의 Linux에서 디렉토리를 공유시키면 다른 리눅스에서 공유 디렉토리를 사용한다.
  • Client 에서는 마운트 디렉토리를 가상으로 생성하고, 가상 디렉토리를 마운트해서 서버의 디렉토리를 사용하는 것과 동일한 효과를 낸다.

 

NFS 서버 구현

NFS 구현 순서는 다음과 같다.

  1. NFS 서버에 nfs-utils 패키지가 설치되었는지 확인한다.
  2. NFS 서버의 /etc/exports에 공유할 디렉토리와 접근을 허가할 컴퓨터 및 접근 권한을 지정한다.
  3. NFS 서비스를 실행한다.
  4. NFS 클라이언트에 nfs-utils 패키지가 설치되었는지 확인한다.
  5. NFS 클리이언트에 showmount 명령을 실행해 NFS 서버에 공유된 디렉토리가 있는지를 확인한다.
  6. NFS 클라이언트에서 mount 명령을 실행해 NFS 서버에 공유된 디렉토리를 마운트한다.

 

NFS 서버 구축

 

실습 목표

  • Server를 NFS 서버로 구축하고, Client 및 WinClient를 NFS 클라이언트로 구축한다. 원칙적으로 NFS는 리눅스끼리 디렉토리를 공유하는 것이지만, Windows 또한 NFS 클라이언트 기능이 가능하다.

 

사전 작업

Server 가상 머신을 설정 완료 상태로 초기화하고 부팅한 다음, root 사용자로 접속한다.

 

NFS 서버 설치 및 설정

 

nfs-utils 패키지가 설치되어있는지 확인한다. 만약 설치되어있지 않다면 설치한다.

rpm -qa nfs-utils -> nfs-utils 패키지 설치 확인
dnf -y install nfs-utils -> 만약 설치되어있지 않다면 nfs-utils 패키지 설치

 

 

gedit 에디터로 /etc/export 파일을 실행한다. 다음 내용을 입력해 공유할 디렉토리를 추가한다.

/share	*(rw,sync)	-> 우리가 추후에 생성할 share라는 디렉토리를 모든 네트워크가 공유한다.
			    공유하는 네트워크 사용자들은 읽기, 쓰기가 가능하고 동기화된다.

 

 

share 라는 디렉토리를 하나 생성하고 접근 권한을 707로 변경한다. 그리고 적당한 파일을 share 디렉토리에 복사한다.

mkdir /share
chmod 707 /share
cp /boot/vm* /share

 

 

nfs-server 서비스를 재가동한다.

systemctl restart nfs-server
systemctl enable nfs-server

 

 

공유된 폴더 목록들을 확인한다. /share 디렉토리가 rw로 공유되어있다고 나온다.

exportfs -v

 

원활한 실습 진행을 위해 방화벽을 잠시 꺼둔다.

systemctl stop firewalld

 

 

클라이언트에서 NFS 서버 공유 디렉토리 사용

Client 가상 머신을 초기화하고 부팅한다.

 

 

nfs-utils 패키지가 설치되어있는지 확인한다. 만약 설치되어있지 않다면 설치한다. 명령어는 server 와 동일하다.

rpm -qa nfs-utils

 

 

NFS 서버에 공유된 디렉토리를 확인한다. /share 라는 디렉토리가 네트워크 내의 모든 사용자에게 공유되어있다고 출력된다.

showmount -e 192.168.111.100

 

 

마운트할 디렉토리(myShare)를 생성하고 NFS 서버의 share 디렉토리에 마운트한다.

mkdir myShare
su -c 'mount -t nfs 192.168.111.100:/share myShare'

 

 

myShare 디렉토리를 확인해보면, 우리가 share 디렉토리에 복사해뒀던 파일들이 보인다.

즉, client의 myShare 디렉토리를 통해 server의 share 디렉토리에 있는 파일을 공유해서 사용할 수 있게 되었다.

 

 

마찬가지로 client의 myShare 디렉토리에 파일을 하나 집어넣으면 server의 share 디렉토리에 동일한 파일이 읽기 및 쓰기로 공유되어있다.

 

즉, 서버와 클라이언트가 디렉토리를 공유해서 사용할 수 있게 되었다.

 

 

현재 Client를 재부팅하면 마운트가 해제된다. 상시로 마운트되도록 설정하기 위해 su 권한으로 gedit 에디터로 /etc/fstab 파일을 열고 맨 아랫줄에 다음 내용을 추가한다.

192.168.111.100:/share	/home/rocky/myShare	nfs	defaults	0	0

 

 

Windows 환경에서 NFS 서버 공유 디렉토리 사용

Windows의 NFS 기능은 Windows 7 이후의 Enterprise / Ultimate 에디션 또는 Windows server 2008 R2 이후 버전에서 제공된다. 우리는 Windows 10 Enterprise 평가판을 사용하고 있다. Windows와 리눅스의 파일 공유는 15장에서 살펴본다.

 

WinClient를 부팅한다.

 

 

Windows 기능 켜기/끄기 를 실행하고 [NFS용 서비스] -> [NFS용 클라이언트]를 체크한다.

 

 

windows powershell을 열고 명령 프롬프트로 실행한다.

명령 프롬프트에서 다음 명령을 입력해 NFS 서버에 접속한다.

mount 192.168.111.100:/share *

 

 

파일 탐색기에 새로운 드라이브(Z:) 가 생성되고, 우리가 리눅스에서 복사한 파일들이 확인이 된다.

 

 

물론 Windows 클라이언트에서 업로드한 파일 또한 리눅스 환경에 동일하게 공유된다.

 

 

728x90
반응형