luks;Перенос корня на зашифрованный диск


Делаем на тестовой впс,загрузившись с rescuecd
Диск с данными — vda
Disk /dev/vda: 25 GiB, 26843545600 bytes, 52428800 sectors
/dev/vda1 * 2048 526335 524288 256M 83 Linux
/dev/vda2 526336 52428799 51902464 24.8G 83 Linux
Новый диск vdb.
Disk /dev/vdb: 25 GiB, 26843545600 bytes, 52428800 sectors
Копируем разметку
sfdisk -d /dev/vda|sfdisk /dev/vdb
Форматируем новый корневой раздел
cryptsetup luksFormat /dev/vdb2
В диалоге вводим парольную фразу.
Подключаем зашифрованный диск,обозвав юлочное устройство luks-«UUID_vdb2»
cryptsetup luksOpen /dev/vdb2 luks-812c7db7-eae9-4ddf-81e1-39e4d853a7fb
Создаем файловые системы
mkfs.xfs /dev/mapper/luks-812c7db7-eae9-4ddf-81e1-39e4d853a7fb
mkfs.ext4 /dev/vdb1

Создаем каталоги для монтирования,и монтируем оба диска.
mkdir /mnt/new
mkdir /mnt/old
mount /dev/vda2 /mnt/old
mount /dev/vda1 /mnt/old/boot
mount /dev/mapper/luks-812c7db7-eae9-4ddf-81e1-39e4d853a7fb /mnt/new
mkdir /mnt/new/boot
mount /dev/vdb1 /mnt/new/boot

Копируем данные
rsync -av /mnt/old/ /mnt/new/
chroot-имся в новый диск
for i in tmp sys proc dev;do mount --rbind /$i /mnt/new/$i;done
chroot /mnt/new /bin/bash
source /etc/profile

Смотрим blkid,и начинаем править конфиги.
/dev/sr0: UUID=»2016-06-04-13-21-28-00″ LABEL=»sysrcd-4.7.3″ TYPE=»iso9660″
/dev/vda1: UUID=»ecfeb4c4-147c-4b77-9b63-e90c59ec367e» TYPE=»ext4″
/dev/vda2: UUID=»49a0b19c-b172-4843-a178-181d68ef4b65″ TYPE=»xfs»
/dev/vdb1: UUID=»a4aa4858-3a4d-4a2a-8a7b-d9d3366b1aee» TYPE=»ext4″
/dev/vdb2: UUID=»812c7db7-eae9-4ddf-81e1-39e4d853a7fb» TYPE=»crypto_LUKS»
/dev/mapper/luks-812c7db7-eae9-4ddf-81e1-39e4d853a7fb: UUID=»af9486bf-4f30-41a0-9ae4-6a630949bbf0″ TYPE=»xfs»

1./etc/default/grub
Добавляем в GRUB_CMDLINE_LINUX rd.luks.uuid=luks-812c7db7-eae9-4ddf-81e1-39e4d853a7fb итого получается
GRUB_CMDLINE_LINUX=»consoleblank=0 fsck.repair=yes crashkernel=auto rd.luks.uuid=luks-812c7db7-eae9-4ddf-81e1-39e4d853a7fb selinux=0 rhgb quiet»
2./etc/crypttab
luks-812c7db7-eae9-4ddf-81e1-39e4d853a7fb /dev/vda2 none
3./etc/dracut.conf
Добавляем строку add_dracutmodules+=»crypt»
4./etc/fstab
Строку для корня приводим к виду
/dev/mapper/luks-812c7db7-eae9-4ddf-81e1-39e4d853a7fb / xfs defaults,x-systemd.device-timeout=0 0 0
и меняем uuid для /boot

Установим grub
grub2-install /dev/vdb
Генерируем конфиг grub
grub2-mkconfig -o /boot/grub2/grub.cfg
После этого загружаемся со старого диска ,монтируем новый,chroot-имся в него и генерируем initramfs.Если делать это из rescuecd,то не заводится потом.Почему,не разобрался.
dracut --kver `uname -r` -f
Если вылазит dracut module ‘crypt’ cannot be found or installed,то делаем yum install cryptsetup)))