Шпаргалка по LVM и cryptsetup (LUKS).
Защита информации шифрованием (с помощью cryptsetup) на легко-масштабируемой файловой системе (с помощью LVM) — 2 полезных свойства системы хранения данных, не просто удобные и безопасные, но обязательные.
действия выполнять от имени root
# sudo -s
посмотреть какие диски есть:
# fdisk -l
/dev/sda
/dev/scb
/dev/sdc
Создать Physical Volume’s
# pvcreate /dev/sdb
# pvcreate /dev/sdc
Посмотреть список всех Physical Volume’s
# pvdisplay
Создать Logical Volume Group
# vgcreate lvmgroup /dev/sdb
Посмотреть список доступных Logical Volume Group’s
# vgdisplay
Создать Logical Volume максимального доступного размера
# lvcreate -n lvmpart1 -l 100%FREE lvmgroup
Посмотреть список доступных Logical Volume’s
# lvdisplay
Добавить LVM в автозагрузку (на SLES 11 sp2)
# chkconfig --level 235 boot.lvm on
Добавить crypto в автозагрузку
# chkconfig --level 235 boot.crypto on
Создать зашифрованный контейнер на разделе LVM
# cryptsetup luksFormat /dev/lvmgroup/lvmpart1
Открыть зашифрованный контейнер
# cryptsetup luksOpen /dev/lvmgroup/lvmpart1 encryptedpart
Создать файловую систему в зашифрованном контейнере
# mkfs -t ext3 /dev/mapper/encryptedpart
Создать точку монтирования
# mkdir /mnt/epart
Монтировать файловую систему
# mount /dev/mapper/encryptedpart /mnt/epart
Проверить смонтировался ли раздел
# df -h
Размонтировать файловую систему
# umount /mnt/epart
Отключить зашифрованный контейнер
# cryptsetup luksClose /dev/mapper/encryptedpart
Расширить Logical Volume Group
# vgextend lvmgroup /dev/sdc
Расширить Logical Volume до максимально доступного объема
# lvextend -l +100%FREE /dev/lvmgroup/lvmpart1
Подключить зашифрованный контейнер
# cryptsetup luksOpen /dev/lvmgroup/lvmpart1 encryptedpart
Проверить свойства файловой системы
# e2fsck -f /dev/mapper/encryptedpart
Увеличить объем дискового пространства для файловой системы до максимально доступного
# resize2fs /dev/mapper/encryptedpart
Либо увеличить файловую систему без проверки до определенного размера (9Gb)
# resize2fs /dev/mapper/encryptedpart 9G
Монтировать файловую систему
# mount /dev/mapper/encryptedpart /mnt/epart
Ручное активирование раздела LVM после загрузки системы
# vgchange -a y
Ручное деактивирование раздела LVM после загрузки системы
# vgchange -an -v /dev/lvmgroup/lvmpart1
Для уменьшения размера Logical Volume:
Размонтировать файловую систему
# umount /mnt/epart
Проверить свойства файловой системы
# e2fsck -f /dev/mapper/encryptedpart
Уменьшить файловую систему до заданного размера (4Gb)
# resize2fs /dev/mapper/encryptedpart 4G
Отключить зашифрованный контейнер
# cryptsetup luksClose /dev/mapper/encryptedpart
Деактивировать Logical Volume
# vgchange -an -v /dev/lvmgroup
Уменьшить размер Logical Volume
# lvreduce --size 4G /dev/lvmgroup/lvmpart1
Активировать Logical Volume
# vgchange -a y
Подключить зашифрованный контейнер
# cryptsetup luksOpen /dev/lvmgroup/lvmpart1 encryptedpart
Монтировать файловую систему
# mount /dev/mapper/encryptedpart /mnt/epart/
Создать ключ для автоматического открытия криптоконтейнера при старте системы:
# dd if=/dev/random of=/tmp/encrypted.key bs=1 count=256
Добавить ключ для открытия криптоконтейнера:
# cryptsetup luksAddKey /dev/lvmgroup/lvmpart1 /tmp/encrypted.key
Подключить вручную криптоконтейнер ключем:
# cryptsetup -d /tmp/encrypted.key luksOpen /dev/lvmgroup/lvmpart1 encryptedpart
Монтировать файловую систему:
# mount /dev/mapper/encryptedpart /mnt/epart/
Добавить строку автоматического подключения криптоконтейнера в файл /etc/crypttab
# vi /etc/crypttab
encryptedpart /dev/lvmgroup/lvmpart1 /tmp/encrypted.key luks
Добавить строку монтирования файловой системы подключенного ранее криптоконтейнера в файл /etc/fstab
# vi /etc/fstab
/dev/mapper/encryptedpart /mnt/epart ext3 defaults 0 0
P.S.
Если создать еще один зашифрованный раздел, ключ от которого поместить в файловой системе первого зашифрованного раздела, то все прекрасно автоматически монтируется при старте системы.