Beyond Linux® From Scratch (systemd Edition) - Version 12.1 | ||
---|---|---|
Chapter 15. Networking Programs | ||
이전 | 위로 / 처음으로 | 다음 |
Net-tools-2.10 | ntp-4.2.8p17 |
NFS-Utils-2.6.4
NFS 유틸리티 소개
NFS 유틸리티 패키지에는 커널의 NFS 기능을 사용하는 데 필요한 사용자 공간 서버 및 클라이언트 도구가 포함되어 있습니다. NFS는 네트워크를 통해 파일 시스템을 공유할 수 있는 프로토콜입니다.
이 패키지는 LFS 12.1 플랫폼을 사용하여 빌드하고 제대로 작동하는 것으로 알려져 있습니다.
패키지 정보
- 다운로드(HTTP): nfs-utils-2.6.4.tar.xz
- MD5 총 다운로드: 907f95977ccf7a522ee32af1534f0e4c
- 다운로드 크기: 712 KB
- 필요한 예상 디스크 공간: 18MB (테스트 포함)
- 예상 빌드 시간: 0.2 SBU (테스트 포함)
NFS 유틸리티 종속성
필수
선택 사항
- Cyrus SASL-2.1.28 SASL 인증용
- LVM2-2.03.23 NFSv4 지원용 libdevmapper
- libnsl-2.0.1 NIS 클라이언트 지원용
- OpenLDAP-2.6.7 LDAP 인증용
- libcap-2.69 PAM 포함
필수(런타임)
커널 구성
커널 구성에서 다음 옵션을 활성화하고(클라이언트 및/또는 서버 지원을 적절히 선택) 필요한 경우 커널을 다시 컴파일합니다.
File systems --->
[*] Network File Systems ---> [NETWORK_FILESYSTEMS]
<*/M> NFS client support [NFS_FS]
<*/M> NFS server support [NFSD]
위 옵션을 선택하면 표시되는 적절한 하위 옵션을 선택합니다.
참고
BLFS에서는 nfs v3가 사용된다고 가정합니다. 서버가 nfs v4(Linux의 경우 CONFIG_NFSD_V4)를 제공하는 경우 v3에 대한 자동 협상이 실패하므로 마운트 옵션에 nfsver=3
을 추가해야 합니다. 이는 클라이언트 커널에서 해당 옵션이 활성화되어 있는 경우에도 적용됩니다(예: BLFS v3 서버에서 마운트하려는 배포판).
연결하려는 양쪽 모두 nfs v4를 지원하지 않더라도 nfsver=3
을 추가하면 모든 마운트에서 “NFS: 잘못된 마운트 옵션 값 지정: minorversion=1” 오류 메시지가 기록되는 것을 방지할 수 있으므로 여전히 유용합니다.
NFS 유틸리티 설치
다음과 같이 NFS 유틸리티를 설치합니다.
./configure --prefix=/usr \
--sysconfdir=/etc \
--sbindir=/usr/sbin \
--disable-nfsv4 \
--disable-gss \
LIBS="-lsqlite3 -levent_core" &&
make
이제 root
사용자로
make install &&
chmod u+w,go+r /usr/sbin/mount.nfs &&
chown nobody:nogroup /var/lib/nfs
이 패키지를 테스트하려면 패키지가 설치되어 있어야 합니다. 또한 rpc.statd 데몬이 실행되고 있지 않아야 하며 root
사용자로 테스트를 실행해야 합니다.
결과를 테스트하려면 root
사용자로 실행합니다.
make check
명령 설명
- –disable-gss: RPCSEC GSS(RPC 보안)에 대한 지원을 비활성화합니다.
- LIBS=“-lsqlite3 -levent_core”: fsidd 프로그램에 필요합니다.
chown nobody:nogroup /var/lib/nfs: rpc.statd
: 프로그램은 이 디렉터리의 소유권을 사용하여 UID와 GID를 설정합니다. 이 명령은 이들을 권한이 없는 항목으로 설정합니다.
NFS 유틸리티 설정
서버 설정
/etc/exports
에는 NFS 서버에서 내보내는 디렉터리가 포함되어 있습니다. 이 파일의 구문은 exports.5
man 페이지를 참조하세요. 또한 서버와 클라이언트를 안전하게 구성하는 방법에 대한 정보는 NFS Howto 에서 제공되는 'NFS HowTo'를 참조하세요. 예를 들어 로컬 네트워크를 통해 /home 디렉터리를 공유하려면 다음 줄을 추가할 수 있습니다.
cat >> /etc/exports << EOF
/home 192.168.0.0/24(rw,subtree_check,anonuid=99,anongid=99)
EOF
참고
위의 디렉토리, 네트워크 주소. 및 접두사를 네트워크와 일치하도록 바꾸어야 합니다. 위 줄에서 디렉터리와 네트워크 주소 사이에 공백만 있어야 합니다.
Systemd Units
부팅 시 서버를 시작하려면 blfs-systemd-units-20240205 패키지에 포함된 NFSv4 서버 유닛을 설치합니다.
make install-nfsv4-server
NFSv4 지원을 사용하지 않도록 설정한 경우, 루트 사용자로 다음 명령을 실행하여 NFSv4 관련 systemd 유닛을 생략합니다:
make install-nfs-server
etc/default/nfs-utils
파일을 편집하여 NFS 데몬의 시작 옵션을 변경할 수 있습니다. 기본값은 대부분의 사용 사례에 적합합니다.
클라이언트 구성
/etc/fstab
에는 클라이언트에서 마운트할 디렉터리가 포함되어 있습니다. 또는 적절한 옵션과 함께 마운트 명령을 사용하여 파티션을 마운트할 수 있습니다. /home
및 /usr
파티션을 마운트하려면 /etc/fstab
에 다음을 추가합니다:
<server-name>:/home /home nfs rw,_netdev 0 0
<server-name>:/usr /usr nfs ro,_netdev 0 0
사용할 수 있는 옵션은 man 5 nfs
에 지정되어 있습니다. 클라이언트와 서버가 모두 최신 버전의 리눅스를 실행하는 경우, 대부분의 옵션이 협상됩니다(단, nfsver=3에 대한 위의 참고 사항 참조). 부팅 시 파일시스템이 자동으로 마운트되도록 하려면 rw
또는 ro
, _netdev
를 지정하고, 다른 파일시스템의 경우 noauto
(및 user
)를 지정할 수 있습니다.
파일서버가 최신 버전의 Linux를 실행하지 않는 경우 다른 옵션을 지정해야 할 수도 있습니다.
커널에서 autofs v4를 활성화하고 comment=systemd.automount
옵션을 추가해야 할 수도 있습니다. 일부 시스템에서는 시스템드가 네트워크가 가동되기 전에 외부 파일시스템을 마운트하려고 시도하기 때문에 이 옵션이 필요할 수 있습니다. 다른 방법은 시스템이 시작된 후 루트 사용자로 mount -a
를 실행하는 것입니다.
Systemd Units
참고
nfs-서버 유닛이 설치된 경우 다음 systemd 유닛은 필요하지 않습니다.
부팅 시 클라이언트 서비스를 시작하려면 blfs-systemd-units-20240205 패키지에 포함된 유닛을 설치합니다.
make install-nfs-client
내용
- 설치된 프로그램:
exportfs, fsidd, mountstats, mount.nfs, mount.nfs4(마운트.nfs에 링크), nfsconf, nfsdclnts, nfsiostat, nfsstat, rpc.mountd, rpc.nfsd, rpc.statd, rpcdebug, showmount, sm-notify, start-statd, umount.nfs(mount.nfs에 링크) 및 umount.nfs4(mount.nfs에 링크). - 설치된 디렉터리:
/var/lib/nfs
간단한 설명
- exportfs
NFS 내보낸 파일 시스템 목록을 유지 관리합니다. - fsidd
모든 NFS 사용자공간에서 재내보내기 데이터베이스를 쿼리할 수 있는 로컬 UNIX 도메인 소켓 인터페이스를 제공합니다. - mountstat
마운트별 NFS 클라이언트 통계를 표시합니다. - mount.nfs
NFS를 사용하여 네트워크 공유를 마운트하는 데 사용됩니다. - mount.nfs4
NFSv4를 사용하여 네트워크 공유를 마운트하는 데 사용됩니다. - nfsconf
다양한 nfs-utils 구성 파일에서 구성 설정을 테스트하고 검색하는 데 사용할 수 있습니다. - nfsdclnts
NFS 클라이언트에 대한 정보를 출력합니다. - nfsiostat
네트워크 파일시스템에 대한 입출력 통계를 보고합니다. - nfsstat
NFS 클라이언트 및 서버 활동에 대해 보관된 통계를 표시합니다. - rpc.mountd
NFS 서버에서 NFS 마운트 프로토콜을 구현합니다. - rpc.nfsd
서버에서 NFS 서비스의 사용자 수준 부분을 구현합니다. - rpc.statd
NFS 파일 잠금 서비스에서 사용됩니다. 파일 잠금을 사용하려면 서버와 클라이언트 양쪽에서 실행하세요. - rpcdebug
커널의 NFS 클라이언트 및 서버 디버그 플래그를 설정하거나 지웁니다. - showmount
NFS 서버에 대한 마운트 정보를 표시합니다. - sm-notify
네트워크 상태 모니터 재부팅 메시지를 보내는 데 사용됩니다. - start-statd
잠금이 활성화된 파일시스템을 마운트할 때 statd가 실행 중인 것으로 보이지 않는 경우 nfsmount가 호출하는 스크립트입니다. 사이트에 적합한 플래그를 사용하여 사용자 정의할 수 있습니다. - umount.nfs
NFS를 사용하여 네트워크 공유를 마운트 해제하는 데 사용됩니다. - umount.nfs4
NFSv4를 사용하여 네트워크 공유를 마운트 해제하는 데 사용됩니다.