ZFS 저장소 어레이는 운영 체제와 CPU 아키텍처 간에 이식 가능합니까?

ZFS 저장소 어레이는 운영 체제와 CPU 아키텍처 간에 이식 가능합니까?

ZFS는 Solaris, Illumos, Linux, BSD 등과 같은 다양한 운영 체제에서 사용할 수 있다는 것을 알고 있습니다.

Linux에서 생성된 ZFS raid 파일 시스템의 일부인 디스크가 여러 개 있다고 가정해 보겠습니다. 이러한 드라이브를 Linux 시스템에서 꺼내 BSD 또는 Illumos를 실행하는 시스템에 넣어 작동하게 할 수 있습니까? ZFS의 서로 다른 구현 간 디스크 이동을 문제로 만드는 ZFS 파일 시스템에 기록된 특정 운영 체제가 있습니까?

ZFS 형식의 디스크가 CPU 아키텍처를 교차하는 경우(예: SPARC를 실행하는 시스템에서 x86으로) 어떻게 되나요? ZFS 메타데이터는 CPU 아키텍처 엔디안의 영향을 받습니까?

답변1

ZFS 풀 및 데이터 세트 이식성을 다룰 때 실제로 중요한 것은 해당 버전입니다. 언제든지 운영 체제에서 지원하는 버전보다 낮거나 같은 버전의 풀을 가져올 수 있으며 동일한 규칙이 데이터 세트(예: 파일 시스템, zvol 및 스냅샷)에 적용됩니다.

따라서 ZFS 풀을 특정 운영 체제에서 다른 운영 체제로 이동하려는 경우 공유할 풀, 파일 시스템 및 zvol에 대해 가장 큰 공통 버전을 선택해야 합니다. 예를 들어:

zpool create -o version=28 -O version=5 ...

또한 ZFS의 오픈 소스 포크에는 활성화되면 풀이 Solaris와 호환되지 않게 만드는 "기능 플래그"가 도입되었습니다. 풀 버전을 5000으로 설정했습니다. 반면 기능 플래그는 특정 기능을 지원하지 않는 운영 체제로 풀을 이동할 때 어느 정도 유연성을 제공하도록 설계되었습니다.

아키텍처와 관련하여 ZFS 객체는 플랫폼의 기본 비트 순서를 사용하여 작성됩니다. 모든 ZFS 구현은 빅엔디안과 리틀엔디안 객체를 모두 읽을 수 있으므로 이는 문제가 되지 않습니다. 바이트 순서는 모든 데이터 구조와 함께 저장됩니다. 이렇게 하면 x86에서 SPARC로 풀을 가져오는 데 문제가 발생하지 않습니다.

마지막으로, 전체 디스크가 아닌 다른 곳에 구축된 풀을 처리할 때 문제가 발생할 수 있습니다. 대상 운영 체제는 소스 디스크 파티션을 이해할 수 있어야 합니다. 최악의 시나리오는 순수 파일을 기반으로 풀을 생성하고(테스트 외에는 권장되지 않음) 사용된 파일 시스템을 대상 플랫폼에 탑재할 수 없는 경우입니다.

답변2

이 기사의 제목은 다음과 같습니다.ZFS 이식성이는 ZFS가 다양한 구현에서 이식성이 매우 높다는 것을 나타내는 것 같습니다. Linux, FUSE, BSD 등에서.

발췌#1

사람들이 운영 체제 간에 ZFS 풀을 마이그레이션하는 몇 가지 예를 찾았지만 이는 일회성 경험일 뿐입니다. 이것은 FreeNAS에서 생성된 두 개의 zpool을 다른 여러 운영 체제로 마이그레이션하는 동안 발견한 것입니다.

내 zpool은 cft라는 이름의 미러링된 500GB 드라이브 쌍과 Single이라는 이름의 2TB 드라이브로 구성됩니다. 제가 배운 첫 번째 사실은 ZFS 유틸리티가 항상 풀 이름을 자동으로 인식하고 가져오는 것은 아니기 때문에 풀 이름을 주의 깊게 추적해야 한다는 것입니다.

발췌 #2

놀랍게도 ZFS FUSE는 이러한 풀을 인식하고 시작 시 자동으로 마운트할 수 있습니다. 마운트 지점이 FreeNAS의 /mnt/cft/ 및 /mnt/single/에서 /cft 및 /single로 변경되었지만 여전히 작동합니다.

또한 놀랍게도 이는 Xubuntu 라이브 CD를 사용하여 달성할 수 있습니다. 터미널을 열고 apt-get 명령을 입력한 후 프롬프트가 표시되면 Enter를 누르고 zfs(8) 및 zpool(8)을 정상적으로 사용하기 시작합니다.

발췌 #3

FreeBSD 9.0을 설치할 때 설치 프로그램이 이제 쉘과 라이브 CD를 선택할 수 있다는 것을 눈치채셨을 것입니다. Live CD와 PC-BSD 명령줄 ZFS 도구가 동일하게 작동하는 것으로 나타났습니다. 둘 다 본질적으로 FreeBSD 9.0이라는 점을 고려하면 이는 놀라운 일이 아닙니다. 그러나 놀랍게도 FreeBSD 9.0은 가져오기를 위해 zpool을 자동으로 인식하지 않습니다. 이는 Ubuntu ZFS FUSE 도구가 변경하는 경우 단일 드라이브를 다시 포맷한 후에도 마찬가지입니다. ZFS 버전 간의 불일치가 이와 관련이 있을 수 있지만 Ubuntu(ZFS 버전 16)에서는 이는 문제가 되지 않습니다. FreeNAS의 버전 15에서 FreeBSD 9.0의 버전 28로의 점프가 이유일 수 있지만 이전 버전과의 호환성이 약간 더 우아할 수 있습니다.

발췌 #4

더 많은 시스템에서 ZFS 여정을 시도해 보시고 결과를 기꺼이 게시해 주시기 바랍니다. 범용 ZFS 풀 이식성의 가능성은 RAID 관리의 어려움과 손상된 미러 데이터 조사를 완전히 제거할 수 있습니다.

관련 정보