리눅스 NFS 디렉토리 공유 설정

 /* 리눅스 NFS 디렉토리 공유 설정 */


1. 서버설정 스크립트( nfs_server.sh)


#!/bin/bash

# 공유할 디렉토리 경로

SHARE_DIR="/data"

# NFS 패키지 설치

dnf install -y nfs-utils

# 공유 디렉토리 생성 및 권한 설정

mkdir -p $SHARE_DIR

chown nobody:nobody $SHARE_DIR

chmod 777 $SHARE_DIR


# NFS 설정 파일 수정

echo "$SHARE_DIR *(rw,sync,no_root_squash,no_subtree_check)" | tee -a /etc/exports

# rw: 읽기/쓰기 가능

# sync: 데이터 쓰기 요청을 디스크에 동기화

# no_root_squash: 클라이언트의 root 계정을 서버에서도 root로 인정

# no_subtree_check: 하위 디렉토리 경로 검사 생략

# NFS 서비스 시작 및 활성화

systemctl enable --now nfs-server


# 방화벽 설정

# firewall-cmd --permanent --add-service=nfs

# firewall-cmd --permanent --add-service=mountd

# firewall-cmd --permanent --add-service=rpc-bind

# firewall-cmd --reload

echo "NFS 서버 설정 완료: $SHARE_DIR"

# 서버에서 공유목록 확인

# exportfs -v

=======================================================

2. 클라이언트 설정 스크립트 (nfs_client.sh)

#!/bin/bash

# 서버 IP 및 공유 경로

SERVER_IP="172.17.0.2" 

SERVER_SHARE="/data"

MOUNT_POINT="/data"


# NFS 패키지 설치

dnf install -y nfs-utils


# 마운트 디렉토리 생성

mkdir -p $MOUNT_POINT


# fstab 파일에 자동 마운트 설정 추가

echo "$SERVER_IP:$SERVER_SHARE $MOUNT_POINT nfs defaults 0 0" | tee -a /etc/fstab


# 디렉토리 마운트(서버아이피)

# mount -t nfs $SERVER_IP:$SERVER_SHARE $MOUNT_POINT

mount -a

echo "NFS 클라이언트 설정 완료: $MOUNT_POINT"

# 클라이언트에서 마운트 확인

mount | grep nfs

=====================================================================

/* 서버쪽 스크립트 실행 */

chmod +x nfs_server.sh

./nfs_server.sh


======================================================================

/* 클라이언트 스크립트 실행 */

chmod +x nfs_client.sh

./nfs_client.sh


==========================================

/* 서버쪽에서 nfs서버가 정상 기동되는지 확인 */

1. 로그확인

journalctl -u nfs-server


2. 필요한 커널 모듈 로드 확인

modprobe nfs


3. NFS 서비스 재시작

systemctl restart nfs-server


/* ifconfig 명령어 없을때 설치 */

dnf install net-tools

/* 방화벽 끄기 */

systemctl stop firewalld

/* 방화벽 영구 끄기 */

systemctl disable firewalld




이 블로그의 인기 게시물

아파치 보안관련 기본설정

티베로 이관 작업 절차

아파치서버설치 (modcluster) 적용 및 Wildfly 서버 이중화 구성 방법