Redimensiona a partição Ubuntu / dev / sda1 no VirtualBox VMDK quando o / dev / sda já é maior

2

Algum tempo atrás eu criei um VMDK que foi mapeado para uma partição bruta em um SSD.

O SSD era de 128 GB, eu o particionei no Windows (o host), tornei a segunda partição acessível para o Windows (NTFS) e usei a primeira partição para mapeá-la em um VMDK.

Esta primeira partição tem um tamanho de cerca de 48 GB.

Quando eu instalei o Ubuntu Server em uma VM que usava aquele VMDK, notei que o tamanho de /dev/sda mostrado para mim era de 128GB, mas criei a partição durante a instalação do Ubuntu para ser do tamanho da primeira partição, de modo que /dev/sda1 é de 48GB.

Devido à falta de espaço em /dev/sda1 (há 5GB livres), comprei outro SSD e decidi parar de usar mapeamentos brutos. Eu copiei o VMDK através do Virtual Media Manager para o novo SSD, então agora eu tenho um arquivo VMDK de aprox. 44GB (não leve isso exatamente, é a questão MiB vs GiB vs GB).

Eu substituí o HDD da VM pelo VMDK recém-copiado e inicializei-o. Funciona como esperado.

Agora eu tenho isso:

:~$ cat /proc/partitions
major minor  #blocks  name

  11        0      58100 sr0
   8        0  125034840 sda
   8        1   46873600 sda1
   8       16  488386584 sdb
   8       17  181189085 sdb1

isto

~$ sudo fdisk -l
Disk /dev/sda: 119.2 GiB, 128035676160 bytes, 250069680 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: 0x000271d1

Device     Boot Start      End  Sectors  Size Id Type
/dev/sda1  *     2048 93749247 93747200 44.7G 83 Linux


Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 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
Disklabel type: gpt
Disk identifier: 59B4B505-C79F-11E3-8F9C-709E29CA19D2

Device     Start       End   Sectors   Size Type
/dev/sdb1     34 362378204 362378171 172.8G Linux filesystem

e isso

:/$ df -h
Filesystem       Size  Used Avail Use% Mounted on
udev             7.9G     0  7.9G   0% /dev
tmpfs            1.6G  9.1M  1.6G   1% /run
/dev/sda1         44G   37G  5.1G  88% /
tmpfs            7.9G  1.1M  7.9G   1% /dev/shm
tmpfs            5.0M     0  5.0M   0% /run/lock
tmpfs            7.9G     0  7.9G   0% /sys/fs/cgroup
windows-avconv   1.9T  1.8T  103G  95% /home/user/windows-avconv
windows-storage  1.9T  1.8T  103G  95% /home/user/windows-storage
windows-share     50G  101M   50G   1% /home/user/windows
cgmfs            100K     0  100K   0% /run/cgmanager/fs
/dev/sdb1        170G   91G   72G  56% /media/hdd
tmpfs            1.6G     0  1.6G   0% /run/user/1000

Tudo isso parece indicar que posso apenas enviar um

sudo resize2fs /dev/sda1

e, em seguida, /dev/sda1 aumentará para se tornar 119,2 GiB sem necessidade de usar VBoxManage modifyhd <absolute path to file> --resize <size in MB>

Estou correto com essa suposição?

Atualização: fiz uma cópia de backup do VMDK e publiquei um

:~$ sudo resize2fs /dev/sda1

Este é o resultado:

resize2fs 1.42.13 (17-May-2015)
The filesystem is already 11718400 (4k) blocks long.  Nothing to do!

Preciso emitir um

sudo growpart /dev/sda 1

antes que resize2fs funcione?

    
por Daniel F 21.09.2017 / 18:29

1 resposta

2

Você precisa primeiro redimensionar a partição com as seguintes etapas:

  1. parted /dev/sda para inserir o prompt "(parted)"
  2. resizepart 1 para redimensionar a partição 1
  3. -0 redimensiona para o final do disco. - indica que deve contar a partir do final do disco, não o início. Isso faz com que -0 seja o último setor do disco - o que é adequado quando você quer torná-lo o maior possível. Etapa 4:
  4. quit para sair do parted

A meta informação do sistema de arquivos precisa indicar o tamanho do disco, e resize2fs atualiza isso. Assim, após a expansão, execute resize2fs /dev/sda1 .

É altamente recomendável fazer isso no modo de usuário único / modo de recuperação ou com o sistema de arquivos montado no modo somente leitura. Você pode montá-lo somente para leitura por mount -o remount,ro /dev/sda1 .

A extensão é possível com o sistema de arquivos no modo RW, mas aumenta as chances de perda de dados. Como esta é uma VM, e você pode fazer um backup facilmente, fazer isso com o RW montado no volume pode fazer sentido.

Adendo: execute comandos como root para o efeito desejado.

    
por vidarlo 21.09.2017 / 20:53