반응형
# Main server에서 진행
1. nfs-utils 패키지 설치 여부 확인 및 설치
rpm -qa | grep nfs-utils # nfs 설치 여부 확인
dnf -y install nfs-utils # nfs 다운로드
2. 공유 담당 파일(/etc/exports) 설정 변경
vi /etc/exports # 공유 담당 파일(exports)에 외부에 공유할 디렉토리(share) 추가
##############################
/share 192.168.111.*(rw,sync) # /share 디렉토리를 192.168.111.로 시작하는 모든 IP 컴퓨터(ex.사내)에 공유
############################## #rw:읽고쓰기/sync:싱크, 누가 사용중이면 다른사람이 동시 수정 못하게 막는것
#/share 192.168.111.128(ro) : /share 디렉토리를 192.168.111.128 컴퓨터에 읽기 전용으로 공유
#/share *.this.com(rw) : /share 디렉토리를 this.com도메인 아래의 모든 호스트에서 읽기가 가능하도록 공유
#세부사항은 man exports 명령으로 확인
3. 외부에 공유할 디렉토리(share) 생성 및 권한 변경
mkdir /share #share 폴더 만들기
chmod 707 /share #share 폴더 접근 권한 변경
cp /boot/vm* /share #share 폴더에 아무 파일이나 복사
ls # 잘 복사 되었는지 확인
4. nfs 서비스 가동 및 확인
systemctl restart nfs-server.service # nfs 시작
systemctl enable nfs-server.service # nfs 상시가동
systemctl status nfs-server.service # nfs 상태확인
#netstat -ntlp | grep nfs
#네트워크 연결 상태, 라우팅 테이블, 인터페이스 상태 등을 보여주는 명령어
exportfs -v # 서비스 가동 확인
5-1. firewall 방화벽 끄기
# firewalld 방화벽 잠깐 끄기
# nfs서버는 보안에 취약한 편, 일일이 보안 관련 설정 추천, 지금은 일단 끄기
systemctl stop firewalld # 방화벽 끄기
systemctl status firewalld # 확인
5-2. firewall 방화벽 nfs 서비스 추가
# firewall nfs 서비스 추가
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --reload
firewall-cmd --list-all
# portmap 다운로드
dnf install portmap # 설치
exportfs -v # export확인
exportfs -ra # 업데이트
# Client server에서 진행
더보기
# 만약 Main server 와 Client server가 (clone으로 만든 서버라서) IP주소가 같다면?
vi /etc/sysconfig/network-scripts/ifcfg-ens160 # IP주소 담당 파일 설정 변경
ifdown ens160 # off
ifup ens160 # 다시 on
ifconfig # IP주소 바뀐거 확인
1. client server에 nfs-utils 패키지 설치 및 가동
rpm -qa | grep nfs-utils # nfs 관련 패키지 설치여부 확인
dnf -y install nfs-utils # nfs 다운로드
systemctl restart nfs-utils # nfs 시작 (클라이언트라서 nfs-server.service가 아니라 nfs-utils)
systemctl enable nfs-utils # nfs 상시가동
systemctl status nfs-utils # nfs 상태확인
2. client IP 주소에서 마운트 가능한 폴더 확인
# 마운트 가능 폴더 확인
showmount -e 192.168.111.207 # showmount -e (nfs server IP주소)
# nfs server IP주소에서 클라이언트가 마운트할 수 있는 폴더가 무엇인지 확인
3. 마운트 진행
# 마운트
cd /home/centos # centos 사용자의 홈 디렉토리로 이동(/home/centos)
mkdir client_share # client_share 폴더 생성
#nfs server의 /share 폴더에 마운트할 /home/centos/client_share 만들기
su -c 'mount -t nfs 192.168.111.207:/share client_share' # 두 폴더 마운트
#umount /client_share # 마운트 해제
df # 마운트 상태 확인
4. 자동 마운트 설정(fstab) 및 재부팅
vi /etc/fstab # fstab 수정
##############################################################################################
192.168.111.207:/share /home/centos/client_share nfs defaults 0 0
##############################################################################################
reboot
5. nfs 서버, client 서버 연동(마운트) 확인
ls -l /home/centos/client_share # 자동 마운트 된 것 확인
touch /home/centos/client_share/test_client.txt # 테스트로 파일 하나 생성해서 두서버에 모두 뜨는지 확인
더보기
※ 알아두기 ※
fstab 설정 후에 Main server에 server.service 를 끄면 Client server에 공유가 안되고, 서비스를 켜면 다시 자동으로 연결됩니다. 그러나 Main server 자체를 power off하게 되면, Client server와의 연결 자체가 끊기기 때문에, 마운트 작업을 처음부터 다시 진행해줘야합니다.
# window Client와 연결
오늘은 Main server와 Client server에서 특정 디렉토리 공유하는 NFS에 대해 알아보았습니다. 각 서버마다 nfs-utils를 다운받고나서 서비스를 설정해주었습니다. 추후에는 사내 컴퓨터 외에 외부에서도 접속을 할 수 있는 방법에 대해 알아보겠습니다. 감사합니다.
반응형
'리눅스(Linux) > 실습' 카테고리의 다른 글
[리눅스] Wordpress(워드프레스)로 나만의 웹페이지(or 블로그) 만들기 (7) | 2024.03.14 |
---|---|
[리눅스] 내가 설치한 프로그램(톰캣)을 systemctl 영역으로 넣어서 관리하기 - enable, disable (0) | 2024.03.04 |
[리눅스] Quota 활용 : 사용자별로 공간 할당하기 (1) | 2024.02.28 |
[리눅스] 서버 원격접속 3 - XRDP 서버 (X윈도 전용) (1) | 2024.02.27 |
[리눅스] 서버 원격접속 2 - OpenSSH (1) | 2024.02.27 |