목차

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 플랫폼을 사용하여 빌드하고 제대로 작동하는 것으로 알려져 있습니다.

패키지 정보

NFS 유틸리티 종속성
필수
선택 사항
필수(런타임)

커널 구성

커널 구성에서 다음 옵션을 활성화하고(클라이언트 및/또는 서버 지원을 적절히 선택) 필요한 경우 커널을 다시 컴파일합니다.

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

명령 설명

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

내용

간단한 설명