실제로 매일 작동하는 FreeBSD 13.1-RELEASE 시스템이 ZFS 디스크 ada0에 설치되어 있습니다.
=> 40 976773088 ada0 GPT (466G)
40 532480 1 efi (260M)
532520 1024 2 freebsd-boot (512K)
533544 984 - free - (492K)
534528 4194304 3 freebsd-swap (2.0G)
4728832 972044288 4 freebsd-zfs (464G)
976773120 8 - free - (4.0K)
대신 ada2 디스크에 ada0 드라이브에 설치된 대부분의 서비스와 애플리케이션을 설치했으며 때로는 이 시스템으로 전환합니다(13.1-RELEASE와 동일하지만 UFS2 fs에 있음).
=> 40 625142368 ada2 GPT (298G)
40 532480 1 efi (260M)
532520 616030208 2 freebsd-ufs (294G)
616562728 8388608 3 freebsd-swap (4.0G)
624951336 191072 - free - (93M)
때때로 디스크 ada2에 설치된 시스템에 있을 때 /dev/ada0p4(디스크 ada0의 FreeBSD-ZFS)에 설치된 시스템의 루트 파티션을 마운트하고 싶을 때가 있습니다. 이를 위해 다음 명령을 사용합니다:
zfs mount -a
mount -t zfs -fw zroot/ROOT/31-03-2022-b /mnt/freebsd-zfs
문제는 무엇입니까? 문제는 여러 번 작동하지만 매번 작동하는 것은 아니며 그 이유를 이해할 수 없다는 것입니다. 때로는 지금처럼 다음과 같은 오류가 발생합니다. 100% 작동하도록 ZFS 파티션을 마운트하는 더 안전한 방법이 있습니까? 감사해요.
mount: zroot/ROOT/31-03-2022-b: No such file or directory
업데이트: 이것을 시도했는데 거의 효과가 있었지만 불행하게도 디스크에 저장된 모든 파일과 폴더가 표시되지는 않습니다.
# zpool import -f -R /mnt/freebsd-zfs zroot
ls /mnt/freebsd-zfs tmp
usr var zroot
이것도 작동하지 않습니다.
# zpool import -f -R /mnt/freebsd-zfs zroot/ROOT/31-03-2022-b
cannot import 'zroot/ROOT/31-03-2022-b': no such pool available
"zroot/ROOT/31-03-2022-b" 경로를 마운트하고 싶습니다:
# sudo zfs list
NAME USED AVAIL REFER MOUNTPOINT
zroot 216G 230G 96K /mnt/freebsd-zfs/zroot
zroot/ROOT 203G 230G 96K none
zroot/ROOT/31-03-2022-a 512K 230G 43.4G /mnt/freebsd-zfs
zroot/ROOT/31-03-2022-b 203G 230G 175G /mnt/freebsd-zfs
zroot/tmp 10.6M 230G 10.6M /mnt/freebsd-zfs/tmp
zroot/usr 11.7G 230G 96K /mnt/freebsd-zfs/usr
zroot/usr/home 192K 230G 192K /mnt/freebsd-zfs/usr/home
zroot/usr/ports 8.33G 230G 8.33G /mnt/freebsd-zfs/usr/ports
zroot/usr/src 3.36G 230G 3.36G /mnt/freebsd-zfs/usr/src
zroot/var 1.26G 230G 96K /mnt/freebsd-zfs/var
zroot/var/audit 96K 230G 96K /mnt/freebsd-zfs/var/audit
zroot/var/crash 1.11G 230G 1.11G /mnt/freebsd-zfs/var/crash
zroot/var/log 3.59M 230G 3.59M /mnt/freebsd-zfs/var/log
zroot/var/mail 130M 230G 130M /mnt/freebsd-zfs/var/mail
zroot/var/tmp 18.1M 230G 18.1M /mnt/freebsd-zfs/var/tmp
답변1
altroot
수영장의 속성을 다음으로 설정해 보세요 ./mnt/freebsd-zfs
앞으로가져오거나 zfs mount
데이터 세트를 가져오세요.
에서 man zpoolprops
:
altroot
대체 루트 디렉터리. 설정된 경우 이 디렉터리는 풀의 탑재 지점 앞에 추가됩니다. 이 기능은 마운트 지점을 신뢰할 수 없는 알 수 없는 풀을 확인할 때 또는 일반적인 경로가 유효하지 않은 대체 부팅 환경에서 사용할 수 있습니다.
altroot
영구 속성이 아닙니다. 시스템이 시작될 때만 유효합니다.명시적 설정을 사용하여 재정의할 수 있지만 설정의
altroot
기본값은 을 사용하는 것입니다.cachefile=none
"라고 적혀 있으니 참고하세요.영구 속성이 아님풀을 가져오고 해당 데이터 세트를 ufs2 부트 환경에 마운트하려고 할 때마다 이 작업을 수행해야 합니다.