Como aumentar o tamanho da minha partição ativa depois de redimensionar o disco virtual?

2

Estou executando um servidor da Web que ficou sem espaço. Ele está funcionando como uma máquina virtual no VMware ESX e eu dobrei o tamanho do disco rígido.

Disk /dev/sda: 96 GiB, 103079215104 bytes, 201326592 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
Disklabel type: dos
Disk identifier: 0x51f6b050

Device     Boot   Start       End  Sectors  Size Id Type
/dev/sda1  *       2048    999423   997376  487M 83 Linux
/dev/sda2       1001470 100661247 99659778 47.5G  5 Extended
/dev/sda5       1001472 100661247 99659776 47.5G 8e Linux LVM

Ele mostra que dev / sda é 96GB, que deve se referir ao volume físico, o que significa que a tabela abaixo possui três partições - sda1, sda2 e sda2.

No entanto, se eu executar o comando DF, recebo o seguinte:

Filesystem                     1K-blocks     Used Available Use% Mounted on
udev                             4068132        0   4068132   0% /dev
tmpfs                             817508     9312    808196   2% /run
/dev/mapper/webserver--vg-root  44762192 35857748   6607612  85% /
tmpfs                            4087524        0   4087524   0% /dev/shm
tmpfs                               5120        0      5120   0% /run/lock
tmpfs                            4087524        0   4087524   0% /sys/fs/cgroup
/dev/sda1                         482922   152390    305598  34% /boot
tmpfs                             817508        0    817508   0% /run/user/1000

O que são estes se não são partições? Parece que o problema é / dev / mapper / webserver - vg-root (acabei de excluir alguns arquivos para poder usar o sistema). Como aumentar seu tamanho com base no aumento do espaço em disco?

Obrigado antecipadamente

    
por Simon Greer 02.03.2017 / 08:47

3 respostas

2

O motivo pelo qual você não está vendo o espaço extra em disco é que há vários níveis envolvidos entre o disco (que você cresceu) e o espaço utilizável em seu sistema operacional:

  • o próprio disco
  • partições no disco (que permitem que um único disco seja usado para finalidades diferentes)
  • LVM (Logical Volume Management, que permite que o espaço em disco seja gerenciado mais facilmente)
  • sistemas de arquivos (que gerenciam armazenamento de arquivos em uma partição ou volume lógico)

Cada uma dessas camadas precisa ser informada sobre o aumento no espaço em disco.

Como você está usando o LVM, existem duas abordagens. Você pode adicionar uma nova partição e usá-la, conforme descrito em Rui 's answer (perto o suficiente - que descreve a adição de um novo disco, mas você pode adicionar uma nova partição primária para usar o espaço adicionado em seu disco existente o mesmo caminho). Você também pode, em vez disso, estender sua partição existente ...

Vamos passar pelas camadas:

  1. O disco em si: você já fez isso.
  2. Partições: para estender uma partição, você pode usar uma ferramenta gráfica como gparted ou simples fdisk :

    fdisk /dev/sda
    

    Exclua a partição existente e seu contêiner, anotando seus setores de início:

    p
    

    (isto imprime a tabela de partições e fornece as informações que precisaremos novamente mais tarde)

    d
    5
    d
    2
    

    Isso não excluirá nenhum dado, apenas removerá os marcadores (e, em qualquer caso, contanto que não digamos fdisk para gravar, nada será alterado no disco). Crie uma nova partição estendida:

    n
    e
    

    Aceite o número da partição padrão. Para o primeiro setor, certifique-se de que fdisk esteja usando o mesmo setor inicial que foi usado anteriormente para sda2 (1001470 no seu caso); para o último setor, fdisk selecionará automaticamente o maior valor possível (usando todo o espaço em disco, que é o que você deseja). Crie uma nova partição lógica dentro de:

    n
    l
    

    Novamente, verifique o setor inicial (1001472 no seu caso) e use todo o espaço em disco.

    w
    

    irá gravar as alterações no disco. Como alteramos a partição enquanto ela estava em uso, você provavelmente precisará reinicializar neste ponto.

  3. LVM: precisamos informar ao subsistema de LV sobre o novo espaço em disco; Fazemos isso estendendo primeiro o volume físico que ocupa a partição:

    pvresize /dev/sda5
    

    então o volume lógico

    lvresize -r -l 100%PVS /dev/mapper/webserver--vg-root
    
  4. Sistemas de arquivos: é fácil, a opção -r para lvresize acima cuidou disso, usando uma ferramenta chamada fsadm .

por 02.03.2017 / 10:30
2

Nota importante: Eu aconselho a fazer um instantâneo da VM algumas horas antes de começar a bagunçar as partições. Muitas vezes, os instantâneos no VMWare dão errado quando as modificações são feitas imediatamente após executá-las.

A maneira mais fácil de fazer isso é criar um novo disco, uma nova partição primária e adicioná-lo ao seu grupo de volumes.

Você precisa criar uma nova partição com fdisk.

Em seguida, crie uma nova partição no novo disco (ou / dev / sda e partição 3, em vez da partição 1 para o disco antigo - / dev / sda)

sudo fdisk /dev/sdb
n         -- new 
p         -- primary
(accept all defaults with ENTER)

altere o tipo de partição:

t
1
8E         -- Linux LVM

para escrever:

w        
q

(Eu assumirei que /dev/sdb1 foi criado neste momento. Se outro, substitua-o no vgextend abaixo)

Dependendo do sistema, ele pode solicitar a reinicialização neste momento. Você reinicia ou executa:

partprobe

Se você não tiver o comando, instale-o com:

sudo apt-get install parted

Verifique com o que o grupo de volumes (nome do VG) está:

vgdisplay

A partir de agora, presumo que seja o servidor da Web - vg

Você adiciona a partição ao grupo de volume:

vgextend webserver--vg /dev/sdb1

Você pode redimensioná-lo com (em tempo real, melhor do que fazer lvextend + redimensionar como no tutorial da referência)

lvextend -r -l+100%FREE /dev/vg/webserver--vg-root

P.S. Esta é uma rota alternativa para o @Stephen Kitt, sem excluir as partições. É flexível o suficiente para aumentar o seu disco, o procedimento é menos complicado, a desvantagem é que, com o tempo, o gerenciamento do sistema de arquivos será mais complexo ao desenvolver o sistema de arquivos. Tal como é, este procedimento é frequentemente mais orientado para máquinas físicas, e. crescendo partições LVM em um segundo disco.

Referências:

Releia a tabela de partições sem reiniciar o Linux Sistema
Como gerenciar e usar o LVM (Logical Volume Management)

Pergunta relacionada:

Crescimento da raiz do LVM

    
por 02.03.2017 / 09:07
1

Se o seu disco usa o GPT, o parted seria uma ótima maneira de resolver isso.

Exemplo:

sudo parted
(parted) select /dev/sda
Using /dev/sda
(parted) mkpart
Partition type?
primary File system type? [ext2]?
Start? 1
End? 10000
(parted) quit
cro@mac-mini-Ubuntu $
    
por 02.03.2017 / 09:54