두 운영 체제에서 차례로 ZFS 풀 사용

두 운영 체제에서 차례로 ZFS 풀 사용

이전 Ubuntu 설치에서 새 설치로 전환 중입니다. 전환하는 동안 이전 OS와 새 OS에서 동일한 풀을 사용할 수 있기를 원합니다.

새 OS는 다른 디스크에 있습니다. 부팅하는 동안 OS를 선택합니다. 특정 시간에 하나의 OS만 풀을 사용합니다.

이것이 가능합니까? 데이터가 손상되거나 전체 풀이 손실될 위험이 있나요?

답변1

종료 중에 풀을 내보내고 한 번에 하나의 시스템에서만 사용되는 한,당신이 논의하는 내용은 문제가 없어야합니다.

ZFS 정말, 정말,정말-o readonly=on읽기 전용 모드( ~에 제공됨 ) 에서도 여러 시스템에서 동시에 사용되는 동일한 풀을 좋아하지 않지만 zpool import이는 귀하의 상황에 적용되지 않는 것 같습니다.

두 버전 간의 호환성을 유지하려면 다음 사항을 확인하세요.~ 아니다실행 zpool upgrade하거나 zfs upgrade특히 최신 설치에서 실행합니다. 두 가지 모두 이전 설치를 실행할 때 풀이나 파일 시스템에 대한 액세스가 손실될 수 있지만, 업그레이드된 ZFS 온디스크 버전을 지원하는 시스템을 실행할 때 풀이나 파일 시스템이 손실되어서는 안 됩니다.

업그레이드가 완료되면 원하는 경우 zpool upgrade및/또는 zfs upgrade필요에 따라 풀을 최신 온디스크 형식 및 기능으로 업그레이드할 수 있습니다.

답변2

풀에서 시스템 루트를 실행하지 않고 풀을 데이터 저장소로 사용하는 것에 대해 이야기한다고 가정하면 괜찮을 것입니다.

현재 두 개의 시스템이 설치되어 있습니다. 하나는 EXT4 파티션에 있고 다른 하나는 sudo zfs set mountpoint=/ tank/my/dataset.
EXT4 시스템에서 이 풀에 액세스하는 것은 zfs mount -a루트로의 마운트에 실패하기 때문에 어렵습니다. 대신 여기에 세 가지 방법이 있습니다.

두 가지 방법 모두 자동 마운트하지 않고 풀을 가져와야 합니다.

sudo zpool import tank -N

A) 속성 수정

sudo mkdir /mnt/mydataset
sudo zfs set mountpoint=/mnt/mydataset tank/my/dataset
sudo zfs mount tank/my/dataset
# [do stuff in /mnt/mydataset]
# ...
sudo zfs unmount tank/my/dataset
# restore mountpoint so that the other system is able to boot from it
sudo zfs set mountpoint=/ tank/my/dataset

나) 피하라zfs mount

마운트 지점을 앞뒤로 설정하는 것이 귀찮다면 다음 방법도 작동한다는 것을 알았습니다. 이것이 얼마나 해킹되는지에 대한 보장은 없습니다.

sudo mkdir /mnt/mydataset
sudo mount -t zfs -o zfsutil tank/my/dataset /mnt/mydataset
# [do stuff in /mnt/mydataset]
# ...
sudo umount /mnt/mydataset

/mnt/mydataset이 옵션 B)를 사용하여 다른 시스템의 zfs 명령을 chroot하고 사용할 때 몇 가지 문제가 발생했습니다 . 이 문제가 관련이 있는지 모르겠습니다. 비슷한 일을 하지 않는 한 괜찮을 것입니다.

다) 알트루트

altroot풀의 속성을 지정할 수 있습니다 .

대체 루트
대체 루트 디렉터리. 설정된 경우 이 디렉터리는 풀 내의 모든 탑재 지점 앞에 추가됩니다. 이는 마운트 지점을 신뢰할 수 없는 알 수 없는 풀을 검사할 때나 일반적인 경로가 유효하지 않은 대체 부팅 환경에서 사용할 수 있습니다.
altroot영구 속성이 아닙니다. 시스템이 가동되는 동안에만 유효합니다. altroot 설정은 기본적으로 사용으로 설정되지만 cachefile = none이는 명시적 설정을 사용하여 재정의될 수 있습니다.

관련 정보