문제는 내 노트북과 집에 있는 컴퓨터 사이에 파일 공유를 생성하여 두 컴퓨터 모두에서 내 파일에 액세스할 수 있다는 것입니다. laptop
서버가 되십시오 (이사할 때 파일이 필요할 수 있으므로) pc
. 클라이언트가 되십시오.
제가 시도한 해결책은 다음과 같습니다. 두 컴퓨터 모두에 Linux(debian)가 있고 NFS를 사용하기로 결정했습니다. 두 컴퓨터를 모두 재부팅하고 catch-22가 발생할 때까지 모든 것이 잘 작동했습니다. 이상적으로는 서버가 자동으로 NFS를 마운트하기를 원했기 때문에 그렇게 했습니다 . 하지만 서버를 다시 시작한 후 다음과 같이 다시 마운트 /etc/fstab
해야 한다는 것을 알았습니다 .exportfs -a
/etc/exports
/nfs pc(rw,sync,no_subtree_check)
하지만 이렇게 하려면 pc
액세스할 수 있어야 합니다. 그렇지 않으면 이 오류가 발생합니다.
exportfs: failed to resolve pc
따라서 pc
열기 전에 도달해야 하는 경우 laptop
재부팅이 거의 발생하지 않는 한 for의 요점을 무효화하지만 내 경우는 그렇지 않습니다./etc/fstab
pc
laptop
간단히 말해서, fstab을 통해 NFS를 자동으로 마운트하고 내보내기에 대한 올바른 권한을 할당할 수 있기를 원합니다 pc
. 열지 않고 시작할 때 실행할 수 있는 방법이 있나요 ?laptop
laptop
pc
exportfs -a
laptop
pc
답변1
서버는 클라이언트가 연결 가능한지 여부에 관심을 가져서는 안 됩니다. 사용 여부에 관계없이 공유를 사용할 수 있게 만드는 것뿐입니다.
나타나는 "exportfs: 컴퓨터를 확인할 수 없습니다"라는 오류는 컴퓨터에 "접속"할 수 없다는 의미는 아닙니다. 컴퓨터를 "분석"할 수 없다고 말합니다. 문제는 호스트 이름으로 특정 클라이언트를 참조하고 있지만 시스템이 호스트 이름을 IP 주소로 확인할 수 없다는 것입니다.
분명히 이것은 내보내기가 작동하는 방식에 알려진 버그입니다. 나는 그것에 대해 너무 깊이 조사하지 않았지만 내가 본 것에서 (Google에서 오류 메시지만) nfs 시작과 DNS 서비스 사용 가능 사이의 타이밍 문제입니다. DHCP 정의 클라이언트와 DNS가 충분히 빠르게 업데이트되지 않는 문제도 있습니다.
어쨌든 문제는 이름 확인 문제입니다. "pc"에 고정 IP 주소가 있는 경우 /etc/exports의 주소를 사용하거나 /etc/hosts 파일에 "pc"를 추가할 수 있습니다. 두 호스트 중 하나라도 DHCP이면 운이 좋지 않을 수 있습니다.
클라이언트("pc")에서는 /etc/fstab을 사용하는 대신 자동 마운트(autofs)를 사용하여 원격 파일 시스템을 마운트하는 것을 고려할 수 있습니다. 자동 마운트는 필요할 때만 파일 시스템을 마운트하므로 NFS 서버를 사용할 수 없는 경우 시스템 시작 시 중단될 가능성이 적습니다.
내보내기 및 이름 확인 문제에 대한 일부 참고 자료: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=860264 https://forums.centos.org/viewtopic.php?t=69981 비슷한 문제를 보여주는 더 많은 것들이 있습니다.
답변2
나는 같은 문제가 있었고 nfs-server.service 장치를 사용하여 해결하려고 시도했지만 성공하지 못했습니다.
그래서 나는 crontab에 다음과 같은 스크립트를 넣었습니다.
#crontab -e
@reboot /usr/local/bin/exportNFS
그리고
#cat /usr/local/bin/exportNFS
sleep 5
/usr/sbin/exportfs -r