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

2

Sistema

  • Debian 6/32 bits
  • VSphere

Meta

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

Problema

Eu 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 (mais 13 shows)
  2. Descobrir qual partição é a partição principal (acredito que seja / dev / sda1)
  3. Descubra como redimensioná-lo até as 20g completas disponíveis agora
  4. Descobrir se eu tenho arquivos ofensivos que estão usando todo o meu espaço em disco em primeiro lugar

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

monte

/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
    
por LawrenceC 09.01.2013 / 00:23

2 respostas

1

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, por exemplo, /dev/sda . As partições fazem com que os dispositivos de bloco "sub" sejam criados, por exemplo, /dev/sda1 , etc. mas, é claro, como esses são derivados da tabela de partição, que provavelmente não mudaram quando você adicionou espaço, eles não serão alterados. Para descobrir o tamanho do disco "subjacente", o que você deseja fazer é consultar o tamanho do dispositivo principal de bloco /dev/sda . Veja esta resposta do unix.stackexchange.com para saber como isso.

No Linux, a partição "principal" é a que / é montada. Então, de acordo com o acima, é /dev/sda . Observe que em alguns outros sistemas, /var , /usr e /home podem estar em partições diferentes - também são essenciais para um sistema que funcione normalmente (embora você possa contorná-lo se necessário em uma emergência) .

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

No que diz respeito à análise de arquivos ofensivos, geralmente primeiro você deseja verificar /var e excluir ou aparar quaisquer arquivos de log que não seja necessário manter (e fazer isso regularmente). Você também pode querer excluir coisas não aproveitadas de /home e dar uma olhada em aptitude para excluir quaisquer pacotes desnecessários. Por último, você pode tentar usar o utilitário cruft . Esta questão de falha de servidor tem ótimas idéias para alguns aplicativos de GUI que podem dar-lhe um relatório visual sobre o que está no seu sistema.

    
por 04.04.2013 / 19:44
0

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

em que # é 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 o e2extend

    
por 13.01.2015 / 19:32