Linux의 ZFS 읽기 전용 마운트 + Solaris의 동기 읽기-쓰기 마운트

Linux의 ZFS 읽기 전용 마운트 + Solaris의 동기 읽기-쓰기 마운트

우리는 정기적으로 (네트워크를 사용하여) Solaris에서 Linux로 상당히 큰 파일을 복사해야 합니다. 현재 파일 하나에 거의 반나절이 걸립니다. Solaris의 파일은 ZFS 파일 시스템에 있습니다.

그래서 저는 이것이 너무 나쁘다고 생각했습니다. 아마도 Linux에 ZFS를 설치할 수 있을 것입니다.

그러나 ZFS는 클러스터된(또는 클러스터 가능한) 파일 시스템이 아닙니다.

가설: 그렇다면 우리는 Solaris에서 복사하고 있기 때문에 가능하다고 생각합니다. 동일한 ZFS 파일 시스템을 읽기 전용으로 마운트할 수 있으므로 이 경우 클러스터할 필요가 없습니다. 왜냐하면 작성은 Solaris 측에서만 가능하기 때문입니다(우리는 그곳에서 이를 오프로드할 수 없습니다).

Solaris 시스템은 매우 바쁘고 네트워크 NIC는 거의 항상 매우 바쁩니다. 따라서 파일 복사본을 FC로 이동하면 속도가 더 빨라집니다.

Linux 시스템은 VMWare 호스트의 가상 게스트입니다. 그렇습니다. Linux 게스트에게도 동일한 FC 패브릭을 제공할 수 있습니다.

아이디어? 가설 부분은 피드백을 가장 많이 찾아야 하는 부분인 것 같아요. Linux에서는 ZFS 읽기 전용 마운트를 수행하고 Solaris에서는 동시 읽기-쓰기 마운트를 수행할 수 있는지 확실하지 않습니다.

답변1

그것은 단순히 불가능합니다. 읽기/권한에 관계없이 ZFS는 두 호스트에 대한 동시 마운트를 허용하지 않습니다. Solaris에 설치할 때 Linux에 설치하려는 경우 이 사항을 적용해야 합니다. 이렇게 하면 Solaris가 커널 패닉으로 인해 충돌하게 됩니다. 두 번째 Solaris 상자에 설치되어 있는 동안 두 번째 Solaris 상자에서 가져오기를 강제로 수행했을 때 두 개의 Solaris에서 이런 일이 발생했습니다. Linux에서 zpool을 가져올 수 있는지 여부에 관계없이 ZFS 버전도 작동합니다. 시도해 보고 싶다면 다음을 제안합니다.

  1. 스토리지에서 LUN 복제
  2. 복제된 LUN을 Linux 상자에 매핑
  3. Linux에 zpool을 마운트해 보세요.

답변2

이를 방지하는 것은 ZFS가 디스크 상태를 변경하는 유일한 메타데이터라고 가정하기 때문에 메타데이터를 메모리에 캐시한다는 것입니다. 호스트에 설치된 읽기/쓰기가 무엇이든 괜찮습니다. 읽기 전용으로 마운트된 다른 호스트에서는 메타데이터가 그 아래에서 변경되고 어느 시점에서(상당히 빠르게) 유효한 메타데이터가 있다고 생각하지만 다른 시스템을 차단하도록 덮어쓴 디스크의 위치에서 읽습니다.

BitsOfNix에서 설명하는 lun 복제 방법을 시도하거나 정기적인 스냅샷/보내기/받기 스크립트를 설정하여 최신 상태를 유지할 수 있습니다. 또는 Solaris 호스트에서 데이터 세트를 공유하고 Linux 호스트에서 NFS를 통해 마운트해 볼 수 있습니다.

관련 정보