여기서 이상한 상황이 발생했습니다. 풀의 디스크를 fdisk하지 않으면 다른 운영 체제에서 가져온 ZFS 풀을 가져올 수 없었습니다. 왜 이런 일이 발생하는지 혼란스럽습니다. 몇 가지 답변이나 제안을 듣고 싶습니다.
절차: "NAS4Free 9.3.0.2" 시스템(FreeBSD)에 단일 3TB 디스크가 포함된 ZFS 풀을 만듭니다. 풀을 내보내서 "NexentaStor 4.0.4" 시스템(OpenSolaris)에 연결했습니다. zpool import가 표시됩니다.
root@nexenta:/volumes# zpool import
pool: tank1
id: 17717822833491017053
state: UNAVAIL
status: One or more devices are missing from the system.
action: The pool cannot be imported. Attach the missing
devices and try again.
see: http://illumos.org/msg/ZFS-8000-3C
config:
tank1 UNAVAIL insufficient replicas
c2t50014EE2B5B23B15d0p0 UNAVAIL cannot open
디스크의 zdb -l은 예상대로 label0 및 label1을 표시하지만
--------------------------------------------
LABEL 2
--------------------------------------------
failed to read label 2
--------------------------------------------
LABEL 3
--------------------------------------------
failed to read label 3
그런 다음 나는 달렸다 fdisk c2t50014EE2B5B23B15d0p0
. 디스크가 초기화되지 않았음을 나타내며 1개의 Linux 파티션 초기화 및 생성을 제공합니다. 나는 그렇게 하도록 내버려두었다. 그런 다음 새 파티션을 삭제하고 저장하도록 선택할 수 있습니다. 이 시점에서 MBR은 디스크의 첫 번째 섹터에 생성됩니다. 디스크 전체는 여전히 zpool 장치입니다. 디스크에 MBR이 있으면 예상대로 풀을 가져올 수 있습니다.
중요 세부 정보: 256GB 디스크에 대한 동일한 프로세스는 fdisk 개입 없이 예상대로 작동합니다. 이 문제는 2TB보다 큰 디스크와 관련된 것으로 의심됩니다.
내가 시도한 것: 디스크 크기가 올바르게 감지되고 다른 시스템에서도 동일한지 확인하십시오. NexentaStor의 fdisk 디스크 구조는 다른 시스템과 다른 것 같습니다. 어떻게 확인해야 할지 모르겠습니다.
이러한 디스크에 MBR을 생성하면 디스크 끝에 있는 ZFS 레이블을 올바르게 읽는 이유는 무엇입니까?
답변1
ZFS가 전체 디스크를 사용하는 경우 EFI 레이블을 디스크에 기록합니다.
디스크에 EFI 레이블이 있는지 확인하셨나요?
저는 FreeBSD가 Solaris와 다르게 작동한다는 것을 알고 있습니다. IIRC의 경우 FreeBSD에서 ZFS를 초기화하기 전에 EFI 태그를 수동으로 작성하는 것이 좋습니다.
fdisk 레이블이 있는 최대 디스크 크기는 512바이트 섹터 크기를 기준으로 2TB입니다.