우리는 정기적으로 (네트워크를 사용하여) 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 버전도 작동합니다. 시도해 보고 싶다면 다음을 제안합니다.
- 스토리지에서 LUN 복제
- 복제된 LUN을 Linux 상자에 매핑
- Linux에 zpool을 마운트해 보세요.
답변2
이를 방지하는 것은 ZFS가 디스크 상태를 변경하는 유일한 메타데이터라고 가정하기 때문에 메타데이터를 메모리에 캐시한다는 것입니다. 호스트에 설치된 읽기/쓰기가 무엇이든 괜찮습니다. 읽기 전용으로 마운트된 다른 호스트에서는 메타데이터가 그 아래에서 변경되고 어느 시점에서(상당히 빠르게) 유효한 메타데이터가 있다고 생각하지만 다른 시스템을 차단하도록 덮어쓴 디스크의 위치에서 읽습니다.
BitsOfNix에서 설명하는 lun 복제 방법을 시도하거나 정기적인 스냅샷/보내기/받기 스크립트를 설정하여 최신 상태를 유지할 수 있습니다. 또는 Solaris 호스트에서 데이터 세트를 공유하고 Linux 호스트에서 NFS를 통해 마운트해 볼 수 있습니다.