Redimensiona a partição de disco no servidor de VM remoto

6

Estou executando o Ubuntu Server 10.04 em um servidor remoto como uma VM. Eu só tenho acesso à VM.

A VM atribui um espaço em disco de 20 GB, no entanto, a unidade atualmente só é particionada para usar cerca de 4,7 GB.

Eu sei que você pode usar o LiveCD para reparticionar uma unidade usando o gparted. Como você faria isso em uma VM remota? (Como a partição também é o volume de inicialização)

# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00074164

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         618     4959232   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2             618         653      280577    5  Extended
Partition 2 does not end on cylinder boundary.
/dev/sda5             618         653      280576   82  Linux swap / Solaris
    
por Highway of Life 01.03.2012 / 22:48

2 respostas

2

Isso que eu tentaria:

  1. Muitos provedores de hospedagem VPS possuem ferramentas para manipular partições em seus painéis de controle. Ter acesso ao painel de controle seria a opção mais segura.

  2. Não redimensione a partição, mas crie uma segunda partição e mova os dados "em funcionamento" para essa partição. Eu sou. monte /home ou onde quer que seus dados estejam em uma partição separada

  3. Se você ainda se sentir aventureiro, tente remontar a partição de inicialização somente leitura e ver se é possível redimensioná-la enquanto montada somente leitura

  4. Algo realmente complicado como remover swap - criar uma cópia de sua partição raiz no final da unidade - configurar o grub para inicializar a partir da nova partição - reiniciar - redimensionar sua partição original - copiar os dados de volta - modificar grub novamente - reboot - remove a partição raiz temporária - crie uma partição swap novamente.

Eu consideraria as duas segundas opções realmente perigosas no sentido de que, se algo der errado, seu sistema simplesmente não inicializará, então você perderia qualquer acesso ao sistema.

    
por Sergey 02.03.2012 / 02:25
8

Se você quiser ampliar a partição do sistema

Primeiro, desative a troca ( swapoff /dev/sda5 ), porque removeremos temporariamente a partição de troca.

Use o GParted ou cfdisk ou fdisk para:

  1. Remova a partição lógica /dev/sda5 e a partição estendida /dev/sda2 .
  2. Amplie /dev/sda1 para abranger todo o disco menos o que você deseja alocar para a partição de troca.
  3. Recrie uma partição (torne-a uma partição primária para simplificar) para a troca.

Não ative a troca novamente. Comente a linha de troca em /etc/fstab e reboot . (Se você não reiniciar, o kernel continuará usando dados obsoletos sobre o particionamento, o que pode ter conseqüências desastrosas.)

Após a reinicialização, edite /etc/fstab para alterar o nome do dispositivo de troca e descomente-o. Formate a área de troca com mkswap e ative-a com swapon -a .

Finalmente, amplie o sistema de arquivos existente para ocupar todo o /dev/sda1 com resize2fs /dev/sda1 .

Se você quiser criar outra partição

Use o GParted para ampliar a partição estendida ( /dev/sda2 ) e crie uma nova partição lógica /dev/sda6 nela. Diga ao GParted que você vai querer um sistema de arquivos Linux em /dev/sda6 . Crie um sistema de arquivos com mke2fs -t ext4 /dev/sda6 .

    
por Gilles 01.03.2012 / 23:14