두 NFS 내보내기는 모두 동일한 위치를 가리킵니다.

두 NFS 내보내기는 모두 동일한 위치를 가리킵니다.

두 가지 내보내기 기능이 있는 NFS 서버를 실행하고 있습니다.

/mnt/sda1 192.168.1.254/255.255.255.0(rw,fsid=1,no_subtree_check,all_squash,anonuid=0,anongid=0,insecure)
/mnt/sdb1 192.168.1.254/255.255.255.0(rw,fsid=1,no_subtree_check,all_squash,anonuid=0,anongid=0,insecure)

서버에서 두 디렉토리 중 하나에 CD를 넣으면 분명히 매우 다른 드라이브입니다.

/dev/sda1                 1.8T      1.7T      8.6G 100% /mnt/sda1
/dev/sdb1                 2.0T      1.3T    603.9G  68% /mnt/sdb1

그러나 이러한 nfs 공유를 클라이언트에 마운트하면 /mnt/sdb1을 마운트하면 /mnt/sda1을 직접 가리키는 것처럼 보입니다.

sudo mount 192.168.1.123:/mnt/sdb1 /media/test

그런 다음 클라이언트 측에서 df -h를 사용하십시오.

192.168.1.123:/mnt/sdb1                   1.8T  1.7T  8.6G 100% /media/test

위에서 볼 수 있듯이 저장공간만 기준으로 해도 실제로는 /mnt/sda1이다.

이 서버는 오랫동안 실행되어 왔으며 약 5년 전에 lvm 디스크 관리 기능을 사용하고 있었지만 작동하지 않았으며 이러한 이상한 동작을 유발하는 무언가를 구성했을 수도 있다는 것을 막연하게 기억합니다. 확신하는 . 이는 Google에 매우 어려운 행동이기 때문에 어디서부터 시작해야 할지조차 모르겠습니다. 도와 주셔서 감사합니다!

답변1

나는 여기서 지식을 바탕으로 추측하고 있습니다. 이 동작은 fsid=1두 가지 내보내기 옵션으로 인해 발생할 수 있습니다.

~에 따르면exports맨페이지, 이 fsid옵션은 파일 시스템을 식별하는 데 사용됩니다.

NFS는 내보내는 모든 파일 시스템을 식별할 수 있어야 합니다. 일반적으로 파일 시스템의 UUID(파일 시스템에 그런 것이 있는 경우) 또는 파일 시스템을 보유하는 장치의 장치 번호(파일 시스템이 장치에 저장된 경우)를 사용합니다.

모든 파일 시스템이 장치에 저장되는 것은 아니며 모든 파일 시스템에 UUID가 있는 것은 아니기 때문에 NFS에 파일 시스템 식별 방법을 명시적으로 알려야 하는 경우가 있습니다. 이는 fsid=옵션을 통해 수행됩니다.

내보내기는 /mnt/sda1내보내기 파일의 앞에 있기 때문에(즉, fsid=1첫 번째로 매핑됨) 우선순위를 가질 수 있습니다.

위의 가정이 사실이라면 문제에 대한 해결책은 간단해야 합니다. 내보내기 fsid/mnt/sdb1다른 값을 할당하기 만 하면 됩니다.

관련 정보