
Recentemente, atualizei meu disco de um SSD de 128 GB para um SSD de 512 GB. A partição / é criptografada com LUKS. Estou procurando ajuda para estender a partição para usar todo o espaço livre no novo disco. Eu já coloquei a unidade antiga na nova:
[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
Há cerca de 380 GB de espaço não utilizado após o sda2.
Informações mais relevantes:
[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 haver muitas informações sobre como fazer isso, mas muito pouca explicação. Agradeço qualquer ajuda sobre isso.
Responder1
OK! A resposta definitiva finalmente. Meus passos para expandir um volume criptografado LUKS...
cryptsetup luksOpen /dev/sda2 crypt-volume
para abrir o volume criptografado.parted /dev/sda
para estender a partição.resizepart NUMBER END
.vgchange -a n fedora_chocbar
. Pare de usar o VG para poder dar o próximo passo.cryptsetup luksClose crypt-volume
. Feche o volume criptografado para as próximas etapas.cryptsetup luksOpen /dev/sda2 crypt-volume
. Abra novamente.cryptsetup resize crypt-volume
. Redimensionará automaticamente o volume LUKS para o espaço disponível.vgchange -a y fedora_chocbar
. Ative o VG.pvresize /dev/mapper/crypt-volume
. Redimensione o PV.lvresize -l+100%FREE /dev/fedora_chocbar/home
. Redimensione o LV de /home para 100% do espaço livre.e2fsck -f /dev/mapper/fedora_chocbar-home
. Jogue um pouco de magia fsck no fs redimensionado.resize2fs /dev/mapper/fedora_chocbar-home
. Redimensione o sistema de arquivos em /home (usa automaticamente 100% de espaço livre)
Espero que alguém ache isso útil. Agora tenho mais de 300 GB para minhas VMs de teste em meu laptop!
Responder2
Para aqueles que têm a resposta para descobrir como simplesmente redimensionar uma partição LUKS para o tamanho do contêiner redimensionado, os comandos são os seguintes:
com volume criptografado LUKSabertoe o volume aberto mapeado como
opened-volume
, executesudo cryptsetup resize /dev/mapper/opened-volume
para redimensionar o volume criptografado LUKS online...
em seguida, redimensione o conteúdo.
Por exemplo, se for umSistema de arquivos Ext4, você pode redimensioná-lo mesmo se estiver montado com
sudo resize2fs /dev/mapper/opened-volume
Ou se você tivesse umLVMvolume físico dentroo volume criptografado LUKS, basta usar
pvresize
:sudo pvresize /dev/mapper/opened-volume
Eu fiz isso com um sistema de arquivos montado/PV ativado sem interrupção; foi possível redimensionar o contêiner sem desmontá-lo primeiro porque o volume criptografado estava em um volume lógico LVM (usando lvresize
) / usando parted
para redimensionar uma partição GPT para conter o espaço livre que o seguiu imediatamente!
Responder3
Encontrei uma solução muito mais fácil. Execute o Xubuntu live, instale e inicie o gerenciador de partições. Ele pode muito bem lidar com partições criptografadas.
Os detalhes completos estão aqui:http://e1z.ca/devlog/encrypted_partition_resize.html
Responder4
Redimensionar a partir da linha de comando com partedsem LVM(em uma tabela de partição ms-dos para maior diversão).
Expandi meu VPS de 50G para 150G.
Crypttab lê:
# 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
Tamanhos:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vda5_crypt 47G 12G 35G 26% /
/dev/vda1 641M 63M 532M 11% /boot
O layout da partição é:
# 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 você pode ver, minha partição swap (partição 6) está no caminho; preciso removê-lo para expandir a partição. Primeiro desligue a troca:
swapoff -a && free -lm
A linha 'Swap:' deve conter apenas zeros.
Agora, o complicado é redimensionar as partições e restaurá-las antes de reiniciar e expandir (o parted irá reclamar que não pode informar o kernel, eu (eu) ignorei isso várias vezes).
Primeiro remova a partição swap:
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
Estenda a partição lógica (2) para conter as partições estendidas, até o final do disco (-1):
(parted) resizepart 2 -1
Redimensione a partição lógica 5, mantendo espaço para a partição swap (o parted irá reclamar novamente, basta continuar e (i)ignorar:
(parted) resizepart 5 -4G
Recrie a partição swap - como você pode ver no crypttab ela é aleatória a cada inicialização, então não nos preocupamos com o UUID - não é bom para suspender - mas para servidores e sem suspensão é a forma preferida. Crie-o do final da partição anterior (157G) até o final do disco (-1):
(parted) mkpart
Partition type? primary/logical? l
File system type? [ext2]? linux-swap
Start? 157GB
End? -1
Confira os 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
Agorareinícioe você normalmente deve inicializar o sistema, desbloqueando a partição.
Após a reinicialização, verifique seu swapspace:
# swapon
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 3.7G 0B -1
É hora de expandir! Use 'cryptsetup resize /dev/mapper/opened-volume' e 'resize2fs /dev/mapper/opened-volume'
cryptsetup resize /dev/mapper/vda5_crypt
resize2fs /dev/mapper/vda5_crypt
Resultando no meu volume criptografado redimensionado para 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