Linux에서 nfs는 사용자가 서버에 액세스할 수 있게 해주는 파일 시스템인 "네트워크 파일 시스템"을 의미하며, 원격 디스크를 로컬로 마운트하여 로컬 디스크로 사용할 수 있습니다. NFS를 통해 사용자와 프로그램은 로컬 파일처럼 원격 시스템의 파일에 액세스할 수 있습니다. NFS는 C/S 아키텍처를 사용하며 서버는 TCP2049 포트를 열어야 합니다.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.
NFS는 네트워크 파일 시스템(Network File System)으로, 사용자가 서버에 접근할 수 있게 해주는 파일 시스템입니다. 주요 기능은 네트워크를 통해 서로 다른 서버 간에 파일이나 디렉터리를 공유할 수 있도록 하는 것입니다.
NFS는 원격 디스크를 로컬에 마운트하여 로컬 디스크처럼 사용할 수 있는 기술입니다. NFS를 통해 사용자와 프로그램은 마치 로컬 파일인 것처럼 원격 시스템의 파일에 액세스할 수 있습니다.
NFS는 C/S 아키텍처를 채택하고 서버는 TCP2049 포트를 열고 클라이언트 연결을 기다립니다.
NFS는 rpcbind를 기반으로 하기 때문에 NFS 설치 시 먼저 rpcbind를 설치해야 합니다.
yum install -y rpcbind nfs-utils
마찬가지로 시작 시에도 마찬가지입니다. 먼저 rpcbind를 시작한 후 NFS를 시작합니다.
systemctl start rpcbind systemctl start nfs-utils
NFS 서비스가 시작된 후 아래와 같이 로컬 2049 포트를 수신합니다.
NFS를 설정하려면 먼저 서버에 마운트할 수 있는 클라이언트 IP 주소와 권한을 구성해야 합니다. /etc/exports 파일을 열고 다음과 같이 작성해야 합니다.
/nfs 192.168.136.101(rw)
그 중 앞의 /nfs는 마운트가 허용된 디렉터리를 나타내고, 뒤의 192.168 .136.101은 마운트가 허용된 클라이언트를 나타냅니다. *를 사용하면 모든 호스트가 rw를 마운트할 수 있음을 나타낼 수도 있습니다. 마운트 권한이 읽기 및 쓰기임을 나타냅니다.
rw 권한 외에도 일반적으로 사용되는 기타 권한은 다음과 같습니다.
1. ro - 읽기 전용 권한을 나타냅니다.
2. sync - 데이터가 메모리와 디스크에 동기적으로 기록됨을 나타냅니다.
3. async - 데이터가 저장됨을 나타냅니다.
4. secure - 파일을 전송할 때 NFS가 1024 미만의 포트를 사용함을 나타냅니다.
5. insecure - NFS가 파일을 전송할 때 1024 이상의 포트를 사용함을 나타냅니다.
6. all_squash - 파일을 나타냅니다. UID 및 GID는 익명이며 공유 디렉터리 구성에 적합합니다.
7. no_all_suash - 보관된 파일의 UID 및 GID를 나타냅니다.
위 작업을 완료한 후
exportfs -rv
명령을 실행하여 NFS 구성 파일을 다시 읽어야 합니다.
그런 다음 클라이언트에서
showmount -e 192.168.136.210mount 192.168.136.210/nfs /media
마운트 명령을 실행하여 파일을 성공적으로 마운트한 후 df -h 명령을 실행하여 아래와 같이 마운트 결과를 확인합니다.
참고: 마운팅 작업을 수행하기 전에 서버의 방화벽을 꺼야 합니다! 그렇지 않으면 마운트가 실패합니다.
그러나 성공적으로 마운트가 가능하고 서비스 구성에 대한 읽기 및 쓰기 권한이 있더라도 실제 작동에서는 클라이언트가 마운트된 디렉터리에 대한 쓰기 권한이 없을 수 있습니다. 이는 여전히 권한 확인 문제가 있기 때문입니다. NFS 서비스는 기본적으로 nfsnobody 사용자에 의해 실행되므로 사용자에게 /nfs 디렉터리에 대한 쓰기 권한이 없으면 클라이언트는 해당 디렉터리에 쓸 수 없습니다. 따라서 nfsnobody 사용자에게 다음과 같은 쓰기 권한을 부여해야 합니다.
chonw nfsnobody.nfsnobody -R /nfs
이런 방식으로 NFS 파일 시스템을 로컬 마운트처럼 사용할 수 있습니다.
위의 실제 전투에서는 NFS를 마운트하여 예상한 결과를 얻을 수 있지만 실제 전투 시나리오에서는 NFS의 읽기 및 쓰기 속도를 향상시키기 위해 사용하지 않습니다.
mount -t nfs -o noatime,nodiratime,rsize=131072,wsize=131072,intr 192.168.126.210:/nfs /media
위 명령에서 -t 매개변수는 마운트할 대상 파일 시스템이 nfs임을 나타내고, noatime은 파일 시스템의 inode 액세스 시간 업데이트를 취소함을 나타내며, nodirtime은 업데이트를 취소함을 나타냅니다. 파일 시스템의 디렉토리 inode 업데이트, 이 두 옵션은 높은 동시성 환경에서 시스템 성능을 향상시키는 데 사용할 수 있습니다. rsize 및 wsizei는 읽기 및 쓰기 블록의 크기를 나타냅니다. 이 설정 값 UID는 데이터의 버퍼 저장에 영향을 줍니다. 클라이언트와 서버에 의해 기록됩니다. 장치 성능이 높을 때 이 값을 더 크게 설정하여 NFS 시스템의 파일 전송 기능을 향상시킬 수 있습니다.
관련 추천: "Linux 비디오 튜토리얼"
위 내용은 리눅스 nfs는 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!