Шифрование локальных дисков(не системного), задача как оказалось достаточно простая.
1. Выбираем раздел для будущего шифрованного хранилища.
fdisk -l
На чистой установке в системе с одним диском это будет /dev/sda3. Для примера буду использовать именно его.
прим. XenServer использует GPT вместо MBR, поэтому листинг fdisk может содержать сведения об ошибках. Редактировать разделы лучше gdisk, partx или parted.
2. Проверим какие у нас уже есть хранилища. Если наш целевой раздел уже используется, то придется удалить соответствующее локальное хранилище.
Получаем SR-UUID хранилища
xe sr-list
Перед тем как удалить хранилище, придется удалить PBD.
xe sr-param-list uuid=<SR-UUID> | grep PBD
Отключаем и удаляем сначала PBD, а потом и SR.
xe pbd-unplug uuid=<PBD-UUID>
xe pbd-destroy uuid=<PBD-UUID>
xe sr-destroy uuid= <SR-UUID>
xe sr-forget uuid=<SR-UUID>
3. Создаем шифрованный раздел.
cryptsetup -c aes-cbc-essiv:sha256 -s 256 luksFormat /dev/sda3
Вводим пароль для раздела и YES в подтверждение наших намерений.
4. Подключаем наш раздел
$ cryptsetup luksOpen /dev/sda3 fs_point
fs_poing — это имя под которым раздел будет доступен в системе, выбираете по своему усмотрению.
Шифрованный раздел будет доступен в системе как /dev/mapper/fs_point.
5. Не забываем добавить наш раздел в crypttab
echo “fs_point /dev/sda3” > /etc/crypttab
6. Подключаем шифрованный раздел как локальное хранилище
Получаем UUID
xe host-list
И подключаем SR
xe sr-create content-type=user device-config:device=/dev/mapper/fs_point host-uuid=$host_uuid name-label="Local Storage - Encrypted" shared=false type=lvm
7. При перезагрузке будет выдан запрос на ввод пароля. На этом моменте загрузка останавливается, так что вам нужно иметь доступ непосредственно к серверу.
прим. Если система не выдает запрос на ввод пароля и не загружается, то вероятно вам нужно переключиться в другую консоль CTRL+ALT+F2.
Автор: anton1234