Linux에서 NFS 공유를 호스팅하는 방법

당신이 어느 정도 숙련된 Linux 사용자이거나 서버 초보자라면 파일에 액세스하는 주요 방법은 Samba를 사용하는 것입니다. 많은 사람들이 NFS가 어려워 보이기 때문에 이렇게 합니다. Samba 또는 FTP와 비교할 때 올바른 단계를 거쳐야 하는 단계가 매우 적습니다. 많은 Linux 사용자가 NFS를 통과한다는 사실은 많은 훌륭한 기능과 용도를 가지고 있기 때문에 정말 부끄러운 일입니다. 이것이 우리가 NFS 서버 설정의 어려움을 없애기로 결정한 이유입니다. Linux에서 NFS 공유를 호스팅하는 방법을 분석하고 서버를 시작하고 실행하는 방법에 대해 자세히 설명합니다.

설치

일반적으로 각 Linux 배포판에는 여기저기서 약간의 차이점이 있는 동일한 NFS 도구가 있습니다. 모든 것이 작동하도록 하려면 터미널을 열고 시스템에 다음 패키지를 설치하십시오. 이 패키지는 서버를 실행하는 데 필요한 기본 기술을 설치하고 기본 구성 파일을 생성하며 때로는 다른 것도 구성합니다.

우분투

sudo apt install nfs-kernel-server

페도라

sudo dnf install nfs-utils system-config-nfs

아치 리눅스

sudo pacman -S nfs-utils

데비안

sudo apt-get install nfs-kernel-server

오픈수세

sudo zypper install nfs-kernel-server

기타 리눅스

NFS 파일 시스템, 클라이언트 및 서버는 새로운 기술이 아닙니다. 결과적으로 거의 모든 Linux 배포판에서 이 작업을 쉽게 수행할 수 있습니다. 운영 체제가 포함되지 않은 경우 패키지 관리자에서 “nfs utils”를 검색하거나 운영 체제의 Wiki를 참조하십시오.

시스템화된 서비스

NFS 서버 설정은 사용 중인 Linux 배포판에 따라 다를 수 있습니다. 예를 들어 Ubuntu 또는 Debian NFS 패키지를 설치하면 systemd 서비스가 자동으로 설정되고 구성됩니다. 그러나 Arch Linux, SUSE 또는 Fedora 등과 같은 경우 수동으로 수행해야 합니다. 이러한 서비스를 활성화하는 방법은 다음과 같습니다.

Arch Linux를 실행 중인 경우 SUSE 또는 Fedora(또는 NFS용 systemd 서비스를 자동으로 설정하지 않는 Linux 배포판)를 실행하고 터미널을 열고 다음 명령을 입력합니다.

sudo systemctl enable rpcbind
sudo systemctl enable nfs-server 

sudo service rpcbind start 

sudo service nfs-server start

구성

NFS 패키지를 설치하면 서버가 “설정”되지만 사용자가 아직 액세스할 수 있다는 의미는 아닙니다. 이를 위해 사용자는 내보내기, 파일 위치 등을 설정해야 합니다. 시작하려면 터미널에서 루트 쉘을 얻으십시오. 다음과 같이 하십시오: sudo -s

  Mac App Store에서 구입한 모든 앱을 보는 방법

내보내기 파일은 모든 유형의 디렉토리를 처리할 수 있습니다. 실제로 사용자는 파일 시스템에서 바로 공유하려는 폴더에 직접 위치를 쉽게 쓸 수 있습니다. 이것의 문제는 엄청난 보안 위험입니다. 한 디렉토리의 내용을 가져와 다른 디렉토리에 바인딩하는 것이 훨씬 더 안전합니다. 이렇게 하면 /srv/ 폴더의 폴더 및 디렉토리에 대한 권한을 수정할 필요가 없도록 하여 모든 것을 안전하게 만듭니다.

예를 들어, 사용자의 그림 폴더에 대한 NFS 공유를 설정하려면 다음을 수행하십시오.

mkdir -p /srv/nfs/pictures /home/username/Pictures/

mount --bind /home/username/Pictures/ /srv/nfs/pictures/

위의 예를 사용하여 원하는 만큼 바인드 마운트를 만드십시오. 홈 폴더에서 디렉토리를 마운트할 필요는 없습니다. 대신 그 예를 사용하고 창의력을 발휘하십시오.

모든 것이 정리되면 다음 명령을 실행하여 마운트를 고정하십시오.

echo '#NFS Pictures Bind Mount' >> /etc/fstab
echo '/home/username/Pictures/ /srv/nfs/pictures/ none bind 0 0' >> /etc/fstab

참고: 자신의 마운트에 맞게 echo 명령을 변경해야 합니다.

마운트가 설정되면 내보내기 구성 파일을 구성할 차례입니다. 내보내기 파일은 NFS가 활용할 각 파일 공유를 지정해야 하는 곳이므로 매우 중요합니다.

nano /etc/exports

내보내기 파일 내부에서 맨 아래로 이동하여 다음을 작성합니다.

/srv/nfs/pictures/ 192.168.0.0/255.255.255.0(rw,sync,no_subtree_check)

원하는 만큼 줄을 자유롭게 작성하십시오. 각 공유에는 고유한 마운트, fstab 항목 및 /etc/exports 항목이 필요합니다.

참고: CTRL + O를 사용하여 내보내기 파일을 저장하십시오.

변경 사항 업데이트

NFS 서버가 실행 중이고 파일이 올바른 위치에 있으며 모든 것이 사용할 준비가 되었습니다. 남은 것은 내보내기 파일의 변경 사항을 업데이트하는 것뿐입니다. NFS 서버가 실행되는 동안 변경 사항을 업데이트하지 않기 때문에 이것은 중요한 단계입니다. 다음을 사용하여 변경하십시오: exportfs -rav

필요한 경우 systemctl restart 명령을 사용하여 systemd 자체 내에서 서버 프로세스를 다시 시작합니다.

sudo systemctl restart nfs-server.

결론

네트워크 파일 시스템은 유용한 도구입니다. 이를 통해 사용자는 원격 파일 및 디렉터리를 쉽게 가져와 물리적 하드 드라이브처럼 로컬에서 작업할 수 있습니다. 경쟁 네트워크 파일 시스템 도구가 사용자에게 동일한 편재성과 자유를 제공하지 않기 때문에 이것은 훌륭합니다.

  스마트폰에서 'Animal Crossing: New Horizons'에서 리액션을 사용하는 방법

유용함에도 불구하고 대부분의 사람들은 대신 Samba를 사용하는 것을 선호합니다. 이는 Samba와 비교하여 NFS가 설정하기가 다소 성가시고 지루할 수 있기 때문에 이해할 수 있습니다. 그러나 어려운 설정 프로세스를 처리하는 경우 훨씬 더 가치가 있습니다.