암호화하지 않으려는 SSD에서 OS를 실행하는 Ubuntu-18.04 상자가 있습니다. 암호화 된 (LUKS를 통해) RAID-Z1 추가 스토리지로 사용하려는 추가 2TB 드라이브가 3 개 있습니다. 각 디스크에 대해 다른 암호 구를 사용하고 부팅 시간으로 각 암호 구를 입력하라는 메시지가 표시되며 부팅시 raidz 풀을 자동으로 생성 및 마운트합니다.
다음 튜토리얼을 따르고 있습니다.
https://help.ubuntu.com/community/encryptedZfs#ZFS_on_LUKS_Installation
위의 튜토리얼에서는 부팅 디스크와 추가 스토리지 드라이브를 모두 암호화하는 방법에 대해 설명합니다. 부팅 디스크를 암호화하지 않기 때문에 관련된 모든 것을 구문 분석하고 관심있는 3 개의 2TB 드라이브에 추가 저장소를 만드는 데 필요한 작업 만 수행하려고했습니다.
다음 단계를 완료해도 각 암호를 사용하여 각 드라이브를 암호화하는 것처럼 보였으며 raidz 풀로 바꿀 수 있습니다. 해결하지 못한 두 가지 실패 지점이 있습니다.
- 부팅시 시스템에서 암호 해독 문구를 요구하지 않습니다.
- raidz 풀은 시작시 작성되거나 마운트되지 않습니다. 아마도 이전의 문제로 인해 적어도 부분적으로 가능했을 것입니다.
머신 부팅 후 수동으로 암호를 해독 한 다음 이전에 생성 된 풀을 가져올 수 있습니다. 지금까지 내 설정 설정은 다음과 같습니다.
$ sudo parted -a optimal /dev/sdb; sudo parted -a optimal /dev/sdc; sudo parted -a optimal /dev/sdd
# the above parted command opens a prompt to enter commands. The following were the commands given
# mklabel gpt
# unit MB
# mkpart vpool 1 -1
$ sudo apt install cryptsetup
$ sudo cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 /dev/sdb1
$ sudo cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 /dev/sdc1
$ sudo cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 /dev/sdd1
$ sudo cryptsetup luksHeaderBackup /dev/sdb1 --header-backup-file /home/user_home/luks_header_backup_sdb1; sudo cryptsetup luksHeaderBackup /dev/sdc1 --header-backup-file /home/user_home/luks_header_backup_sdc1; sudo cryptsetup luksHeaderBackup /dev/sdd1 --header-backup-file /home/user_home/luks_header_backup_sdd1
$ sudo cryptsetup luksOpen /dev/sdb1 vault1_crypt
$ sudo cryptsetup luksOpen /dev/sdc1 vault2_crypt
$ sudo cryptsetup luksOpen /dev/sdd1 vault3_crypt
$ sudo fdisk -l
# The above command was to check the sector size. because there is an old drive in there we have to use 512 sector size. This means using ashift=9 instead of ashift=12 when doing zpool create
$ sudo zpool create -O mountpoint=none -o ashift=9 vault raidz1 /dev/mapper/vault1_crypt /dev/mapper/vault2_crypt /dev/mapper/vault3_crypt
$ sudo zfs set mountpoint=/vault vault
$ blkid # Copied value of each sdb1 sdc1 and sdd1 UUIDs
$ sudo vim /etc/initramfs-tools/conf.d/cryptroot
# Wrote as follows
# target=vault,source=UUID=<UUID-from-blkid-for-sdb1>,key=none
# target=vault,source=UUID=<UUID-from-blkid-for-sdc1>,key=none
# target=vault,source=UUID=<UUID-from-blkid-for-sdd1>,key=none
$ sudo update-initramfs -c -k all
$ sudo update-grub; sudo grub-install /dev/sda