그래서 컴퓨터를 고치려면 암호화된 zfs 파티션을 마운트해야 합니다. 모든 곳을 살펴봤지만 찾은 정보로는 마운트할 수 없습니다. 매번 할 때마다 sudo zfs set mountpoint=/mnt/k/ rpool
실패하지는 않지만 파일에 접근할 수 없습니다. 디스크에 마운트하면 error mounting /dev/sda4 to /media/ubuntu/rpool2: unknown filesystem type zfs_member (udisk-error-quark, 0)
. 파티션이 암호화되었기 때문에 마운트되지 않았을 가능성이 높습니다. 어떻게 장착하나요?
답변1
아래 예시 워크플로를 사용하여 다음을 수행할 수 있습니다.
- ZFS 설치 및 설치 확인
- 디스크 파티션에서 ZFS 풀 찾기 및 가져오기
- 원하는 ZFS 풀 및/또는 데이터 세트의 마운트 지점 설정
- ZFS 풀 키 저장소의 암호를 해독합니다.
- 암호 키를 마운트하고 ZFS에 로드합니다.
- ZFS 풀 및/또는 데이터세트를 원하는 지점에 마운트하세요.
ZFS_DISK='/dev/sdX'
ZFS_POOL_PARTITION='/dev/sdXn'
ZFS_POOL='rpool'
ZFS_POOL_DATASET='DATA' # 'ROOT' or 'USERDATA' for Ubuntu
MOUNTPOINT='/mnt'
# install zfs (using apt-get, yum, dnf, pacman, etc)
sudo apt-get install zfsutils-linux
sudo zfs --version
# locate zfs disk and pool
sudo lsblk -af "$ZFS_DISK"
sudo fdisk -l "$ZFS_DISK"
# create mountpoint directories for zfs pool and cipher key
sudo mkdir -p "$MOUNTPOINT"
sudo mkdir -p /zfskey
# import pool from partition
sudo zpool import -d "$ZFS_POOL_PARTITION" "$ZFS_POOL"
sudo zpool list
sudo zpool status -P "$ZFS_POOL"
# get and set the mountpoint for our zfs pool/dataset
# NOTE: mountpoints may collide with current filesystem,
# as mountpoints inherit from higher-level mountpoints
sudo zfs get mounted "$ZFS_POOL" -t filesystem -r
sudo zfs get mountpoint "$ZFS_POOL" -t filesystem -r
sudo zfs get mountpoint "$ZFS_POOL/$ZFS_POOL_DATASET" # BACKUP THIS VALUE
sudo zfs set mountpoint="$MOUNTPOINT" "$ZFS_POOL/$ZFS_POOL_DATASET"
# decrypt zfs keystore and load cipher key
sudo cryptsetup open "/dev/zvol/$ZFS_POOL/keystore" zfskey # creates /dev/dm-0 dm-1 dm-2
ls -l /dev/mapper/zfskey # /dev/mapper/zfskey -> /dev/dm-n
sudo cryptsetup -v status zfskey
sudo mount /dev/mapper/zfskey /zfskey
df -H
ls -l /zfskey
sudo cat /zfskey/system.key | sudo zfs load-key -L prompt "$ZFS_POOL"
# mount the decrypted pool and/or dataset
sudo zfs mount "$ZFS_POOL/$ZFS_POOL_DATASET"
sudo zfs list
ls -la "$MOUNTPOINT"
이제 디렉터리가 마운트되어 표시되어야 합니다.