
Recientemente actualicé mi disco de un SSD de 128 GB a un SSD de 512 GB. La partición / está cifrada con LUKS. Estoy buscando ayuda para extender la partición para usar todo el espacio libre en el nuevo disco. Ya añadí el disco antiguo al nuevo:
[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
Hay alrededor de 380 GB de espacio no utilizado después de sda2.
Más información relevante:
[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
Parece haber mucha información sobre cómo hacer esto, pero muy poca explicación. Agradezco cualquier ayuda en esto.
Respuesta1
¡DE ACUERDO! La respuesta definitiva por fin. Mis pasos para expandir un volumen cifrado LUKS...
cryptsetup luksOpen /dev/sda2 crypt-volume
para abrir el volumen cifrado.parted /dev/sda
para ampliar la partición.resizepart NUMBER END
.vgchange -a n fedora_chocbar
. Deje de usar el VG para poder realizar el siguiente paso.cryptsetup luksClose crypt-volume
. Cierre el volumen cifrado para los siguientes pasos.cryptsetup luksOpen /dev/sda2 crypt-volume
. Ábrelo de nuevo.cryptsetup resize crypt-volume
. Cambiará automáticamente el tamaño del volumen LUKS al espacio disponible.vgchange -a y fedora_chocbar
. Activa el VG.pvresize /dev/mapper/crypt-volume
. Cambie el tamaño del PV.lvresize -l+100%FREE /dev/fedora_chocbar/home
. Cambie el tamaño del LV para /home al 100% del espacio libre.e2fsck -f /dev/mapper/fedora_chocbar-home
. Lanza un poco de magia fsck al fs redimensionado.resize2fs /dev/mapper/fedora_chocbar-home
. Cambiar el tamaño del sistema de archivos en /home (utiliza automáticamente 100% de espacio libre)
Espero que alguien más encuentre esto útil. ¡Ahora tengo más de 300 GB para mis máquinas virtuales de prueba en mi computadora portátil!
Respuesta2
Para aquellos que lleguen a la respuesta y descubran cómo simplemente cambiar el tamaño de una partición LUKS al tamaño del contenedor redimensionado, los comandos son los siguientes:
con volumen cifrado LUKSabrióy el volumen abierto asignado como
opened-volume
, ejecutesudo cryptsetup resize /dev/mapper/opened-volume
para cambiar el tamaño del volumen cifrado LUKS en línea...
luego cambie el tamaño del contenido.
Por ejemplo si es unsistema de archivos ext4, puedes cambiar su tamaño incluso si está montado con
sudo resize2fs /dev/mapper/opened-volume
O si tuvieras unLVMvolumen fisico adentroel volumen cifrado LUKS, solo use
pvresize
:sudo pvresize /dev/mapper/opened-volume
He hecho esto con un sistema de archivos montado/PV activado sin interrupción; ¡Fue posible cambiar el tamaño del contenedor sin desmontarlo primero porque el volumen cifrado estaba en un volumen lógico LVM (usando lvresize
)/usando parted
para cambiar el tamaño de una partición GPT para contener el espacio libre que lo seguía inmediatamente!
Respuesta3
Encontré una solución mucho más fácil. Ejecute Xubuntu en vivo, instale e inicie el administrador de particiones. Puede manejar muy bien particiones cifradas.
Los detalles completos están aquí:http://e1z.ca/devlog/encrypted_partition_resize.html
Respuesta4
Cambiar el tamaño desde la línea de comando con separaciónsin LVM(en una tabla de particiones ms-dos para mayor diversión).
Amplié mi VPS de 50G a 150G.
Crypttab dice:
# 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
Tamaños:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vda5_crypt 47G 12G 35G 26% /
/dev/vda1 641M 63M 532M 11% /boot
El diseño de la partición es:
# 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
Como puede ver, mi partición de intercambio (partición 6) está en el camino; Necesito eliminarlo para expandir la partición. Primero apague el intercambio:
swapoff -a && free -lm
La línea 'Swap:' debe leer todo ceros.
Ahora, lo complicado es cambiar el tamaño de las particiones y restaurarlas antes de reiniciar y expandir (parted se quejará de que no puede informar al kernel, lo ignoré varias veces).
Primero elimine la partición de intercambio:
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
Extienda la partición lógica (2) para contener las particiones extendidas, hasta el final del disco (-1):
(parted) resizepart 2 -1
Cambie el tamaño de la partición lógica 5, manteniendo espacio para la partición de intercambio (partid se quejará nuevamente, simplemente continúe y (i)ignore:
(parted) resizepart 5 -4G
Vuelva a crear la partición de intercambio; como puede ver en crypttab, es aleatoria en cada arranque, por lo que no nos molestamos con el UUID; no es bueno para suspender, pero para servidores y no suspender es la forma preferida. Créelo desde el final de la partición anterior (157G) hasta el final del disco (-1):
(parted) mkpart
Partition type? primary/logical? l
File system type? [ext2]? linux-swap
Start? 157GB
End? -1
Comprueba los resultados:
(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
Ahorareiniciary normalmente deberías iniciar el sistema, desbloqueando la partición.
Después de reiniciar, verifique su espacio de intercambio:
# swapon
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 3.7G 0B -1
¡Es hora de expandirse! Utilice 'cryptsetup resize /dev/mapper/opened-volume' y 'resize2fs /dev/mapper/opened-volume'
cryptsetup resize /dev/mapper/vda5_crypt
resize2fs /dev/mapper/vda5_crypt
Como resultado, mi volumen cifrado cambió de tamaño a 132G:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vda5_crypt 144G 12G 132G 9% /
/dev/vda1 641M 63M 532M 11% /boot