[unix] / etc / exports 파일에서 NFS 서버를 변경하려면 서비스를 다시 시작해야합니까?

NFSv4 서버 (RHELv6.4)와 NFS 클라이언트 (CentOSv6.4)가 있습니다. 다음과 같이 말하십시오 /etc/exports:

/shares/website1      <ip-client-1>(rw,sync,no_subtree_check,no_root_squash)
/shares/website2      <ip-client-2>(rw,sync,no_subtree_check,no_root_squash)

그런 다음 그 내용을 변경할 때마다 (변경 사항 만 client-2)을 예로 들어 보겠습니다 .

/shares/website1      <ip-client-1>(rw,sync,no_subtree_check,no_root_squash)
/shares/xxxxxxxx      <ip-client-2>(rw,sync,no_subtree_check,no_root_squash)

그럼 난 항상 service nfs restart. 그리고 결국 .. 마운트 지점 client-1응답하지 않습니다 (파일을 열 수 없음 등) . (왜? RESTART 때문에?)

그러나 설명대로, 나는 단지 라인을 수정했다 client-2. 에 대한 모든 것은 client-1여전히 손대지 않았습니다.

그래서 내 질문은 다음과 같습니다.

  • 때마다 나는 수정 /etc/exports난,해야 restart서비스 또는 무엇을?
  • i service nfs restart인 경우 다른 클라이언트의 Mount-Point가 결국 영향을받는 이유는 무엇입니까? (변경 사항이없는 클라이언트 시스템의 경우 /etc/exports)

즉, 변경 /etc/exportsrestart서비스를 수행 할 때마다 마운트 목록을 다시 작동 시키려면 내보내기 목록에있는 모든 클라이언트 의 디렉토리를 다시 마운트해야합니다.

어떤 아이디어 라도요?



답변

로 변경할 때마다 NFS를 다시 시작할 필요는 없습니다 /etc/exports. 필요한 것은 /etc/exports파일 을 편집 한 후 적절한 명령을 실행하는 것입니다 .

$ exportfs -ra

공식 Red Hat 문서에서 발췌 : 21.7. / etc / exports 구성 파일 .

발췌

/ usr / sbin / exportfs 명령을 수동으로 실행하면 루트 사용자가 NFS 서비스를 다시 시작하지 않고도 디렉토리를 선택적으로 내보내거나 내보낼 수 있습니다. 적절한 옵션이 제공되면 / usr / sbin / exportfs 명령은 내 보낸 파일 시스템을 / var / lib / nfs / xtab에 씁니다. rpc.mountd는 파일 시스템에 대한 액세스 권한을 결정할 때 xtab 파일을 참조하므로 내 보낸 파일 시스템 목록의 변경 사항은 즉시 적용됩니다.

exportfs자세한 내용 은 매뉴얼 페이지를 참조하십시오. 특히 “DESCRIPTION”섹션에이 모든 내용과 자세한 내용이 설명되어 있습니다.

설명 NFS 서버는 NFS 클라이언트가 액세스 할 수있는 로컬 물리적 파일 시스템 테이블을 유지 관리합니다. 이 표의 각 파일 시스템을 간단히 반출 된 파일 시스템 또는 반출이라고합니다.

  The exportfs command maintains the current table of exports for the NFS
    server.  The master export table is kept in  a  file  named
    /var/lib/nfs/etab.  This file is read by rpc.mountd when a client sends
    an NFS MOUNT request.

  Normally  the  master  export  table  is  initialized  with the contents
    of /etc/exports and files under /etc/exports.d by invoking exportfs -a.
    However, a system administrator can choose to add or delete exports
    without modifying  /etc/exports  or  files  under /etc/exports.d by
    using the exportfs command.

또한 사용중인 옵션을 기록해 두십시오 -ra.

   -a     Export or unexport all directories.
   -r     Reexport all directories, synchronizing /var/lib/nfs/etab with
          /etc/exports and files  under  /etc/exports.d.   This  option
          removes  entries  in  /var/lib/nfs/etab which have been deleted
          from /etc/exports or files under /etc/exports.d, and removes
          any entries from the kernel export table which are no longer
          valid.


답변