Redimensionar a partição raiz de uma VM Linux depois que seu disco virtual receber espaço extra

Redimensionar a partição raiz de uma VM Linux depois que seu disco virtual receber espaço extra

Sistema

  • Debian 6/32 bits
  • VSphere

Meta

Redimensione a partição principal para utilizar todos os recursos disponíveis agora.

Emitir

Aumentei o espaço em disco na minha instância VM no Vsphere, mas sou novo no Linux e não consigo descobrir como:

  1. Veja este novo espaço disponível (13 gigas extras)
  2. Descubra qual partição é a partição principal (acredito que seja/dev/sda1)
  3. Descubra como redimensioná-lo para 20g completos agora disponíveis
  4. Descubra se tenho arquivos ofensivos que estão ocupando todo o meu espaço em disco

Solução de problemas

fstab

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# / was on /dev/sda1 during installation
UUID=15a985ca-91ce-48ca-b235-cc0dad9418ef /               ext3    errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
UUID=296256d8-f84a-4f4e-8511-1c2b9ea986d3 none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0

montar

/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
overflow on /tmp type tmpfs (rw,size=1048576,mode=1777)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)

df-a

/dev/sda1              7867856   7474208         0 100% /
tmpfs                  1557572         0   1557572   0% /lib/init/rw
proc                         0         0         0   -  /proc
sysfs                        0         0         0   -  /sys
udev                   1553124       120   1553004   1% /dev
tmpfs                  1557572         0   1557572   0% /dev/shm
devpts                       0         0         0   -  /dev/pts
overflow                  1024        68       956   7% /tmp
fusectl                      0         0         0   -  /sys/fs/fuse/connections
binfmt_misc                  0         0         0   -  /proc/sys/fs/binfmt_misc

Responder1

Se você alterou o tamanho de um disco virtual em que o Linux está sendo executado, o que você fez foi alterar o tamanho de um dispositivo de bloco subjacente, ou seja /dev/sda,. As partições causam a criação de dispositivos de "sub" blocos, ou seja /dev/sda1, etc., mas é claro, como eles são derivados da tabela de partições, que provavelmente não mudou quando você adicionou espaço, eles não vão mudar. Para descobrir o tamanho do disco "subjacente", o que você deseja fazer é consultar o tamanho do /dev/sdadispositivo de bloco principal. Veja esta resposta unix.stackexchange.compara saber como fazer isso.

No Linux, a partição “principal” é aquela em que /está montada. Então, de acordo com o acima, é /dev/sda. Observe que em alguns outros sistemas, /var, /usr, e /homepodem estar em partições diferentes - elas também são essenciais para um sistema que funciona normalmente (embora você possa contornar isso se necessário em uma emergência).

Você pode querer investigarext2onlinepara redimensionar a /partição. Eu nunca usei isso. Se você não puder usá-lo ou algo semelhante por algum motivo, poderá inicializar o sistema no modo de recuperação, copiar tudo em /um volume externo temporário (ou segundo disco virtual), reparticionar e copiar tudo de volta.

No que diz respeito à análise de arquivos ofensivos, geralmente primeiro você deseja verificar /vare excluir ou cortar quaisquer arquivos de log que não precisa manter (e fazer isso regularmente). Você também pode excluir itens desnecessários /homee tentar aptitudeexcluir quaisquer pacotes desnecessários. Por último, você pode tentar usar o cruftutilitário. Esta questão do Serverfaulttem ótimas ideias para alguns aplicativos GUI que podem fornecer um relatório visual sobre o que está em seu sistema.

Responder2

Se você estendeu o tamanho de um disco em execução no vSphere, será necessário verificar novamente o barramento scsi com este comando:

echo "- - -" > /sys/class/scsi_host/host#/scan

onde # é o número do host (0 por padrão).

Então, você verá o novo tamanho do disco e poderá estender o sistema de arquivos com e2extend

informação relacionada