aumento del tamaño del disco en una máquina virtual, pero gdisk no quiere usar el nuevo espacio

aumento del tamaño del disco en una máquina virtual, pero gdisk no quiere usar el nuevo espacio

Tengo una VM con un disco virtual (visible como /dev/sdb) con un tamaño de 10G

El administrador aumentó el tamaño del disco virtual a 60G.

Reinicié la máquina y ahora veo que el disco es más grande.

root@DMZMHLX3:~# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
...
sdb      8:16   0   60G  0 disk 
└─sdb1   8:17   0   10G  0 part /app
...

Ahora me gustaría agregar otra partición:

gdisk me dice que el disco tiene un tamaño de 60G, pero que el último sector utilizable es un sector correspondiente al tamaño de imagen del disco antiguo de 10G:

root@DMZMHLX3:~# gdisk -l /dev/sdb
GPT fdisk (gdisk) version 1.0.1

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sdb: 125829120 sectors, 60.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): FCE659D1-3690-4C3C-93EC-79B51EE8556D
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 20971486
Partitions will be aligned on 2048-sector boundaries
Total free space is 4029 sectors (2.0 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048        20969471   10.0 GiB    8300  

El último sector utilizable debería ser algo así como 125829120 y no 20971486.

Entonces, aunque el tamaño de la imagen del disco ha aumentado y la VM ve el cambio, no sé cómo usar el espacio recién disponible.

fdisk me muestra:

root@DMZMHLX3:~# fdisk -l /dev/sdb
GPT PMBR size mismatch (20971519 != 125829119) will be corrected by w(rite).
Disk /dev/sdb: 60 GiB, 64424509440 bytes, 125829120 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: FCE659D1-3690-4C3C-93EC-79B51EE8556D

Device     Start      End  Sectors Size Type
/dev/sdb1   2048 20969471 20967424  10G Linux filesystem

Reconoce una falta de coincidencia:

La discrepancia en el tamaño de GPT PMBR (20971519! = 125829119) se corregirá mediante w(rite). Pero al intentar escribir fdisk falla:

Command (m for help): w
GPT PMBR size mismatch (20971519 != 125829119) will be corrected by w(rite).
fdisk: failed to write disklabel: Invalid argument
root@xxx:~# 

¿Cómo puedo solucionar este problema?

El objetivo final es aumentar el tamaño de la partición existente, pero incluso si pudiera agregar nuevas particiones, ya estaría feliz.

Respuesta1

De acuerdo con laCambiar el tamaño de la partición fdisk falla con un argumento no válidopost, parece que usasseparado(por ejemplo sudo parted -l) y déjalo "arreglar"El problema con la tabla de particiones que no cubre todo el disco o lo que sea.

Una vez que esa solución se aplica con esa herramienta para solucionar ese problema, simplemente avanza con el sudo fdisk /dev/sdb1comando y aparentemente lo ejecuta sudo resize2fs /dev/sdb1después para que se apliquen los cambios.

Importante: No olvide tener copias de seguridad completas del sistema antes de realizar cualquier cambio en la partición del disco.

Logré resolver esto de manera bastante simple. Instalé parted y cuando lo ejecuté me informó que la tabla de particiones no cubría el disco completo (obvio), por lo que me preguntó Reparar/Cancelar a lo que respondí con Reparar.

Aparentemente, eso funcionó, ya que pude modificar la partición al tamaño completo usando sudo fdisk /dev/vda, pero luego tuve que ejecutar sudo resize2fs /dev/vda3para aplicar los cambios.

Fuente

Además, hay consejos de otros sobre elCambiar el tamaño de la partición fdisk falla con un argumento no válidopublique en forma de respuestas y comentarios que también puedan resultarle útiles y beneficiosos.


Recursos de apoyo

Respuesta2

El cargo Extender una partición en un disco VMware en Linux tiene este procedimiento:

  • Reparar la mesa GPT con parte:sudo parted -l
  • Detenga cualquier servicio que acceda a estos discos y desmonte el disco, por ejemplo:

    sudo systemctl stop jenkins.service
    sudo systemctl stop apache2.service
    sudo umount /dev/sdb1
    

    Este paso se puede evitar arrancando desde el disco GParted, como se describe a continuación.

  • Extienda la partición desde fdisk:sudo fdisk /dev/sdb


Como ampliar el disco desde la VM requiere detener cualquier servicio que pueda estar usando el disco, esto se puede evitar iniciando la VM con Gpartido.

El artículo Utilice GParted para aumentar el tamaño del disco de una partición nativa de Linux describe todo el procedimiento en detalle.

Respuesta3

La razón es que GPT tiene una copia de seguridad de la tabla de particiones colocada al final del disco, por lo que incluso cuando el disco tiene un "nuevo extremo", la copia de seguridad no va automáticamente a él y limita los bloques utilizables a los antiguos. "área".

Simplemente puede "eliminar" (borrar) el GPT ( xy luego zen gdisk), luego crear uno nuevo con las mismas entradas de partición (ingresando el mismo inicio y, opcionalmente, el mismo final).

Si está realizando un arranque UEFI, debería estar bien eliminar también el MBR protector, ya que no debería haber ningún código de arranque que deba conservarse.

EDITAR: En realidad, parece que puedes simplemente xy luego een gdisk.

información relacionada