linux NFS
NFS
(Network File System)
- 네트워크 통신이 가능한 환경
- 로컬 스토리지 뿐만 아닌 원격 스토리지도 사용가능
오늘은 서로 다른 ip의 리눅스끼리 네트워크 통신을 통해 파일을 주고받을 수 있는 NFS 에 대해서 포스트 해볼게요.
실습해보기 전에 환경먼저 구성해야겠죠?
제대로 된 실습을 위해서는 서로 다른 ip 리눅스 장치가 2개가 있어야 하는데.. 저는 없어서 설명으로 보충하도록 할게요. 제대로 해보실 분은 가상장치 하나 더만들어서 실습해 보세요!
poweroff -> setting -> Network Adapter -> Bridged
일단 켜있는 리눅스 종료해 주시고 셋팅에서 네트워크 설정을 Bridged로 바꿔주세요. 그리고 다시 접속~
네트워크 설정 변경까지 완료했는데 리눅스에서는 기본적으로 방화벽 때문에 네트워크간 통신을 막아버리는 경향이 있어요. 그래서 NFS같이 네트워크를 이용할때는 방화벽을 끄고 하셔야 합니다. 다음과 같이 방화벽을 일시 제거해줍시다.
iptables -F
iptables -X
systemctl stop firewalld
vi /etc/sysconfig/selinux
( SELINUX=enforcing ) -> ( SELINUX=disable)
그러면 이제 본격적으로 파일을 제공해주는 서버용 네트워크와 제공받는 네트워크 설정이 좀 필요하겠습니다.
NFS Server : 서비스를 제공하는 네트워크
ip : 192.168.*.**
공유디렉터리 : /share
권한 : rwxr-xr-x root.root
파일생성 : touch /share/public
NFS Client : 제공하는 네트워크를 사용함
ip : 192.168.*.**
공유디렉터리 : /public
권한 : root ->매핑 anonymous(nfsnobody) (권한다운)
* : 각자의 ip 번호
NFS 패키지 설치
yum install nfs-utils.x86_64
Server 설정
mkdir /share
vi /etc/exports
NFS 패키지 설치 후 위의 파일을 수정해주시면 됩니다.
<공유할 디렉터리> <사용자목록(권한)>
ex) /share 192.168.*.**(rw)
위와 같이 하시고 :wq 저장하시면 됩니다. 몇가지 다른 권한을 추가로 줄 수 있습니다.
① root_squash (default)
- client 사용자가 root인 경우 서버의 root사용자로 매핑하지 않는다.
- 어떤 사용자의 권한을 가지게 될지는 알 수 없다. (대부분 nfsnobody사용자)
② no_root_squash
- root_squash 설정을 끈다.
③ all_squash
- 모든 사용자에 대해서 anonymous 사용자의 권한으로 매핑
④ anonuid and anongid
- 매핑되는 사용자의 권한을 직접 지정
설정이 완료되었다면 nfs 프로그램을 실행시키면 됩니다.
systemctl start nfs
프로그램이 제대로 동작하는지 확인하는 방법은
ps -ef | grep nfs
server에서 공휴하고 있는 공유디렉터리 확인 방법은
exportfs
다음으로는 클라이언트 설정 입니다.
mkdir /public
systemctl start nfs
mount -t nfs <NFS server ip>:<share path> <mount point>
ex) mount -t nfs 192.168.*.**:/share /public
192.168.*.** 아이피 주소의 서버의 share 디렉터리를 내 리눅스 public에 마운트 하는 작업입니다. 이제 /public에서 /share에 대하여 업/다운로드를 하실 수 있습니다~^^*
NFS가 같은 운영체제 리눅스끼리 네트워크 통신을 하는거라면 이기종간의 공유, 예를 들어 윈도우즈와도 네트워크 통신이 가능한 기능이 있습니다!
그것에 대해서는 다음 포스트에서 소개해드릴게요. 이상으로 NFS 포스트를 마치겠습니다.
'OS > linux' 카테고리의 다른 글
linux FTP PART 1 (0) | 2016.10.13 |
---|---|
linux SAMBA (0) | 2016.10.11 |
linux ACL (0) | 2016.10.10 |
linux LVM (0) | 2016.10.06 |
linux RAID (0) | 2016.10.05 |