chroot, 피벗_루트 및 대체

chroot, 피벗_루트 및 대체

네트워크 기능은 있지만 저장 공간이 제한된 소규모 Linux 시스템을 생각해 보십시오.

따라서 nfs 및 chroot(또는ivob_root)를 통해 완벽하게 사용자 정의된 멋진 rootfs를 마운트할 수 있습니다.

여태까지는 그런대로 잘됐다.

이제 nfs 서버와 클라이언트 간의 네트워크 오류를 고려하십시오. 물론 시스템이 중단됩니다.

nfs의 상태를 주기적으로 확인하고 실패할 경우 원래의 작은 rootfs로 chroot(pivot_roots)하는 애플리케이션을 실행하는 안전한 방법이 있습니까?(그런 다음 계속해서 nfs 복원을 다시 시도합니다)

아니면 이것이 꼭 필요한가요? 아니면 NFS가 이를 무인으로 처리합니까?

제가 걱정하는 점은 네트워크 중단 시 실행 중인 프로그램에 저장소의 무언가가 필요한 경우 충돌이 발생할 것이라는 점입니다. 따라서 NFS가 자체적으로 복구되더라도 프로그램이 다시 시작되지 않으며 모든 Linux 프로그램이 이렇게 오류가 발생하기 쉬운 방식으로 코딩되어 있지는 않습니다.

따라서 가장 좋은 방법은 원래의 작은 rootfs(훌륭하고 안전한 읽기 전용 파일 시스템)로 안전하게 루트를 다시 시작한 다음 모든 것을 다시 초기화하는 것입니다.

답변1

영리한 작업을 수행하지 마십시오. 필요하지 않으며 깨질 것입니다.

시간 초과가 발생하지 않고 시간 초과 오류가 보고되지 않도록 nfs 마운트를 구성합니다. 애플리케이션이 시간 초과되지 않는 한 괜찮습니다(잘못 작성되지 않은 경우). 괜찮아.

저는 여러 개의 씬 클라이언트(디스크 없음)가 있는 시스템에서 작업하고 있으며 모든 것이 NFS(스왑 포함)를 통해 마운트되었습니다. NFS 서버를 다시 시작하거나 케이블 연결을 끊으면 클라이언트가 정지되었다가 서버가 다시 시작되면 계속 실행됩니다. 이는 예상된 동작입니다.

그러나 설치 시 선택적 제한 시간 옵션을 사용하지 않는지 확인해야 합니다.

관련 정보