메뉴

이 페이지에는 기계 번역이 사용되었습니다. 일부 콘텐츠는 완벽하지 않을 수 있습니다.

피드백 공유

Linux NFS 서버: 서버 및 클라이언트 설정 방법

목차

이 페이지 공유하기

blank avatar
Jeff Whitaker

Linux NFS 서버란 무엇입니까?

NFS(Network File Sharing)는 네트워크를 통해 다른 Linux 클라이언트와 디렉터리 및 파일을 공유할 수 있는 프로토콜입니다. 공유 디렉터리는 일반적으로 NFS 서버 구성 요소를 실행하는 파일 서버에 생성됩니다. 사용자는 파일을 추가하고, 폴더에 대한 액세스 권한이 있는 다른 사용자와 공유합니다.

NFS 파일 공유는 클라이언트 머신에 마운트되어 사용자가 로컬에서 생성한 폴더처럼 사용할 수 있습니다. NFS는 디스크 공간이 제한적이고 클라이언트 컴퓨터 간에 공용 데이터를 교환해야 할 때 특히 유용합니다.

이 글은 Linux on Azure에 관한 시리즈의 일부입니다.

이 문서에서는 다음 내용을 다룹니다:

빠른 튜토리얼 #1: NFS 공유를 사용하여 NFS 서버 설정하기

클라이언트 머신이 마운트하고 액세스할 수 있는 NFS 서버를 설정하고 NFS 파일 공유를 생성하는 방법을 살펴보겠습니다.

관련 콘텐츠: 엔터프라이즈 NFS 서비스 구축하기

NFS 서버 설치

다음은 NFS Kernel을 설치하는 방법입니다. 이는 머신이 디렉터리를 NFS 공유로 노출할 수 있도록 하는 서버 구성 요소입니다.

Ubuntu 및 Debian:

sudo apt-get update sudo apt install nfs-kernel-server

CentOS 및 Fedora:

yum -y install nfs-utils apt-get install nfs-kernel-server

루트 NFS 디렉터리 생성

이제 NFS 공유의 루트 디렉터리를 생성합니다. 이를 내보내기 폴더라고도 합니다.

sudo mkdir /mnt/myshareddir

클라이언트 머신의 모든 사용자가 폴더에 액세스할 수 있도록 권한을 설정합니다(실제 환경에서는 폴더에 더 제한적인 설정이 필요한지 고려해야 합니다).

sudo chown nobody:nogroup /mnt/myshareddir #소유자 없음 sudo chmod 777 /mnt/myshareddir #모든 사용자가 파일 수정 가능

내보내기 파일에서 NFS 클라이언트에 대한 액세스 정의

NFS 클라이언트에 액세스 권한을 부여하려면 내보내기 파일을 정의해야 합니다. 파일은 일반적으로 /etc/exports에 있습니다.

텍스트 편집기에서 /etc/exports 파일을 편집하고 다음 세 가지 지시문 중 하나를 추가합니다.

아래의 모든 지시문은 읽기 및 쓰기를 모두 활성화하는 rw, 사용자가 수정된 파일에 액세스하기 전에 변경 사항을 디스크에 기록하는 sync, NFS가 각 하위 디렉터리에 사용자가 액세스할 수 있는지 확인하지 않는 no_subtree_check 옵션을 사용합니다.

단일 클라이언트에 대한 액세스를 활성화하려면 /mnt/myshareddir {clientIP}(rw,sync,no_subtree_check)
여러 클라이언트에 대한 액세스를 활성화하려면 /mnt/myshareddir {clientIP-1}(rw,sync,no_subtree_check) {clientIP-2}(...) {clientIP-3}(...)
전체 서브넷에 대한 액세스를 활성화하려면 /mnt/myshareddir {subnetIP}/{subnetMask}(rw,sync,no_subtree_check)

클라이언트에서 NFS 공유를 사용 가능하게 만들기

이제 exportfs 명령을 사용하여 공유 디렉터리를 클라이언트에서 사용할 수 있도록 만들 수 있습니다. 이 명령을 실행한 후 NFS Kernel을 다시 시작해야 합니다.

sudo exportfs -a #파일 공유를 사용 가능하게 만들기 sudo systemctl restart nfs-kernel-server #NFS 커널 다시 시작

방화벽이 활성화되어 있는 경우 sudo ufw allow 명령을 사용하여 방화벽 액세스를 열어야 합니다.

빠른 튜토리얼 #2: 클라이언트 머신에서 NFS 설정 및 NFS 공유 마운트하기

이제 NFS 서버를 설정했으므로 NFS 공유로 정의된 폴더를 로컬 머신에 마운트하여 Linux 컴퓨터와 공유하는 방법을 살펴보겠습니다.

NFS 클라이언트 패키지 설치

로컬 Linux 머신에 NFS 공유를 마운트하려면 다음 패키지를 설치해야 합니다.

Ubuntu 및 Debian:

sudo apt update sudo apt install nfs-common

CentOS 및 Fedora:

sudo yum install nfs-utils

NFS 파일 공유 임시 마운트

다음 명령을 사용하여 NFS 폴더를 로컬 머신의 특정 위치(마운트 지점)에 마운트할 수 있습니다.

  1. 로컬 디렉터리를 생성합니다. 이것이 NFS 공유의 마운트 지점이 됩니다. 이 예에서는 폴더를 /var/locally-mounted라고 부르겠습니다.
sudo mkdir /var/locally-mounted
  1. 다음과 같이 mount 명령을 실행하여 파일 공유를 마운트합니다. 명령이 성공하면 출력이 없습니다.
sudo mount -t nfs {IP of NFS server}:{folder path on server} /var/locally-mounted

예를 들어:

sudo mount -t nfs 192.168.20.100:/myshareddir /var/locally-mounted

이제 마운트 지점이 마운트된 파일 공유의 루트가 되며, 그 아래에 서버의 NFS 파일 공유에 저장된 모든 하위 디렉터리가 표시됩니다.

  1. NFS 공유가 성공적으로 마운트되었는지 확인하려면 mount 명령 또는 df -h를 실행합니다.

NFS 파일 공유 영구 마운트

원격 NFS 디렉터리는 로컬 시스템이 시작될 때 자동으로 마운트될 수 있습니다. /etc/fstab 파일에서 이를 정의할 수 있습니다. 시작 시 NFS 파일 공유가 로컬에 마운트되도록 하려면 관련 파일 공유 세부 정보가 포함된 줄을 이 파일에 추가해야 합니다.

Linux에서 NFS 공유를 자동으로 마운트하려면 다음을 수행합니다:

  1. 파일 공유를 마운트하는 데 사용할 로컬 디렉터리를 생성합니다.
sudo mkdir /var/locally-mounted
  1. nano 명령 또는 텍스트 편집기를 사용하여 /etc/fstab 파일을 편집합니다.
  2. NFS 공유를 정의하는 줄을 추가합니다. 각 매개변수 사이에 탭 문자를 삽입합니다. 줄 바꿈 없이 한 줄로 표시되어야 합니다.

마지막 세 매개변수는 NFS 옵션(기본값으로 설정), 파일 시스템 덤프 및 파일 시스템 검사(일반적으로 사용되지 않으므로 0으로 설정)를 나타냅니다.

{IP of NFS server}:{folder path on server} /var/locally-mounted nfs defaults 0 0
  1. 이제 다음 명령을 사용하여 파일 공유를 마운트합니다. 다음에 시스템이 시작될 때 폴더가 자동으로 마운트됩니다.
mount /var/locally-mounted mount {IP of NFS server}:{folder path on server}

Azure NetApp Files: 클라우드 기반 NFS 서버 대체 솔루션

인기 있는 퍼블릭 클라우드 서비스인 Microsoft Azure를 사용하면 클라우드에서 NFS 파일 공유를 설정하고 로컬 데이터 센터 또는 Azure 클라우드에 배포된 머신에서 액세스할 수 있습니다.

Azure NetApp Files는 기업을 위한 엔터프라이즈급 고성능 파일 스토리지를 제공하는 클라우드 서비스입니다. NFS 버전 3.1 이상을 지원합니다.

Azure NetApp Files는 모든 유형의 프로덕션 워크로드를 지원하며 기본 제공 고가용성을 제공합니다. 서비스 수준과 성능을 선택하고 데이터의 즉각적인 스냅샷을 수행할 수 있습니다.

탁월한 파일 성능

업계 최고의 NetApp 기술을 활용하여 가장 까다로운 Linux 및 Windows 파일 워크로드를 Azure로 마이그레이션하십시오. Azure NetApp Files는 밀리초 미만의 지연 시간과 로컬 베어 메탈 서버에서 달성할 수 있는 것과 동등한 성능을 제공합니다.

Azure NetApp Files는 Standard, Premium, Ultra의 세 가지 성능 수준을 제공합니다. 클릭 한 번으로 모든 계층에서 파일 공유를 프로비저닝할 수 있습니다.

통합 데이터 관리

Azure NetApp Files는 SAP HANA, 고성능 컴퓨팅(HPC), 기간 업무(LOB) 애플리케이션 및 가상 데스크톱 인프라(VDI)와 같은 복잡한 비즈니스 워크로드와 통합됩니다. 이러한 워크로드 및 더 많은 엔터프라이즈 워크로드에 대해 백업 및 스냅샷을 위한 통합 데이터 관리 및 애플리케이션 인식 기능을 제공합니다.

중앙 관리

다른 Azure 서비스와 마찬가지로 Azure Portal 또는 CLI, PowerShell 명령 또는 REST API를 사용하여 파일 공유를 관리할 수 있습니다. Azure NetApp Files는 NFSv3, SMB3.1.x 및 NFSv4.1을 포함한 여러 스토리지 프로토콜을 하나의 서비스에서 지원합니다. 이를 통해 코드 변경 없이 "리프트 앤 시프트" 모델로 워크로드를 클라우드로 전환할 수 있습니다.

안심하고 마이그레이션

대규모 엔터프라이즈 워크로드를 마이그레이션할 때 rsync 데이터 전송만으로는 충분하지 않습니다. Azure NetApp Files를 사용하면 대규모 데이터 전송 및 동기화를 쉽게 관리할 수 있습니다.

이 서비스는 FIPS 140-2 준수 데이터 암호화, 역할 기반 액세스 제어(RBAC), Active Directory 인증 및 액세스 제어 목록(ACL)을 제공합니다. Azure NetApp Files는 HIPAA, SOC 및 GDPR과 같은 주요 업계 인증을 준수합니다. 이러한 엔터프라이즈급 기능을 통해 모든 엔터프라이즈 워크로드를 완전한 확신을 가지고 클라우드로 마이그레이션할 수 있습니다.

시작하고 싶으신가요? 무료 데모로 Azure NetApp Files를 직접 확인하십시오

Drift chat loading