NFS 마운트 포인트의 기본 파일 시스템에있는 파일에 액세스


8

아마도 이것은 이상한 요청이지만 다음에 자세히 설명 된 질문과 반대입니다.

NFS 내용을 마운트 해제하지 않고 기본 NFS 마운트의 내용을 볼 수 있습니까?

여러 원격 사이트의 Linux 서버가 중앙 서버 (모든 CentOS 5.x)에서 NFS 공유를 마운트하는 배열이 있습니다. 생각하십시오 : /opt/software또는 비슷한 것.

모두 제대로 작동하면 클라이언트 시스템은 기본 서버에서 NFS 내보내기를 마운트하고 아무 문제없이 실행됩니다. 공유에 포함 된 데이터는 자주 (매주마다) 변경되지 않습니다.

주 NFS 서버 (NFS 서버 중단, 파이버 컷 등)에 대한 연결이 끊어진 상황이 걱정입니다. 공유 데이터가 자주 변경되지 않기 때문에 NFS 마운트를 잃어버린 경우 이러한 시스템을 독립형으로 실행할 수 있기를 바랍니다.

마운트가 사라 졌다고 가정하면 /opt/softwareNFS 마운트 아래에있는 로컬 파일을 같은 위치에서 사용하고 싶습니다 . 또한 해당 파일을 매일 동기화합니다.

클라이언트 사이트에서 마운트 된 볼륨을 변경해야하므로 NFS 마운트는 읽기 / 쓰기입니다.

이것이 가능한가? 기본 디렉토리의 파일에 어떻게 액세스 (또는 덮어 쓰기)합니까? 시간 초과 문제가있을 수 있습니까? 이것에 도움이 될만한 마운트 옵션 / 팁이 있습니까?

답변:


16
mount -o bind / /mnt

/ mnt / opt / software를 보면 / opt / software에서 마운트 아래에있는 파일 (있는 경우)이 있습니다.


그러나 이것은 모든 루트 파일 시스템을 / mnt 아래에 마운트합니다. 흠 ...
— ewwhite

1
그래서? 그것은 어떤 해를 끼칠 것인가? 원하는 파일을 동기화 할 수 있습니다. / private / 700이 루트 인 / private / root에 넣을 수도 있습니다. 따라서 아무도 동일한 파일을 가지고 있기 때문에 아무도 파일에 액세스 할 수 없습니다. 기본적으로 귀하의 질문에 대한 정확한 답변처럼 보입니다. 이제 NFS 서버가 없어지면 복구하는 방법에 대한 질문은 완전히 다르며 강제 마운트 해제가 필요할 수 있습니다. 그러면 무효화되어 프로세스의 절반이 중단되어 재부팅이 발생합니다.
— 세스 로버트슨

이것은 가까웠지만 bind 매개 변수를 사용하여 액세스 해야하는 디렉토리를 파일 시스템의 다른 위치에 마운트하기로 결정했습니다.
— ewwhite

실제로 이것은 특정 경우에 매우 유용하며 오래 전에이 옵션에 대해 알고 싶습니다. 나는이 상황에 다시 부딪쳤다. 기본적으로 루트 파일 시스템에 묶인 / usr 디렉토리가 있었고 루트의 공간을 복구하기 위해 자체 파일 시스템으로 이동하려고했습니다. 따라서 usr을 만들고 데이터를 마이그레이션하고 재부팅하여 새 usr을 마운트 한 후 이전 / usr 데이터를 어떻게 쉽게 제거 할 수 있습니까? 한 가지 방법은 단일 사용자 모드를 사용하는 것이며 거기에 파일을 사용하는 것이 아무것도 없기를 바랍니다. 다른 방법은이 바인드 트릭을 사용하고 대체 경로에서 데이터 디렉토리를 제거하는 것입니다.
— deltaray

8

mount --bind옵션 을 사용하여 가능합니다 .

Since Linux 2.4.0 it is possible to remount part of the file hierarchy somewhere else. The call is
   mount --bind olddir newdir
After this call the same contents is accessible in two places.

그래서 나는 할 수 있었다 mount --bind /opt/software /foo

그런 다음 NFS 마운트를 적용하여 /opt/software에서 기본 파일을 볼 수있는 기능을 유지합니다 /foo.


3

파일이 비교적 정적이므로 필요한 것은 rsync입니다. 여러 원격 클라이언트가 파일을 변경할 수있는 경우가 아니면 데이터가 본질적으로 읽기 전용 인 경우 각 컴퓨터에서 cron과 같은 작업을 통해 하루에 몇 번만 재 동기화하지 마십시오. 다시 말하지만, 요점을 놓칠 수 있지만 NFS의 데이터가 기본적으로 읽기 전용 인 경우이를 수행 할 수 있습니다.


Rsync는 전통적으로 의미가 있지만 특정 사이트에서 파일이 수정 될 가능성이 있습니다. 읽기 전용으로 마운트하는 경우 rsync가 더 나은 선택입니다. 양방향 동기화 솔루션을 모른다면 ...
— ewwhite

rsync로 할 수있는 한 가지 작업은 각 컴퓨터의 파일에서 타임 스탬프를 확인하는 크론 작업을 설정하고 5 분마다 수행하는 것입니다. 업데이트가 발견 되 자마자 파일을 nfs로 푸시하고 동시에 다른 모든 시스템이 고정 된 시간에 확인하는 트리거 파일을 생성합니다. 이 트리거를 보자 마자 모두 rsync를 실행하여 NFS에서 가장 업데이트 된 파일을 가져옵니다.
— slashdot

나는 이것을 해결하기위한 접근법으로 Unison을 시도 할 수 있습니다.
— ewwhite
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.