다음 예에서는 pktool 명령을 사용하여 aes-256-ccm 암호화 키를 생성하고 /cindykey.file 파일에 씁니다.
# pktool genkey keystore=file outkey=/cindykey.file keytype=aes keylen=256
그런 다음 tank/home/cindy 파일 시스템을 만들 때 /cindykey.file을 지정합니다.
# zfs create -o encryption=aes-256-ccm -o keysource=raw,file:///cindykey.file tank/home/cindy예 5-2 다른 암호화 알고리즘을 사용하여 ZFS 파일 시스템 암호화
ZFS 저장소 풀을 만들고 저장소 풀의 모든 파일 시스템이 암호화 알고리즘을 상속하도록 할 수 있습니다. 이 예에서는 users 풀을 만들며 users/home 파일 시스템을 만들고 문장암호를 사용하여 암호화합니다. 기본 암호화 알고리즘은 aes-128-ccm입니다.
그런 다음 aes-256-ccm 암호화 알고리즘을 사용하여 users/home/mark 파일 시스템을 만들고 암호화합니다.
# zpool create -O encryption=on users mirror c0t1d0 c1t1d0 mirror c2t1d0 c3t1d0 Enter passphrase for 'users': xxxxxxxx Enter again: xxxxxxxx # zfs create users/home # zfs get encryption users/home NAME PROPERTY VALUE SOURCE users/home encryption on inherited from users # zfs create -o encryption=aes-256-ccm users/home/mark # zfs get encryption users/home/mark NAME PROPERTY VALUE SOURCE users/home/mark encryption aes-256-ccm local예 5-3 암호화된 ZFS 파일 시스템 복제
복제 파일 시스템이 원래 스냅샷과 동일한 파일 시스템에서 keysource 등록 정보를 상속하는 경우 새 keysource가 필요하지 않으며 keysource=passphrase,prompt이면 새 문장암호를 묻는 메시지가 표시되지 않습니다. 동일한 keysource가 복제본에 사용됩니다. 예를 들면 다음과 같습니다.
기본적으로 암호화된 파일 시스템의 종속 항목을 복제할 때는 키를 묻는 메시지가 표시되지 않습니다.
# zfs create -o encryption=on tank/ws Enter passphrase for 'tank/ws': xxxxxxxx Enter again: xxxxxxxx # zfs create tank/ws/fs1 # zfs snapshot tank/ws/fs1@snap1 # zfs clone tank/ws/fs1@snap1 tank/ws/fs1clone
복제 파일 시스템에 대한 새 키를 만들려면 zfs clone –K 명령을 사용하십시오.
암호화된 종속 파일 시스템 대신 암호화된 파일 시스템을 복제하는 경우 새 키를 제공하라는 메시지가 표시됩니다. 예를 들면 다음과 같습니다.
# zfs create -o encryption=on tank/ws Enter passphrase for 'tank/ws': xxxxxxxx Enter again: xxxxxxxx # zfs snapshot tank/ws@1 # zfs clone tank/ws@1 tank/ws1clone Enter passphrase for 'tank/ws1clone': xxxxxxxx Enter again: xxxxxxxx예 5-4 암호화된 ZFS 파일 시스템 보내기 및 받기
다음 예에서 tank/home/darren@snap1 스냅샷은 암호화된 /tank/home/darren 파일 시스템에서 생성됩니다. 결과로 수신된 데이터가 암호화되도록 encryption 등록 정보를 사용으로 설정하면 스냅샷이 bpool/snaps로 전송됩니다. 하지만 보내는 동안 tank/home/darren@snap1 스트림은 암호화되지 않습니다.
# zfs get encryption tank/home/darren NAME PROPERTY VALUE SOURCE tank/home/darren encryption on local # zfs snapshot tank/home/darren@snap1 # zfs get encryption bpool/snaps NAME PROPERTY VALUE SOURCE bpool/snaps encryption on inherited from bpool # zfs send tank/home/darren@snap1 | zfs receive bpool/snaps/darren1012 # zfs get encryption bpool/snaps/darren1012 NAME PROPERTY VALUE SOURCE bpool/snaps/darren1012 encryption on inherited from bpool
이 경우 수신된 암호화된 파일 시스템에 대한 새 키가 자동으로 생성됩니다.