리눅스 팁 & 테크

조회 수 6763 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

NFS (Network File System)


클라이언트에서 서버의 파일 시스템을 마운트하여 데이터를 공유할 수 있는 방식을 말하며,

유닉스 계열 서버-클라이언트 사이에 많이 사용되는 방식입니다.

※ 앞서 보았던 samba는 windows와 linux 사이의 파일 공유에 촛점을 맞춘 방식이라 본다면,

nfs는 linux to linux 방식이라고 이해하면 쉬울것 같습니다.


nfs.png




#######################################################

[NFS 서버 설정]

#######################################################


■ nfs 패키지 설치

아래 apt-get 명령으로 nfs 관련 패키지를 설치해 줍니다.

$ sudo apt-get install nfs-common nfs-kernel-server rpcbind

패키지 목록을 읽는 중입니다... 완료

의존성 트리를 만드는 중입니다       

상태 정보를 읽는 중입니다... 완료

다음 패키지를 더 설치할 것입니다:

  libgssglue1 libnfsidmap2 libtirpc1

제안하는 패키지:

  open-iscsi watchdog

다음 새 패키지를 설치할 것입니다:

  libgssglue1 libnfsidmap2 libtirpc1 nfs-common nfs-kernel-server rpcbind

0개 업그레이드, 6개 새로 설치, 0개 제거 및 303개 업그레이드 안 함.

427 k바이트 아카이브를 받아야 합니다.

이 작업 후 1,902 k바이트의 디스크 공간을 더 사용하게 됩니다.

계속 하시겠습니까? [Y/n] y

-- 이하 생략 --


■ 공유 디렉터리 생성

공유할 디렉터리를 적절한 위치에 생성하고, 접근 권한을 설정합니다.

(공유 디렉터리 명칭과 퍼미션 권한은 관리자가 알맞게 지정)

$ sudo mkdir /var/nfs_server

$ sudo chmod 777 nfs_server


■ NFS 설정

nfs 서버의 설정파일은 /etc/exports 입니다.

해당 파일을 열어 아래와 같은 형식으로 작성해 줍니다.

(해당 문서를 열어보면 주석으로 샘플 문구가 기록되어 있으므로 이를 참조하여 적절히 추가)

@ 문법 : <NFS 디렉터리> <클라이언트 IP>(옵션1,옵션2,...)


$ sudo vi /etc/exports

/var/nfs_server 192.168.0.10(rw,no_root_squash,sync,no_subtree_check)


※ 설명

  # NFS 디렉터리 : (앞서 생성한) 서버의 공유 디렉터리 지정

  # 클라이언트 IP : 접근을 허용하고자 하는 클라이언트의 IP 주소를 입력

  # ro / rw : 공유 디렉터리 읽기/쓰기 권한 지정 → 읽기 전용(read only), 읽고 쓰기(read write)

  # no_root_squash : 서버와 클라이언트의 root에 동일한 권한을 부여

  # no_all_squash : 서버와 클라이언트의 동일한 UID를 가진 사용자는 동일한 권한을 부여

  # sync / async : 서버와 클라이언트 간의 sync 여부 → 맞춤(sync), 안맞춤(async)

  # subtree_check : 하위 트리 검사 기능. 일반적으로 비활성 (no_subtree_check)


■ NFS 서비스 구동

아래 2가지 데몬 서비스를 구동합니다.

$ sudo service nfs-kernel-server restart

 * Stopping NFS kernel daemon                                 [ OK ] 

 * Unexporting directories for NFS kernel daemon...           [ OK ] 

 * Not starting NFS kernel daemon: no exports.

 * Exporting directories for NFS kernel daemon...             [ OK ] 

 * Starting NFS kernel daemon                                 [ OK ] 

$ sudo service rpcbind restart

rpcbind stop/waiting

rpcbind start/running, process 4879



#######################################################
[NFS 클라이언트 설정]
#######################################################

■ nfs 패키지 설치
apt-get 명령으로 nfs 패키지를 설치합니다. (클라이언트는 nfs-common 만 설치하면 됩니다.)
$ sudo apt-get install nfs-common

■ 공유 디렉터리 생성
nfs 서버와 연결할 클라이언트의 공유 디렉터리를 생성합니다.
$ sudo mkdir /var/nfs_client

■ nfs 서버 연결(마운트)
방금 생성한 디렉터리와 nfs 서버의 공유 디렉터리를 서로 연결(마운트) 합니다.
@ 문법 : mount -t nfs <서버 IP>:<공유디렉터리 경로> <마운트 포인트>
$ sudo mount -t nfs 192.168.0.1:/var/nfs_server /var/nfs_client

※ 설명
  # -t 옵션 : 마운트 type을 지정하는 것으로 nfs를 인자 값으로 넣습니다.
  # 서버 IP 및 경로 : nfs로 연결할 서버의 IP와 공유 디렉터리 경로를 지정합니다.

  # 마운트 포인트 : 마운트로 연결할 클라이언트의 디렉터리 경로를 지정합니다.



■ 참고
① nfs 연결 확인
간단히 df -h 명령으로 마운트 여부를 확인할 수 있습니다.
$ df -h

Filesystem                  Size  Used Avail Use% Mounted on

/dev/sda1                   9.3G  6.6G  2.3G  75% /

-- 중간 생략 --

192.168.0.1:/var/nfs_server 392G  189G  183G  51% /var/nfs_client


② nfs 언마운트

참고로 nfs 마운트 연결을 해제하고자 하는 경우에는 아래와 같이 umount 명령을 사용합니다.
$ sudo umount /var/nfs_client

③ nfs 자동마운트
부팅 시 nfs를 자동으로 마운트 하고자 한다면, /etc/fstab에 아래와 같은 형식으로 문장을 입력해 줍니다.
$ sudo vi /etc/fstab

192.168.0.1:/var/nfs_server      /var/nfs_client      nfs     default 0 0



[요약]  NFS 서버 구축

① 서버

  + 설치 :  $ sudo apt-get install nfs-common nfs-kernel-server rpcbind

  + 설정 :  $ sudo vi /etc/exports

                /var/nfs_server 192.168.0.1(rw,no_root_squash,sync,no_subtree_check)

  + 구동 :  $ sudo service nfs-kernel-server restart

                $ sudo service rpcbind restart

② 클라이언트

  + 설치 :  $ sudo apt-get install nfs-common

  + 연결 :  $ sudo mount -t nfs 192.168.0.1:/var/nfs_server /var/nfs_client


  • ?
    maumc 2016.04.30 04:13

    감사합니다. ^^

  • profile
    행복한펭귄 2016.04.30 13:07

    핵심을 잘 정리해 주셨네요. 

    많은 분들에게 도움이 되겠군요.


List of Articles
번호 제목 추천 수 글쓴이 날짜 조회 수
공지 유튜브 프리미엄 우회 결제 - 우크라이나 file 1 Kevin 2023.12.17 4213
공지 리눅스에서 자기 노트북의 모델명이 무엇인지 궁금할때는 dmidecode file 1 Kevin 2023.12.17 396
공지 하드웨어 호환성을 확인하고 싶을 때는 linux-hardware.org 를 사용해보세요 file 0 Kevin 2023.11.23 703
공지 하모니카 7.0 카카오톡 hidpi 설정하기 1 file 0 Kevin 2023.11.22 489
공지 리브레오피스에서 hwp 사용하기 4 file 0 타조 2023.10.11 1111
641 [문의] wine으로 카카오톡 하기_파일 다운로드 권한문제 3 0 리눅스초짜 2017.08.22 6271
640 [문의] 우분투 원격 데스크탑 접속시 한글 입력기 문제 ㅠ 3 0 우분이 2017.09.23 6035
639 [문의] 자동로그인을 해제는 어떻게 해야 할까요 ㅜㅜ? 4 file 0 푸른악마 2017.09.04 5728
638 [백신] 7가지 무료 리눅스 안티 바이러스 3 file 0 행복한펭귄 2017.06.25 10225
637 [사용기] komorebi 와 VLC-tunein 라디오 스크립트 9 0 바람곰돌 2018.05.01 489
636 [사용기] MX-linux 18.1 설치 사용 3일째 ^^ 3 0 바람곰돌 2019.03.22 3513
635 [사용기] 리눅스민트 19 타라 mate 버전 2일간 사용기 6 0 바람곰돌 2018.07.09 1620
634 [사용기] 몇가지 민트 웹브라우저 사용기 2 0 바람곰돌 2018.07.21 1246
633 [사용기] 음악재생기와 NAS 그리고 환경꾸미기 13 0 바람곰돌 2018.05.03 9656
632 [사이트] Beebom 리눅스 정보 가이드 1 0 행복한펭귄 2017.01.17 1510
631 [사이트] everydaylinuxuser 2 0 행복한펭귄 2017.01.18 1484
630 [상식] 리눅스 초보자가 익혀야 할 12가지 리눅스 명령어 2 0 행복한펭귄 2016.04.12 3229
629 [설문조사] 당신이 애용하는 리눅스 비디오 에디터는? 5 0 행복한펭귄 2016.04.02 5756
628 [설문조사] 어떤 이미지 뷰어를 사용하십니까? (다수 선택 가능) 0 행복한펭귄 2016.04.03 5310
627 [설치기] 리눅스 민트 19.1 테사 업그레이드 3 file 0 바람곰돌 2018.12.25 1191
626 [설치기] 리눅스민트 19 클린 설치 후기 3 0 바람곰돌 2018.07.12 10677
625 [소개 ]컴퓨터 작곡 프로그램 musescore3 콩나물 달면 미디음악이 재생되네요 3 file 0 떠똘2 2021.07.14 1030
624 [소개]리눅스용 치트엔진 비슷한프로그램 1 file 0 떠똘2 2021.07.19 1220
623 [수정] 하모니 iso 파일을 grub4dos에 등록해서 부팅후 설치하기 6 1 동자승 2019.05.10 2119
622 [아치기반/Xfce] Windows 10 랑 똑닮은 테마 설치법입니다. 3 0 감자리아 2021.01.15 1525
Board Pagination Prev 1 ... 10 11 12 13 14 15 16 17 18 19 ... 47 Next
/ 47
CLOSE