플랫 공유를 위해 작은 서버를 운영하고 있습니다. 주로 일부 추가 서비스가 있는 파일 서버 입니다. 클라이언트는 Linux 시스템 (주로 Ubuntu이지만 다른 Distros도 있음)과 Mac (-Book) 사이에 있습니다 (그러나 질문에는 중요하지 않습니다). 서버에서 Ubuntu 11.10 (Oneiric Ocelot) 'Server Edition'을 실행 중이며 설정 및 테스트를 수행하는 시스템은 11.10 'Desktop Edition'을 실행합니다. 우리는 Samba (우리가 더 친숙한)와의 공유를 꽤 오랫동안 실행 한 다음 NFS 로 마이그레이션합니다 (LAN에 Windows 사용자가 없으며 시도하려고하기 때문에). 지금까지 모든 것이 잘 작동합니다. .
이제 autofs 를 사용하여 자동 마운트를 설정 하여 작업을 매끄럽게 만듭니다 (지금까지는 누구나 필요할 때 수동으로 공유를 마운트 함). 자동 마운팅도 작동하는 것 같습니다. 문제는 우리의 "서버"가 에너지를 절약하기 위해 연중 무휴로 가동하지 않는다는 것입니다 (누군가 서버에서 물건을 필요로하는 경우 서버 전원을 켜고 나중에 종료하므로 매일 두 시간 만 실행 됨). 그러나 autofs 설정으로 인해 서버가 실행 중이 아닌 경우 클라이언트가 자주 종료됩니다.
서버가 실행 중이 아니더라도 모든 클라이언트를 정상적으로 시작할 수 있습니다.
그러나
/nfs
서버가 실행 중이 아닌 동안 공유에 대한 심볼릭 링크가 포함 된 디렉토리 (터미널 또는 노틸러스)를 표시 하려면 최소 2 분 동안 중단됩니다 (autofs는 서버에 연결할 수는 없지만 노력하고 있습니다.)- 이를 피할 수있는 방법이 있습니까? 디렉토리로 변경하거나 디렉토리의 내용에 액세스 할 때까지 마운트가 지연되도록? 아래의 공유 링크를 "보고"있을 때
/nfs
? 나는 생각하지 않지만 어쩌면 오랫동안 그렇게하려고하지 않을 수 있습니까? 그리고 빈 디렉토리를 주거나 "그 디렉토리를 찾을 수 없거나 연결할 수 없습니다"또는 이와 유사한 것을 제공하십시오.
- 이를 피할 수있는 방법이 있습니까? 디렉토리로 변경하거나 디렉토리의 내용에 액세스 할 때까지 마운트가 지연되도록? 아래의 공유 링크를 "보고"있을 때
서버가 실행 중이면 모든 것이 제대로 작동합니다.
그러나 서버가 종료되면 공유가 마운트 해제 되기 전에 도구 (예 :
df
또는ll
)가 중단됩니다 (공유가 여전히 켜져 있다고 생각하지만 서버가 더 이상 응답하지 않기 때문에).- 연결이 끊어지면 공유를 자동으로 마운트 해제하는 방법이 있습니까?
또한 서버가 다운 되어도 여전히 공유가 마운트 된 경우 클라이언트가 종료되거나 다시 시작되지 않습니다. 그들은 " 남은 프로세스를 죽이는 " 과정 에서 (무한하게 보이는 것처럼) 멈추고 아무 일도 일어나지 않는 것 같습니다.
나는 그것이 마운트 및 마운트 해제에 대한 깔끔한 타임 아웃 값으로 귀결된다고 생각합니다. 서버와의 연결이 끊어지면 모든 공유를 제거 할 수 있습니다.
그래서 내 질문은 : 어떻게 처리합니까? 그리고 보너스로 : /nfs
실제 공유를 마운트 할 필요없이 autolink 옵션을 사용하거나 /nfs
마운트가 발생할 때 대체되는 의사 FS를 사용하지 않고도 내부를 연결하는 좋은 방법이 있습니까?
내 설정
NFS 설정은 아주 기본적인하지만 우리가 아니라 지금까지 (사용 봉사 로 NFSv4를 )
/ etc / default / nfs-common
NEED_STATD=
STATDOPTS=
NEED_IDMAPD=YES
NEED_GSSD=
/etc/idmapd.conf
[General]
Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = localdomain
[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup
/ etc / exports
/srv/ 192.168.0.0/24(rw,no_root_squash,no_subtree_check,crossmnt,fsid=0)
내보내기 루트 아래에 다음 /srv
과 bind
같은 두 개의 디렉토리가 있습니다 .
/ etc / fstab (서버)
...
/shared/shared/ /srv/shared/ none bind 0 0
/home/Upload/ /srv/upload/ none bind 0 0
첫 번째는 대부분 읽기 전용이지만 (NFS 설정 대신 파일 속성과 소유권을 통해 시행) 두 번째는 모두 rw 입니다. 참고 : / etc / exports 에 추가 항목이 없으므로 별도로 마운트하면 작동합니다.
클라이언트 측에서는 /etc/fstab
필요에 따라 설치 및 수동 마운트를 수행합니다 ( morton
서버 이름이며 올바르게 해결됨).
/ etc / fstab (클라이언트)
morton:/shared /nfs/shared nfs4 noauto,users,noatime,soft,intr,rsize=8192,wsize=8192 0 0
morton:/upload /nfs/upload nfs4 noauto,users,noatime,soft,intr,rsize=8192,wsize=8192 0 0
를 들어 autofs를 설정 난에서 항목을 제거 /etc/fstab
클라이언트에서와이처럼 휴식 설정 :
/etc/auto.master
/nfs /etc/auto.nfs
먼저 제공된 실행 파일을 묶었 지만 ( 여기/etc/auto.net
에서 볼 수 있습니다 ) 자동으로 아무것도 마운트하지 않습니다. 그런 다음 /etc/auto.nfs
온라인에서 찾은 HowTos를 기반으로 작성합니다 .
/etc/auto.nfs
shared -fstype=nfs4 morton:/shared
upload -fstype=nfs4 morton:/upload
그리고 그것은 작동합니다 ... 또는 서버가 연중 무휴로 작동한다면 작동 할 것입니다. 따라서 서버가 실행되지 않고 클라이언트가 부팅되거나 여전히 연결된 위치에서 서버가 다운되는 경우 끊기가 발생합니다.
hard
와bg
소리는 처음에 나에게 직관적 인 카운터. 마운트가 다시 시도 되지 않고 구제되면 즉시 다시 돌아 가기를 원합니까?intr
벌금을 것뿐만 아니라 더 이상 작동하지 않을 것 같다 " . 마운트 옵션을 nointr INTR은 / 커널 2.6.25 이후에 사용되지 않습니다 만 SIGKILL이 커널에 보류중인 NFS 작업을 중단 할 수 있으며, 지정된 경우,이 이전 버전과의 호환성을 제공하기 위해 무시 마운트 옵션을 이전 커널과 함께 ? "?