Linux 서버에서 크로스 마운트 nfs 공유

Linux 서버에서 크로스 마운트 nfs 공유

우리는 일부 Linux 파일 서버를 보유하고 있으며 시스템 관리자는 NFS 교차 마운트 수행을 거부합니다. 이는 서버 A의 nfs 공유를 서버 B에 마운트하고 서버 B의 공유를 A에 마운트하는 것을 의미합니다.
이 교차 장착에 어떤 문제가 있는지 아는 사람이 있습니까?

답변1

부팅할 서버 두 대를 주문하는 것은 어려울 수 있습니다.

이상적으로는 서버가 운영자 개입 없이 정전으로부터 복구될 수 있기를 원합니다. 그러나 물론 일부 서버는 다른 서버보다 먼저 시작해야 합니다. 예를 들어 외부에 연결된 서버를 시작하기 전에 방화벽을 시작해야 할 수도 있습니다. 또는 클라이언트보다 먼저 NFS 서버를 설치해야 합니다.

이를 수행하는 한 가지 방법은 스마트 전원 스트립(예: APC 관리형 PDU)을 구입하여 각 콘센트에 대한 전원 켜기 지연을 구성하는 것입니다. 따라서 방화벽과 스위치가 먼저 켜져 있는지 확인한 다음 DNS 서버, NFS 서버 등이 켜져 있는지 확인할 수 있습니다. 매니페스트에서 이 작업을 수동으로 수행하더라도("A를 켜고 시작될 때까지 기다린 다음 B, C를 켜고 시작될 때까지 기다립니다...") 여전히 단순성을 원합니다.

그러나 A가 B에 의존하고 B가 A에 의존하는 경우에는 이 작업을 수행할 수 없습니다. 간단한 경우에는 해결하기 쉽습니다. A와 B는 NFS 공유를 마운트하기 전에 자체 NFS 서버를 시작하고 로컬 파일 시스템을 내보내면 됩니다(기본 순서와는 반대임). 물론 NFS 마운트 아래에 마운트된 로컬 파일 시스템과 같은 중첩된 경로를 사용하게 되지 않는 한 말입니다. 또는 세 번째 서버를 추가한 다음 A의 공유를 C의 B 공유 아래에 마운트할 수도 있습니다.

물론 이러한 문제를 수동으로 해결하는 것은 그리 어렵지 않지만 정전 후에는 그렇게 하고 싶지 않을 것입니다. 당신은 이미 가지고 있을 수도 있습니다계획되지 않은수정해야 할 문제(예: 예상치 못한 정전으로 인해 문제가 발생했거나 사용자가 알지 못했던 종속성)와 모든 사람이 해당 문제에 대해 불평하고 있으므로 질문이 취하는 알려진 피할 수 있는 문제를 설정하지 않는 것이 좋습니다. 시간을 내십시오.

또한 모든 데이터를 두 번 보내는 네트워크 오버헤드 외에 다른 이유가 없는 경우 NFS 공유를 마운트한 다음 다시 내보내는 것은 현명하지 못할 수 있습니다. 클라이언트와 달리 두 개의 서버만 설치할 수는 없습니다.

편집: 또 다른 이유가 있습니다. NFS 서버가 다운되면 해당 서버에 액세스하려는 클라이언트의 모든 프로세스가 디스크("논스톱") 절전 상태로 전환됩니다. 이로 인해 한 NFS 서버 오류에서 다른 NFS 서버 오류로 "전염"이 발생할 수 있습니다(기본 프로세스가 디스크 절전 모드로 전환되거나 크론 작업이 생성되었지만 완료되지 않아 리소스가 소모되는 등). (궁금하신 분들을 위해 D에 표시되어 있습니다.)ps

답변2

이러한 파일 시스템을 교차 마운트하는 것은 모든 시스템에 필요한 파일 시스템(예: 필요한 운영 체제 라이브러리)이 없는 한 문제가 되지 않습니다.

예를 들어, 각 NFS 서버가 해당 파일 시스템을 내보내도록 한 다음 자동 마운트를 사용하여 모든 파일 시스템을 마운트하도록 할 수 있습니다.

또는 fstab에 파일 시스템을 마운트하되 NFS 서버를 사용할 수 있을 때까지 마운트를 기다리도록 하려면 마운트 옵션을 사용하세요. 나는 이것이 bg 옵션이라고 믿습니다.

관련 정보