부팅하는 동안 원격 디렉터리를 자동 마운트할 수 없습니다. Ubuntu 14.04 LTS에서 NFS 프로토콜을 사용하고 있습니다. 서버는 192.168.1.1
, 클라이언트는 입니다.192.168.1.2
/etc/exports
서버측 설정은 다음과 같습니다.
/home/export 192.168.1.2(ro,no_root_squash,sync)
\home\user
클라이언트 디렉터리는 암호화되어 있지만 이 문서에 언급된 모든 디렉터리는 암호화되지 않습니다 . 서버 컴퓨터는 항상 켜져 있으며 두 컴퓨터는 서로 ping할 수 있습니다. 또한 두 시스템 모두에서 \home
디렉토리는 자체 파티션에 마운트됩니다.
명령줄은 잘 작동하며 마운트 지점 뒤의 원격 콘텐츠를 볼 수 있습니다
sudo mount 192.168.1.1:/home/export /home/import/server1
.
그림네트워크 드라이브의 /etc/fstab을 올바르게 편집하는 방법은 무엇입니까?
편집을 통해 네트워크 드라이브를 마운트하고 싶습니다 /etc/fstab
. 그러나 이 줄 중 하나를 추가하면/etc/fstab
[1]192.168.1.1:/home/export /home/import/server1 nfs rsize=8192,wsize=8192,timeo=14 0 0
[2]192.168.1.1:/home/export /home/import/server1 nfs auto 0 0
[삼]192.168.1.1:/home/export /home/import/server1 nfs auto, rsize=8192,wsize=8192,timeo=14 0 0
[4]192.168.1.1:/home/export /home/import/server1 nfs defaults 0 0
sudo mount -a
서버측 보기를 얻으려면 수동 실행을 시작해야 합니다 . 나와 그 사람들의 기대에도 어긋나고이 U&L 게시물게다가.
자동 마운트 기능이 자체적으로 작동하도록 하려면 어떻게 해야 합니까?
영감/표절 공개:
[1]https://help.ubuntu.com/14.04/serverguide/network-file-system.html
[3] = [1] + [2]
[4] 로컬 장치 파티션에 대한 마운트 옵션 모방etc/fstab
답변1
mount -a 옵션이 유효한 경우 fstab에 _netdev를 추가해야 합니다.
192.168.1.1:/home/export /home/import/server1 nfs defaults,_netdev 0 0
또한 "chkconfig netfs on"을 확인하십시오.
답변2
다음 위치에 파일을 만듭니다.
/etc/network/if-up.d/fstab
이것을 추가하세요:
#!/bin/sh mount -a
파일을 실행 가능하게 만듭니다.
sudo chmod +x /etc/network/if-up.d/fstab
네트워크 스택이 가동되어 작동한 후 부팅 시 시스템에 명령
mount -a
을 실행하도록 지시합니다. 이것이 fstab의 cifs 마운트와 유사하다면 부팅 시 공유가 마운트되지 않는 것입니다.
이 답변에서 :18.04에서 부팅 시 /etc/fstab의 nfs 공유가 로드되지 않았습니다. 존재하다우분투 포럼.
답변3
간단히 말해서:그런 다음 sudo apt install openvswitch-switch-dpdk
재부팅하여 작동하는지 확인하십시오.
Ubuntu 22.04에서 동일한 문제가 발생하여 해결했습니다.
링크를 따라가세요(18.04에서 부팅 시 /etc/fstab의 nfs 공유가 로드되지 않았습니다.) 와 공유 된답변~의@LiberiFatali, 다음과 같이 언급된 사람을 찾았습니다.
나에게 있어서 해결책은 netplan 구성을 편집하는 것이었습니다(/etc/netplan/50-cloud-init.yaml) 파일을 만들고 인터페이스를 다음으로 설정합니다.
optional: false
이는 netplan의 기본 동작이어야 하지만 시도해 보기로 결정했습니다. 구성을 편집하고 실행한 후 다음과 netplan apply
같은 경고가 표시됩니다.Cannot call Open vSwitch: ovsdb-server.service is not running.
이 게시물버그라고 하고 경고는 무시해도 된다고 하는데, 경고가 마음에 들지 않아 으로 제거하려고 했습니다 sudo apt install openvswitch-switch-dpdk
. 재부팅 후 nfs가 마술처럼 마운트되었습니다! 또한 패키지를 설치하기만 하면 fstab 자동 설치가 작동하는지 확인하기 위해 netplan 구성 파일의 변경 사항을 되돌렸습니다.
저는 Linux 시스템 전문가가 아니고 어떻게 이런 일이 일어나는지 모르지만, 동일한 조건의 시스템에 시도해 볼 가치가 있을 것입니다. 행운을 빌어요.
답변4
많은 답변에서 알 수 있듯이 다양한 이유가 있을 수 있습니다. 로그 파일을 살펴보는 것이 필수일 수 있습니다.
내 경우(RHEL 7에 있음) 이는 종속성 주기로 인해 발생했습니다. Systemd는 fstab 항목을 nfs-server 서비스에 의존하는 마운트 장치로 변환했으며 그 반대도 마찬가지입니다. 이유를 완전히 이해하지는 못하지만 제 경우에는 문제를 해결할 필요가 없었습니다.
/var/log/messages에서 찾은 내용입니다.
systemd: Found dependency on home.mount/start
systemd: Found dependency on nfs-server.service/start
systemd: Breaking ordering cycle by deleting job home.mount/start
systemd: Job home.mount/start deleted to break ordering cycle starting with nfs-server.service/start
둘 중 어느 것이 제거될지는 무작위입니다. 즉, 시작 시 설치가 작동하는 경우도 있고 작동하지 않는 경우도 있습니다.
내가 생각하는 한, nfs 서버는 처음부터 활성화되어서는 안 됩니다. 이렇게 하면 솔루션이 간단해집니다.
systemctl disable nfs-server.service
nfs-server가 꼭 필요한 경우에는 종속성 주기를 다르게 끊어야 합니다. 정확한 대답은 없지만 일반적인 개요는 다음과 같습니다(물론 설치 장치 이름 등으로 대체).
systemd가 생성한 서비스의 세부 정보를 확인하고 이를 제어할 수 있는 마운트 장치로 전환하세요.
systemctl cat home.mount >/etc/systemd/system/home.mount
/etc/fstab에서 항목을 삭제합니다. home.mount 파일이 이를 대체합니다.
순환 종속성을 제거하려면 필요에 따라 home.mount 파일을 편집하십시오. 여기서는 문제가 무엇인지 깊이 조사하지 않았기 때문에 도움을 드릴 수 없습니다.
이제 마운트를 테스트할 수 있습니다.
systemctl daemon-reload
umount /home
mount -a
mount -a를 사용하는 것 외에도 다음 명령을 사용하여 디렉터리를 마운트할 수도 있습니다.
systemctl start home.mount
설치를 테스트한 후 시스템을 다시 시작하여 문제가 해결되는지 확인하세요. 설치가 때때로 무작위로 수행될 수 있으므로 /var/log/messages를 확인하여 더 이상 순환 종속성이 없는지, 재부팅이 한 번이 아닌 여러 번 수행되는지 확인하는 것이 좋습니다.