У меня есть диск с этим форматом:
sdc 8:32 0 1,8T 0 disk
└─sdc1 8:33 0 1,8T 0 part
├─vg-lv1 (dm-0) 254:0 0 900G 0 lvm /media/lv1
└─vg-lv2 (dm-1) 254:1 0 923G 0 lvm
└─lv2 (dm-9) 254:9 0 923G 0 crypt /media/lv2
lv2
ext4 файловая система, но блочное устройство под ним (логический том vg-lv2
) шифруется с dm-crypt
.
Что шаги должны безопасно вырастить эту файловую систему?
Я уже увеличил логический том, и я знаю, что буду иметь к resize2fs
, но я предполагаю, что должен буду сделать что-то в dm-crypt
слой.
Я сначала создал эту файловую систему с двумя шагами (в псевдосценарии оболочки):
Санируйте блочное устройство
lvcreate vg-lv2
$randompassword = $(pwgen)
cryptsetup luksFormat --cipher aes-cbc-essiv:sha256 --key-size 256 /dev/mapper/vg-lv2
, с $randompassword
как ключ.cryptsetup luksOpen /dev/mapper/vg-lv2 sanitize
nice -20 ionice -c 3 dd if=/dev/zero of=/dev/mapper/sanitize bs=1M
cryptsetup remove sanitize
Подготовьте блочное устройство к производственному использованию
cryptsetup luksFormat --cipher aes-cbc-essiv:sha256 --key-size 256 /dev/mapper/vg-lv2
, с новым ключом.cryptsetup luksOpen /dev/mapper/vg-lv2 lv2
mke2fs /dev/mapper/vg-lv2
(Я не помню аргументы, но не было, вероятно, ни одного),Когда готовый к производственному использованию, незашифрованное блочное устройство было обнулено (эффективно запись псевдослучайных данных в шифруемом устройстве).
Теперь, так как я хочу вырастить файловую систему, я должен также сделать первый шаг и санировать его перед использованием. Это - то, что я не делаю, как сделать:
/dev/mapper/vg-lv2
и dd if=/dev/zero of=/dev/mapper/vg-lv2 bs=1M skip=$SKIPBLOCKS
. Я не могу получить это $SKIPBLOCKS
переменная неправильно, поэтому что я на самом деле должен знать, - то, как может я знать, учитывая уже существующую файловую систему, которая является первым пустым блоком после нее, таким образом, я могу рандомизировать то пространство вперед.Вы можете изменить размер тома dmcrypt с помощью resize
:
cryptsetup --help|grep -i resize
resize <name> - resize active device
После этого вы можете resize2fs
.
Что касается комментариев о случайных данных: вы также можете сделать это из файловой системы. Итак, измените его размер, смонтируйте его и заполните каждый последний байт случайным файлом:
dd if=/dev/urandom of=/deleteme bs=1M
А затем удалите файл.
(для наилучших результатов используйте tune2fs
, чтобы установить счетчик зарезервированных блоков на 0% (темпорально))