
Недавно я обновил свой диск с SSD на 128 ГБ до SSD на 512 ГБ. Раздел / зашифрован с помощью LUKS. Мне нужна помощь в расширении раздела, чтобы использовать все свободное место на новом диске. Я уже перенес старый диск на новый:
[root@localhost ~]# fdisk -l /dev/sda
Disk /dev/sda: 477 GiB, 512110190592 bytes, 1000215216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00009f33
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 1026047 1024000 500M 83 Linux
/dev/sda2 1026048 250064895 249038848 118.8G 83 Linux
После sda2 остается около 380 ГБ неиспользуемого пространства.
Более актуальная информация:
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
fedora_chocbar 1 3 0 wz--n- 118.75g 4.00m
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home fedora_chocbar -wi-a----- 85.55g
root fedora_chocbar -wi-a----- 29.30g
swap fedora_chocbar -wi-a----- 3.89g
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/mapper/encrypted fedora_chocbar lvm2 a-- 118.75g 4.00m
Кажется, есть много информации о том, как это сделать, но очень мало объяснений. Я ценю любую помощь по этому вопросу.
решение1
ОК! Наконец-то окончательный ответ. Мои шаги по расширению зашифрованного тома LUKS...
cryptsetup luksOpen /dev/sda2 crypt-volume
чтобы открыть зашифрованный том.parted /dev/sda
расширить разделresizepart NUMBER END
.vgchange -a n fedora_chocbar
. Прекратите использовать VG, чтобы вы могли сделать следующий шаг.cryptsetup luksClose crypt-volume
. Закройте зашифрованный том для следующих шагов.cryptsetup luksOpen /dev/sda2 crypt-volume
. Откройте его снова.cryptsetup resize crypt-volume
. Автоматически изменит размер тома LUKS в соответствии с доступным пространством.vgchange -a y fedora_chocbar
. Активируйте VG.pvresize /dev/mapper/crypt-volume
. Измените размер PV.lvresize -l+100%FREE /dev/fedora_chocbar/home
. Измените размер LV для /home до 100% свободного пространства.e2fsck -f /dev/mapper/fedora_chocbar-home
. Примените немного магии fsck к измененному размеру fs.resize2fs /dev/mapper/fedora_chocbar-home
. Измените размер файловой системы в /home (автоматически использует 100% свободного места)
Надеюсь, кому-то это будет полезно. Теперь у меня на ноутбуке более 300 ГБ для тестовых виртуальных машин!
решение2
Для тех, кто ищет ответ, как просто изменить размер раздела LUKS до размера измененного контейнера, команды следующие:
с зашифрованным томом LUKSоткрылсяи открытый том, отображенный как
opened-volume
, выполнитьsudo cryptsetup resize /dev/mapper/opened-volume
для изменения размера зашифрованного тома LUKS в режиме онлайн...
затем измените размер содержимого.
Например, если этоФайловая система Ext4, вы можете изменить его размер, даже если он смонтирован с помощью
sudo resize2fs /dev/mapper/opened-volume
Или если у вас былЛВМфизический объем внутризашифрованный том LUKS, просто используйте
pvresize
:sudo pvresize /dev/mapper/opened-volume
Я проделал это с смонтированной файловой системой/активированным PV без прерывания работы; можно было изменить размер контейнера, не размонтируя его предварительно, поскольку зашифрованный том находился на логическом томе LVM (с помощью lvresize
) / с помощью parted
изменения размера раздела GPT, чтобы вместить свободное пространство, следующее сразу за ним!
решение3
Я нашел гораздо более простое решение. Запустите Xubuntu live, установите и запустите partitionmanager. Он отлично справляется с зашифрованными разделами.
Полная информация здесь:http://e1z.ca/devlog/encrypted_partition_resize.html
решение4
Изменить размер из командной строки с помощью partedбез ЛВМ(на таблице разделов ms-dos для дополнительного удовольствия).
Я расширил свой VPS с 50G до 150G.
Crypttab гласит:
# cat /etc/crypttab
vda5_crypt UUID=c5e67d21-6af4-4d55-a4bc-2978e50c00c3 none luks
vda6_crypt /dev/vda6 /dev/urandom cipher=aes-xts-plain64,size=256,swap
Размеры:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vda5_crypt 47G 12G 35G 26% /
/dev/vda1 641M 63M 532M 11% /boot
Схема разделов следующая:
# parted /dev/vda print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 161GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 700MB 699MB primary ext4 boot
2 701MB 53.7GB 53.0GB extended
5 701MB 51.7GB 51.0GB logical
6 51.7GB 53.7GB 1985MB logical
Как вы видите, мой раздел подкачки (раздел 6) мешает; мне нужно удалить его, чтобы расширить раздел. Сначала отключите подкачку:
swapoff -a && free -lm
В строке «Swap:» должны быть все нули.
Теперь самое сложное — изменить размер разделов и восстановить их перед перезагрузкой и расширением (parted будет жаловаться, что не может сообщить об этом ядру, я несколько раз это игнорировал).
Сначала удалите раздел подкачки:
parted /dev/vda
(parted) rm 6
Error: Partition(s) 6 on /dev/vda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a
result, the old partition(s) will remain in use. You should reboot now before making further changes.
Ignore/Cancel? i
Расширьте логический раздел (2) для размещения расширенных разделов до конца диска (-1):
(parted) resizepart 2 -1
Измените размер логического раздела 5, оставив место для раздела подкачки (parted снова выдаст сообщение об ошибке, просто продолжайте и (и)игнорируйте:
(parted) resizepart 5 -4G
Пересоздайте раздел подкачки - как вы можете видеть из crypttab, он рандомизируется при каждой загрузке, поэтому нам не нужно беспокоиться о UUID - не очень хорошо для режима ожидания - но для серверов и без режима ожидания это предпочтительный способ. Создайте его с конца предыдущего раздела (157G) до конца диска (-1):
(parted) mkpart
Partition type? primary/logical? l
File system type? [ext2]? linux-swap
Start? 157GB
End? -1
Проверьте результаты:
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 161GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 700MB 699MB primary ext4 boot
2 701MB 161GB 160GB extended
5 701MB 157GB 156GB logical
6 157GB 161GB 3998MB logical linux-swap(v1) lba
(parted) quit
Сейчасперезагрузитьи вам следует нормально загрузить систему, разблокировав раздел.
После перезагрузки проверьте пространство подкачки:
# swapon
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 3.7G 0B -1
Время расширяться! Используйте 'cryptsetup resize /dev/mapper/opened-volume' и 'resize2fs /dev/mapper/opened-volume'
cryptsetup resize /dev/mapper/vda5_crypt
resize2fs /dev/mapper/vda5_crypt
В результате размер моего зашифрованного тома увеличился до 132 ГБ:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vda5_crypt 144G 12G 132G 9% /
/dev/vda1 641M 63M 532M 11% /boot