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.