LVM pada LUKS di bcache
Di sini permainan boneka rusia sedikit lebih dalam dengan 3 tumpukan / lapisan ...
Gagasan awal saya tentang pertanyaan ini adalah menggunakan instalasi Ubuntu default dengan LVM pada LUKS dan mengubahnya menjadi perangkat dukungan bcache dengan blok tetapi tidak bekerja untuk saya pada pengujian dengan LVM.
Selain itu, penginstal ubuntu ( ubiquity ) terlalu terbatas untuk menginstal di dalam perangkat bcache yang disiapkan sebelumnya (setidaknya dengan LUKS di LVM), jadi kami mundur ke metode melakukan sesuatu secara manual.
Boot ke live CD / USB dan pilih "Coba Ubuntu" dan buka terminal
Pra-instal
sudo -i
# Define some variable to avoid confusion and error
luks_part=/dev/sda3
boot=/dev/sda2 # boot partition
caching_bcache=/dev/sdb # SSD or partition in SSD
# Do secure erase of encrypted backing and caching device (see Notes [1])
dd if=/dev/urandom of=$luks_part || dd if=/dev/urandom of=$caching_bcache
# Go and grab some coffe, this will take a while...
apt-get install bcache-tools
# Setup bcache caching and backing devices
make-bcache -C $caching_bcache -B $luks_part
# (Optional) Tweak bcache
echo writeback > /sys/block/bcache0/bcache/cache_mode
# Below we now create manually what ubiquity should have done for us
# Setup LUKS device on bcache device
cryptsetup --key-size 512 luksFormat /dev/bcache0
cryptsetup luksOpen /dev/bcache0 crypted
# Setup LVM on LUKS
# You can skip that part if you don't want to use a swap
# or don't want to use multiple partition. Use /dev/mapper/crypted
# as you root latter on
pvcreate /dev/mapper/crypted
vgcreate vg /dev/mapper/crypted
lvcreate -L 1G vg -n swap
lvcreate -l 100%FREE vg -n root
Instalasi
Biarkan terminal terbuka dan sekarang jalankan instalasi. Pilih "Sesuatu yang lain" saat mempartisi dan menentukan
- partisi boot Anda (
/dev/sda2
)
- partisi root Anda (
/dev/mapper/vg-root
)
- swap Anda (
/dev/mapper/vg-swap
)
dan centang kotak centang untuk memformat partisi Anda
Pada akhir instalasi, jangan reboot tetapi cukup klik "Lanjutkan mencoba ubuntu"
Pasca-instal
Di terminal kami yang terbuka
# Install bcache-tools to add bcache module to initramfs
mount /dev/mapper/vg-root /mnt
mount $boot /mnt/boot
mount -o bind /sys /mnt/sys
mount -o bind /proc /mnt/proc
mount -o bind /dev /mnt/dev
chroot /mnt
# To get apt-get running in the chroot
echo 'nameserver 8.8.8.8' > /run/resolvconf/resolv.conf
apt-get install bcache-tools
# Create /etc/crypttab to add crypted bcached partition
echo "crypted UUID=`blkid -o value /dev/bcache0|head -1` none luks" > /etc/crypttab
exit
sync
umount /mnt/sys
umount /mnt/proc
umount /mnt/dev
umount /mnt/boot
umount /mnt
vgchange -an /dev/mapper/crypted
cryptsetup luksClose crypted
sync
# Reboot & enjoy
Ada bug reboot Ubuntu 15.04 yang diketahui dari Live CD / USB sehingga Anda mungkin harus memaksa reboot / shutdown
Memeriksa
Setelah di-boot, Anda dapat memeriksa apakah /dev/bcache0
itu sebenarnya adalah partisi LUKS
if sudo cryptsetup isLuks /dev/bcache0; then \
echo "crypted";\
else echo "unencrypted";\
fi
Ini karena ini adalah cache dari partisi LUKS Anda, dan sekarang Anda mengakses data Anda melalui perangkat /dev/bcache0
dan tidak pernah dari perangkat dukungan asli (di /dev/sda3
sini)
Referensi
http://bcache.evilpiepirate.org/
https://wiki.archlinux.org/index.php/Bcache
https://wiki.archlinux.org/index.php/Dm-crypt
bcache-status belum secara resmi bergabung ke dalam bcache-tools. Anda dapat memilikinya di sini: https://gist.github.com/djwong/6343451
[1] Mungkin ada cara yang lebih baik untuk melakukan ini menyeka