เบชเบฐเบเบฒเบเบเบตเบกเบทเปเปเบฅเบฐเบเบฒเบเบเบทเบเบเบธเบเบเบปเบ! เบเปเปเบเบงเบฒเบกเบเบตเปเบเบฐเปเบเบฑเบเบเบฐเปเบซเบเบเบชเปเบฒเบฅเบฑเบเบเบนเปเบเบตเปเปเบเปเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบเปเปเบกเบนเบ LUKS เปเบฅเบฐเบเปเบญเบเบเบฒเบเบเบญเบเบฅเบฐเบซเบฑเบเปเบเปเบเบเบฒเบเปเบเป Linux (Debian, Ubuntu) เปเบ เบเบฑเปเบเบเบญเบเบเบญเบเบเบฒเบเบเบญเบเบฅเบฐเบซเบฑเบเบเบฒเบเปเบเปเบเบเบฑเบเบฎเบฒเบ. เปเบฅเบฐเบเปเบญเบเบเปเปเบชเบฒเบกเบฒเบเบเบญเบเบซเบฒเบเปเปเบกเบนเบเบเบฑเปเบเบเปเบฒเบงเบขเบนเปเปเบเบญเบดเบเปเบเบตเปเบเบฑเบ.
เบเปเปเบเบปเบเบกเบฒเบเบตเป, เบเปเบงเบเบเบฒเบเปเบเบตเปเบกเบเบทเปเบเบเบญเบเบเปเบฒเบเบงเบเปเบเปเบเปเบเบเบฑเปเบเบงเบฒเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเปเบเบปเปเบฒเปเบเปเบเบเบฑเบเบซเบฒเบเบญเบเบเบฒเบเบเบญเบเบฅเบฐเบซเบฑเบเปเบเปเบเปเบเบเปเบเปเบงเบดเบเบตเบเบฒเบเบเบตเปเบกเบตเบเบทเปเบชเบฝเบเบซเบผเบฒเบเบเบงเปเบฒ /etc/crypttab. เบชเปเบงเบเบเบธเบเบเบปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเบฑเปเบเบซเบเบฑเบเปเบเบดเบเบเบฑเบเบซเบฒเปเบฅเบฑเบเบเปเบญเบเปเบเบเบฒเบเบเปเบฒเปเบเปเบงเบดเบเบตเบเบฒเบเบเบตเป, เบเบทเบงเปเบฒเปเบเบฅเปเบเปเบฒเบฅเบฑเบเบเบทเบเบญเปเบฒเบ เบเบฝเบโเปเบเปโเบซเบผเบฑเบโเบเบฒเบโเบเบฒเบโเปเบซเบผเบ (mountโ) เบเบฒเบโเปเบเปเบโเบเบฑเบโเบฎเบฒเบโ, เปเบเบดเปเบเบกเบตเบเบปเบเบเบฐเบเบปเบเบเบฒเบเบฅเบปเบเบเปเปเบเบฒเบเบเปเบฒเปเบเบปเปเบฒ ZFS, เปเบเบเบชเบฐเปเบเบฒเบฐเบเปเบฒเบเบงเบเบกเบฑเบเบเบทเบเบชเปเบฒเบเบเบฒเบเบเบฒเบเบดเบเบฑเบเปเบเบญเบธเบเบฐเบเบญเบ *_crypt, เบซเบผเบทเบเบฒเบเปเบเบกเบเบต mdadm เบเบตเปเบชเปเบฒเบเบเบถเปเบเบเบฒเบเบเบฒเบเบดเบเบฑเบเปเบเบฑเปเบเบเบฑเบ. เบเบงเบเปเบฎเบปเบฒเบเบธเบเบเบปเบเบฎเบนเปเบงเปเบฒเบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบชเปเบงเบเปเบเปเบเบขเบนเปเปเบเบเบฑเบ LUKS, เปเบกเปเบเบเป? เปเบฅเบฐเบเบฑเบเปเบเบฑเบเบเบฑเบเบซเบฒเบเบญเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบปเปเบเบเบญเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบญเบทเปเบเป, เปเบเปเบงเบฅเบฒเบเบตเปเบเปเปเบกเบต arrays เปเบเบทเปเบญ, เปเบเป เปเบเป เบเปเบญเบเบเปเบญเบเบเบฒเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเปเบฅเปเบง (เบเปเบญเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบธเปเบก Proxmox VE 5.x เปเบฅเบฐ ZFS เบซเบผเบฒเบเบเบงเปเบฒ iSCSI).
เปเบฅเบฑเบเบเปเบญเบเบเปเบฝเบงเบเบฑเบ ZFSoverISCSIiSCSI เปเบฎเบฑเบเบงเบฝเบเบชเปเบฒเบฅเบฑเบเบเปเบญเบเปเบเบเบเปเบฒเบ LIO, เปเบฅเบฐเปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เปเบกเบทเปเบญเปเบเบปเปเบฒเบซเบกเบฒเบ iscsi เปเบฅเบตเปเบกเบเบปเปเบเปเบฅเบฐเบเปเปเปเบซเบฑเบเบญเบธเบเบฐเบเบญเบ ZVOL, เบกเบฑเบเบเบฝเบเปเบเปเปเบญเบปเบฒเบเบงเบเบกเบฑเบเบญเบญเบเบเบฒเบเบเบฒเบเบเบฑเปเบเบเปเบฒ, เปเบเบดเปเบเบเปเบญเบเบเบฑเบเบเปเปเปเบซเปเบฅเบฐเบเบปเบเบเบญเบเปเบเบเปเบฅเบตเปเบกเบเบปเปเบ. เบเบฑเปเบเบเบฑเปเบ, เบเปเปเบงเปเบฒเบเบฐเปเบเบฑเบเบเบฒเบเบเบทเปเบเบเบนเบเบฒเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเปเบเบฅเป json, เบซเบผเบทเบเบฒเบเปเบเบตเปเบกเบญเบธเบเบฐเบเบญเบเบเปเบงเบเบเบปเบเปเบญเบเบเบตเปเบกเบตเบเบปเบงเบฅเบฐเบเบธเบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐ VM, เปเบเบดเปเบเบเบฝเบเปเบเปเบเบตเปเบฎเปเบฒเบเปเบกเบทเปเบญเบกเบตเปเบเบทเปเบญเบเบเบฑเบเบเบฑเปเบเบเปเบฒเบงเบซเบผเบฒเบเบชเบดเบเปเบเบทเปเบญเบเปเบฅเบฐเปเบเปเบฅเบฐเบเบฒเบเบเบฑเปเบเบเปเบฒเบกเบตเบซเบผเบฒเบเบเบงเปเบฒ 1 เปเบเปเบ.
เปเบฅเบฐเบเปเบฒเบเบฒเบกเบเบตเบชเบญเบเบเบตเปเบเปเบญเบเบเบฐเบเบดเบเบฒเบฅเบฐเบเบฒเปเบกเปเบเบงเบดเบเบตเบเบฒเบเบเบญเบเบฅเบฐเบซเบฑเบ (เบเบตเปเปเบกเปเบเบเบธเบเบชเปเบฒเบเบฑเบเบเบญเบเบเบปเบเบเบงเบฒเบก). เปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบปเบเบเบฐเบเบฒเบเปเบฝเบงเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเปเบเปเบฒเบเบฅเบธเปเบกเบเบตเป, เปเบเบเบฒเบเปเบเปเบเบฒเบเบเบฑเบ!
เบชเปเบงเบเบซเบผเบฒเบเบกเบฑเบ, เปเบเบญเบดเบเปเบเบตเปเบเบฑเบ, เปเบเบฅเปเบเบตเปเบชเปเบฒเบเบฑเบเปเบกเปเบเบเบทเบเบเปเบฒเปเบเป (เปเบเบตเปเบกเบเบปเบเปเบญเบเปเบชเปเบเปเบญเบเปเบชเปเบเปเบญเบเบเบตเปเปเบเบเบเปเบฒเบชเบฑเปเบ - cryptsetup luksAddKey), เบซเบผเบทเปเบเบเปเปเบเบปเบเปเบงเบฑเปเบเบเบตเปเบซเบฒเบเบฒเบ (เปเบเบญเบดเบเปเบเบตเปเบเบฑเบเบเบฒเบชเบฒเบฅเบฑเบเปเบเบเบกเบตเบเปเปเบกเบนเบเบซเบเปเบญเบเบซเบผเบฒเบ) - script decrypt_derived เบเบฑเปเบเบขเบนเปเปเบ /lib/cryptsetup/script/ (เปเบเปเบเบญเบ, เบกเบตเบงเบดเบเบตเบญเบทเปเบ, เปเบเปเบเปเบญเบเปเบเปเบชเบญเบเบญเบฑเบเบเบตเป, เปเบเบดเปเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเบเบญเบเบเบปเบเบเบงเบฒเบก). เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฑเบเบเบฐเบเบฒเบเบฒเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเบฅเบงเบกเปเบญเบปเบฒเปเบญเบเบฐเบฅเบฒเบเบขเปเบฒเบเปเบเบฑเบกเบเบตเปเบซเบผเบฑเบเบเบฒเบ reboots, เปเบเบเบเปเปเบกเบตเบเปเบฒเบชเบฑเปเบเปเบเบตเปเบกเปเบเบตเบกเปเบเปเปเบ console, เบเบฑเปเบเบเบฑเปเบเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบฐ "เบเบดเบเบเบถเปเบ" เบชเปเบฒเบฅเบฑเบเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ. เปเบเบฒเบฐเบชเบฐเบเบฑเปเบ, เปเบเบฑเบเบซเบเบฑเบเบเบถเปเบเบฅเปเบเปเบฒ? โ
เบกเบฒเปเบฅเบตเปเบกเบเบฑเบเปเบฅเบตเบ!
เปเบซเปเบชเบปเบกเบกเบธเบเบงเปเบฒเบฅเบฐเบเบปเบ, เปเบเบฑเปเบ Debian, เบเบดเบเบเบฑเปเบเบขเบนเปเปเบเบเบฒเบเบดเบเบฑเบ crypto sda3_crypt เปเบฅเบฐเบญเบฒเบเปเบเบฑเบชเบเบดเบเบเปเบญเบกเบเบตเปเบเบฐเบเบทเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเปเบฅเบฐเบชเปเบฒเบเปเบซเปเบเบฑเบเปเบเบทเปเบญเปเบเบซเบปเบงเปเบเบเบญเบเบเปเบฒเบ. เบเบงเบเปเบฎเบปเบฒเบกเบต passphrase (passphrase) เปเบเบทเปเบญเบเบปเบเบฅเบฑเบญเบ sda3_crypt, เปเบฅเบฐเบกเบฑเบเปเบกเปเบเบกเบฒเบเบฒเบเบเบฒเบเบดเบเบฑเบเบเบตเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบญเบปเบฒ "hash" เบญเบญเบเบเบฒเบเบฅเบฐเบซเบฑเบเบเปเบฒเบเปเบเบฅเบฐเบเบปเบเปเบฅเปเบ (เบเบญเบเบฅเบฐเบซเบฑเบ) เปเบฅเบฐเปเบเบตเปเบกเบกเบฑเบเปเบชเปเบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญเบเบญเบเปเบเปเบ. เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเบเบฐเบเบปเบก, เปเบ console เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบดเบเบฑเบ:
/lib/cryptsetup/scripts/decrypt_derived sda3_crypt | cryptsetup luksFormat /dev/sdX
เบเปเบญเบเบเบตเป X เปเบกเปเบเปเบเปเบ, เบเบฒเบเปเบเปเบเบเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เปเบฅเบฐเบญเบทเปเบเป.
เบซเบผเบฑเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเปเบเปเบเบเปเบงเบ "hash" เบเบฒเบเบงเบฐเบฅเบตเบเปเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบญเบเบซเบฒ UUID เบซเบผเบท ID - เบเบถเปเบเบเบฑเบเบเบนเปเบเบตเปเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบซเบเบฑเบเปเบฅเบฐเบญเบฑเบเปเบ. เบเบงเบเปเบฎเบปเบฒเปเบญเบปเบฒเบเปเปเบกเบนเบเบเบฒเบ /dev/disk/by-uuid เปเบฅเบฐ by-id เบเบฒเบกเบฅเปเบฒเบเบฑเบ.
เบเบฑเปเบโเบเบญเบโเบเปเปโเปเบโเปเบกเปเบโเบเบฒเบโเบเบฐโเบเบฝเบกโเปเบเบฅโเปโเปเบฅเบฐ mini-scripts เบชเปเบฒโเบฅเบฑเบโเบซเบเปเบฒโเบเบตเปโเบเบงเบโเปเบฎเบปเบฒโเบเปเบญเบโเบเบฒเบโ, เปเบซเปโเบเปเบฒโเปเบเบตเบโเบเบฒเบโ:
cp -p /usr/share/initramfs-tools/hooks/cryptroot /etc/initramfs-tools/hooks/
cp -p /usr/share/initramfs-tools/scripts/local-top/cryptroot /etc/initramfs-tools/scripts/local-top/
เบเบทเปเบกเบญเบตเบ
touch /etc/initramfs-tools/hooks/decrypt && chmod +x /etc/initramfs-tools/hooks/decrypt
เปเบเบทเปเบญเปเบเบเบญเบ ../decrypt
#!/bin/sh
cp -p /lib/cryptsetup/scripts/decrypt_derived "$DESTDIR/bin/decrypt_derived"
เบเบทเปเบกเบญเบตเบ
touch /etc/initramfs-tools/hooks/partcopy && chmod +x /etc/initramfs-tools/hooks/partcopy
เปเบเบทเปเบญเปเบเบเบญเบ../partcopy
#!/bin/sh
cp -p /sbin/partprobe "$DESTDIR/bin/partprobe"
cp -p /lib/x86_64-linux-gnu/libparted.so.2 "$DESTDIR/lib/x86_64-linux-gnu/libparted.so.2"
cp -p /lib/x86_64-linux-gnu/libreadline.so.7 "$DESTDIR/lib/x86_64-linux-gnu/libreadline.so.7"
เปเบฅเบฑเบเบเปเบญเบเบซเบผเบฒเบ
touch /etc/initramfs-tools/scripts/local-bottom/partprobe && chmod +x /etc/initramfs-tools/scripts/local-bottom/partprobe
เปเบเบทเปเบญเปเบ../partprobe
#!/bin/sh
$DESTDIR/bin/partprobe
เปเบฅเบฐเบชเบธเบเบเปเบฒเบ, เบเปเบญเบเบเบตเปเบเบฐเบญเบฑเบเปเบเบ-initramfs, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเปเบเปเปเบเปเบเบฅเป /etc/initramfs-tools/scripts/local-top/cryptroot, เปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเปเบชเบฑเปเบ ~ 360, เบฅเบฐเบซเบฑเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเป
เบเบปเปเบเบชเบฐเบเบฑเบ
# decrease $count by 1, apparently last try was successful.
count=$(( $count - 1 ))
message "cryptsetup ($crypttarget): set up successfully"
break
เปเบฅเบฐเปเบญเบปเบฒเบกเบฒเปเบชเปเปเบเบเบเบญเบกเบเบตเป
เบเบฑเบเปเบเป
# decrease $count by 1, apparently last try was successful.
count=$(( $count - 1 ))
/bin/decrypt_derived $crypttarget | cryptsetup luksOpen /dev/disk/by-uuid/ *CRYPT_MAP*
/bin/decrypt_derived $crypttarget | cryptsetup luksOpen /dev/disk/by-id/ *CRYPT_MAP*
message "cryptsetup ($crypttarget): set up successfully"
break
เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒ UUI เบซเบผเบท ID เบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเบขเบนเปเบเบตเปเบเบตเป. เบชเบดเปเบเบเบตเปเบชเปเบฒเบเบฑเบเปเบกเปเบเบงเปเบฒเปเบเปเบงเบตเบเบตเปเบเปเบฒเปเบเบฑเบเบชเปเบฒเบฅเบฑเบเบญเบธเบเบฐเบเบญเบ HDD / SSD เปเบเปเบเบทเบเปเบเบตเปเบกเปเบเบปเปเบฒเปเบ /etc/initramfs-tools/modules. เปเบเบปเปเบฒเบชเบฒเบกเบฒเบเบเบญเบเบซเบฒเปเบเปเบงเบตเบเบตเปเบเบทเบเบเปเบฒเปเบเปเบเบฑเบเบเปเบฒเบชเบฑเปเบ udevadm เบเปเปเบกเบนเบ -a -n /dev/sdX | egreg 'เบเบญเบเบซเบฒ|เบเบปเบเบเบฑเบ'.
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเปเปเบฎเบฑเบเปเบฅเบฐเปเบเบฅเปเบเบฑเบเบซเบกเบปเบเบขเบนเปเปเบเบชเบฐเบเบฒเบเบเบตเป, เบเปเบฒเปเบเบตเบเบเบฒเบ update-initramfs -u -k เบเบฑเบเบซเบกเบปเบ -v, เบขเบนเปเปเบเบเบฑเบเบเบถเบ เบเบฐเบเปเบญเบเบเปเปเปเบกเปเบ เบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบเบชเบฐเบเบฃเบดเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เบเบงเบเปเบฎเบปเบฒ reboot, เปเบชเป passphrase เปเบฅเบฐเบฅเปเบเปเบฒเปเบฅเบฑเบเบเปเบญเบ, เบญเบตเบเบเบฒเบกเบเปเบฒเบเบงเบเบเบญเบเปเบเปเบ. เบเปเปเปเบ, เบฅเบฐเบเบปเบเบเบฐเปเบฅเบตเปเบกเบเบปเปเบเปเบฅเบฐเปเบเบเบฑเปเบเบเบญเบเบชเบธเบเบเปเบฒเบเบเบญเบเบเบฒเบเปเบเบตเบเบเบปเบง, เบเบทเบซเบผเบฑเบเบเบฒเบ "เบเบดเบเบเบฑเปเบ" เบเบฒเบเปเบเปเบเบเบฑเบเบฎเบฒเบ, เบเปเบฒเบชเบฑเปเบ partprobe เบเบฐเบเบทเบเบเบฐเบเบดเบเบฑเบ - เบกเบฑเบเบเบฐเบเบญเบเบซเบฒเปเบฅเบฐเปเบฅเบทเบญเบเปเบญเบปเบฒเบเบฒเบเบดเบเบฑเบเบเบตเปเบชเปเบฒเบเบเบทเปเบเบเบฑเบเบซเบกเบปเบเปเบเบญเบธเบเบฐเบเบญเบ LUKS เปเบฅเบฐ array เปเบ, เบเปเปเบงเปเบฒเบเบฐเปเบเบฑเบ ZFS เบซเบผเบท. mdadm, เบเบฐเปเบเปเบฎเบฑเบเบเบฒเบเบเบฐเบเบญเบเปเบเบเบเปเปเบกเบตเบเบฑเบเบซเบฒ! เปเบฅเบฐเบเบฑเบเบซเบกเบปเบเบเบตเป เบเปเบญเบเบเบตเปเบเบฐเปเบซเบฅเบ เบเบฒเบเบเปเบฅเบดเบเบฒเบเบซเบผเบฑเบ เปเบฅเบฐเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบตเปเบเปเบญเบเบเบฒเบเปเบเปเบ/เบญเบฒเปเบฃเปเบซเบผเบปเปเบฒเบเบตเป.
update 1: เปเบเบงเปเบ
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com