LUKS पर bcache पर LVM
यहाँ रूसी गुड़िया खेल 3 स्टैक / परतों के साथ थोड़ा गहरा है ...
इस प्रश्न के बारे में मेरा प्रारंभिक विचार एलयूएम पर एलवीएम के साथ एक डिफ़ॉल्ट उबंटू इंस्टॉलेशन का उपयोग करना था और इसे bcache में बदलना था ब्लॉकों के साथ बैकिंग डिवाइस था लेकिन यह एलवीएम के साथ मेरे परीक्षण पर मेरे लिए काम नहीं करता था।
इसके अलावा, ubuntu इंस्टॉलर ( सर्वव्यापकता) ) अग्रिम में तैयार किए गए bcache डिवाइस के अंदर स्थापित करने के लिए बहुत सीमित है (कम से कम LVM पर LUKS के साथ), इसलिए हम मैन्युअल रूप से चीजों को करने की एक विधि पर वापस आते हैं।
लाइव सीडी / यूएसबी में बूट करें और "Ubuntu का प्रयास करें" चुनें और एक टर्मिनल खोलें
पहले से इंस्टॉल किए
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
स्थापना
टर्मिनल को खुला रखें और अब इंस्टॉलेशन चलाएं। विभाजन और निर्दिष्ट करते समय "कुछ और" चुनें
- आपका बूट विभाजन (
/dev/sda2
)
- आपका रूट विभाजन (
/dev/mapper/vg-root
)
- आपकी अदला-बदली (
/dev/mapper/vg-swap
)
और अपने विभाजन को प्रारूपित करने के लिए चेकबॉक्स की जांच करें
स्थापना के अंत में, रिबूट न करें , लेकिन बस "जारी रखने का प्रयास करें" पर क्लिक करें
पोस्ट-स्थापित
हमारे खुले टर्मिनल में
# 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
लाइव सीडी / यूएसबी से एक उबंटू 15.04 रिबूट बग है, इसलिए आपको रिबूट / शटडाउन को मजबूर करना पड़ सकता है
चेक
एक बार बूट होने के बाद, आप जाँच सकते हैं कि /dev/bcache0
वास्तव में एक LUKS विभाजन है
if sudo cryptsetup isLuks /dev/bcache0; then \
echo "crypted";\
else echo "unencrypted";\
fi
ऐसा इसलिए है क्योंकि यह आपके एलयूकेएस विभाजन का कैश है, और आप अब अपने डेटा को डिवाइस के माध्यम से एक्सेस करते हैं /dev/bcache0
और मूल बैकिंग डिवाइस ( /dev/sda3
यहां) से कभी नहीं
संदर्भ
http://bcache.evilpiepirate.org/
https://wiki.archlinux.org/index.php/Bcache
https://wiki.archlinux.org/index.php/Dm-crypt
bcache- स्थिति आधिकारिक रूप से bcache-tools में विलय नहीं हुई है, फिर भी। आप इसे यहाँ कर सकते हैं: https://gist.github.com/djwong/6343451
[१] इस वाइपिंग को करने के बेहतर तरीके हो सकते हैं