Eu descobri isso. Antes de começar, direi que os números abaixo podem não somar - tentei recriar exatamente o que fiz, mas tive que recuar nos números. Meu conselho é fazer tudo que você pode em kilobytes, porque todas as ferramentas concordam em quão grandes elas são. Seja MUITO cuidadoso ao usar o fdisk, que a partição é pelo menos tão grande quanto o volume físico que contém, porque ele não avisará se você tentar fazer algo estúpido.
Primeiro, eu precisava inicializar a partir de um flash stick (porque o sistema de arquivos raiz está no LV). Então verifique se o sistema de arquivos está bem:
e2fsck -f /dev/mapper/root
Em seguida, redimensione o sistema de arquivos:
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/root 935093704 472743436 414857916 54% /
$ resize2fs /dev/mapper/root 934093704k
Em seguida, redimensione o volume lógico:
$ lvresize -L 934093704K /dev/mapper/root
Verifique se o sistema de arquivos ainda está bem:
$ e2fsck -f /dev/mapper/root
Agora, dê uma olhada nos volumes físicos - / dev / sdb1 deve ter algum espaço livre no final:
$ pvs
PV VG Fmt Attr PSize PFree
/dev/sda1 toad lvm2 a- 465.76g 4.00m
/dev/sdb1 toad lvm2 a- 465.76g 1.28g
Precisamos mover este espaço livre para o final de / dev / sdb1. Comece vendo quantas extensões existem em cada unidade:
$ pvs --segments
PV VG Fmt Attr PSize PFree Start SSize
/dev/sda1 toad lvm2 a- 465.76g 4.00m 0 119173
/dev/sdb1 toad lvm2 a- 465.76g 1.28g 0 119141
Em seguida, mova alguns de um para o outro:
$ pvmove / dev / sda1: 118923: 119173 / dev / sdb1
$ pvs --segments
PV VG Fmt Attr PSize PFree Start SSize
/dev/sda1 toad lvm2 a- 464.55g 1.00g 0 119141
/dev/sdb1 toad lvm2 a- 465.76g 284.0m 0 119141
/dev/sdb1 toad lvm2 a- 465.76g 284.0m 119141 119173
Agora você pode redimensionar o volume físico usando pvresize:
$ pvresize --setphysicalvolumesize 487112704k /dev/sda1
Agora você pode redimensionar a partição usando o fdisk. Um aviso aqui: minhas partições foram configuradas para que o / dev / sda1 começasse no setor 63. Eu supus que esse era o padrão e, portanto, não o anotei. Então o fdisk só me deixava recriar a partição a partir do setor 2048, e eu não sabia que estava errado - agora eu tenho um sistema inutilizável! Felizmente, você pode reexcluir e recriar novamente a partição sem nenhum efeito negativo, mas eu tive que adivinhar onde a partição deveria começar. Então, NOTE BEM ONDE SUA PARTIÇÃO COMEÇA ANTES DE SUPRIMIR!
$ fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000730a3
Device Boot Start End Blocks Id System
/dev/sda1 63 974227455 488113696+ 8e Linux LVM
/dev/sda2 974229504 976771071 1270784 5 Extended
/dev/sda5 974231552 976771071 1269760 83 Linux
Command (m for help): d
Partition number (1-5): 1
Command (m for help): n
Partition type:
p primary (0 primary, 1 extended, 3 free)
l logical (numbered from 5)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-976773167, default 2048): 2048
Last sector, +sectors or +size{K,M,G} (2048-974229503, default 974229503): +487113696K
Command (m for help): x
Expert command (m for help): b
Partition number (1-5): 1
New beginning of data (1-974229439, default 2048): 63
Eu movi e redimensionei / dev / sda2 e / dev / sda5 usando o GParted, o que me deixa muito menos nervoso. Então, finalmente:
$ mkdir disk
$ mount /dev/sda5 disk
$ grub-install --boot-directory=./disk /dev/sda
para reinstalar o carregador de boot no novo local.
Observe que criei a partição pela primeira vez a partir de 2048 e movi o início para 63.
Os comandos LVM aqui dirão se você está prestes a fazer algo estúpido, como tornar um volume físico menor que as extensões alocadas que ele contém, mas alguns não, especialmente fdisk - é muito fácil acabar redimensionando a partição para cortar o final do volume físico. Isso é uma coisa ruim. Certifique-se de que a partição seja pelo menos tão grande quanto o volume físico!