¿Cómo extender la partición CentOS 5 en VMware?


15

Tengo una máquina virtual CentOS 5 y agregué 20 GB más al tamaño del disco. ¿Cómo inicializo y extiendo el espacio disponible?

Intenté cargar GParted también, pero la unidad está bloqueada; ¿Cómo lo desbloqueo?

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Respuestas:


25

No podrá utilizar GParted porque el sistema de archivos está en LVM y GParted no lo admite.

Primero, HAGA UNA COPIA DE SEGURIDAD DE LA VM. Luego realice lo siguiente como "raíz" desde una línea de comando.

  1. Parece que ya ha reiniciado, pero por si acaso, asegúrese de que el núcleo reconozca el disco más grande

    echo 1 > /sys/class/scsi_disk/0:0:0:0/device/rescan
    
  2. Cambiar el tamaño de la segunda partición con fdisk

    fdisk /dev/sda
    p     # print current
    d     # delete
    - 2
    n     # create
    - p   # primary partition
    2     # partition number
    - default first/last cylinders
    t     # change partition id
    - 2
    - 8e (hex code)
    p     # print the current again to verify it's expanded
    w     # write changes
    
  3. Reinicia la máquina virtual

    shutdown -r now
    
  4. Una vez que esté de nuevo, cambie el tamaño del volumen físico LVM

    pvresize /dev/sda2
    
  5. Ahora cambie el tamaño del volumen lógico LVM ( NOTA: no puedo descifrar cuál es el nombre de sus volúmenes lógicos en función de las capturas de pantalla y, por lo tanto, supongo LogVol00. Puede determinar esto ejecutando lvdisplay).

    lvresize -l +100%FREE /dev/VolGroup00/LogVol00
    
  6. Finalmente, cambiemos el tamaño del sistema de archivos

    resize2fs -p /dev/VolGroup00/LogVol00
    
  7. Verifique que el sistema de archivos sea más grande

    df -h
    
  8. Hecho


No es necesario reiniciar después fdisk. Úselo partprobeallí. El SCSI-rescan es interesante: ¿funciona en un disco en uso?
Nils

1
Tarde a la fiesta: p He tenido problemas con partprobe no volver a leer las particiones que estaban en uso, así que termino reiniciando en casi todos los casos. El escaneo SCSI funciona bien con discos en uso. Puede ejecutar dmesgpara confirmar que el disco se ve como el nuevo tamaño
TheDude

triste que no hay nada como un scsi-rescan para xen-pv-disks. Pero ese es otro tema ...
Nils

1
¡Muchas gracias, tus instrucciones funcionaron perfectamente!
Chris Haas

¿Qué debería estar buscando después del paso 1 (echo & reescan)? ¿Cómo puedo saber si el núcleo reconoce el espacio extra o no?
Jeff

4

Los pasos a continuación extendieron mi partición de 12G a 26GB en un VMWare EXSi 5.5 con Centos 6 EXT4 VPS.

1) Identifique el nombre del dispositivo, que es por defecto / dev / sda, y confirme el nuevo tamaño ejecutando el comando:

# fdisk -l

2) Obtenga una lista de particiones para el dispositivo / dev / sda:

# ls -al /dev/sda*

brw-rw---- 1 root disk 8, 0 Dec 29 15:32 /dev/sda
brw-rw---- 1 root disk 8, 1 Dec 29 15:32 /dev/sda1
brw-rw---- 1 root disk 8, 2 Dec 29 15:32 /dev/sda2

3) Crear nueva partición primaria

# fdisk /dev/sda

Then type:
  n (enter) [create new partition]
  p (enter) [primary partition]
  3 (enter) [next available number from listed /dev/sda partitions in 2)
  (enter)   [start cylinder]
  (enter to use all available physical space) or specify size in +cylinders, +size{K,M,G}
  t (enter) [change partition type]
  3 (enter) [selecting /dev/sda3 partition]
  8e (enter) [this sets partition type to Linux LVM or type L then enter to see list of types] 
  w (enter)

  The partition table has been altered!

4) Reinicie Centos 6.X luego vuelva a iniciar sesión con privilegios de root

# reboot

5) Verifique que la nueva partición esté lista y escriba '8e':

# fdisk -l

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        2089    16264192   8e  Linux LVM
/dev/sda3            2089        3916    14678054   8e  Linux LVM

6) Crear volumen físico:

# pvcreate /dev/sda3

Physical volume "/dev/sda3" successfully created

7) Averigüe el nombre del grupo de volumen:

# vgdisplay

--- Volume group ---
VG Name               vg_app1
...

8) Extiende el volumen físico:

# vgextend vg_app1 /dev/sda3

Volume group "vg_app1" successfully extended

9) Extienda el grupo de volumen existente al nuevo volumen físico (+ 100% GRATUITO puede modificarse al tamaño deseado). Como estamos extendiendo la partición raíz, apuntamos a lv_root en el grupo de volúmenes vg_app1.

# lvextend -l +100%FREE /dev/vg_app1/lv_root

Size of logical volume vg_app1/lv_root changed from 11.63 GiB (2978 extents) to 25.63 GiB (6561 extents).
Logical volume lv_root successfully resized

10) Cambiar el tamaño del volumen raíz lógico:

# resize2fs /dev/vg_app1/lv_root

resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_app1/lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/vg_app1/lv_root to 6718464 (4k) blocks.
The filesystem on /dev/vg_app1/lv_root is now 6718464 blocks long.

Nota: Use ext2online en lugar de resize2fs si es una máquina virtual Red Hat.

11) Verifique el espacio disponible:

# df -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_app1-lv_root
                      26G   10G   14G  42% /
tmpfs                 9.8G     0  9.8G   0% /dev/shm
/dev/sda1             477M   88M  364M  20% /boot

2

Fácil. Entra en tu VM como root. Escriba "fdisk -l", si ya ve el nuevo tamaño del disco, bien.

Si no, intente partprobe, si aún no ve el nuevo tamaño del disco, reinicie.

Ahora fdisk /dev/sda

  1. Escriba su cilindro de inicio para la segunda partición.
  2. "Eliminar" la segunda partición
  3. Recrea la segunda partición, el mismo cilindro de arranque, el último cilindro para el final
  4. establecer el tipo de partición recreada en 8e (LVM)
  5. escriba los cambios y salga de fdisk
  6. partprobe
  7. pvresize /dev/sda2

Ahora su VG VolGroup00 tiene 20 GB más de espacio. Haz lo que quieras con él. Tal como lo haría en un sistema físico (cambie el tamaño de los LV y luego cambie el tamaño del FS, por ejemplo).


echo 1> / sys / class / scsi_disk / 0 \: 0 \: 0 \: 0 / device / rescan realiza la magia de
reescaneo

@andrej ¿Incluso si el disco está en uso?
Nils

Sí, es magia de bajo nivel en el lado del controlador, por lo que también funcionará en discos montados. Solo tiene que asegurarse de haber ampliado la unidad, para no restarle espacio.
andrej

2

Descargue el ISO de CD en vivo de Gparted . Luego adjunte el ISO a CentOS y arranque desde un CD en vivo (vaya a la configuración de la máquina virtual, seleccione "CD / DVD" y seleccione "Usar ISO" en el panel del lado derecho). Luego seleccione la partición que desea cambiar de tamaño. Haga clic en el menú de partición (barra de menú superior) y luego haga clic en "Cambiar tamaño". Luego seleccione "Aplicar todas las operaciones" del menú "Editar".


Cargué, pero la unidad tiene el ícono de candado. Adjunté la imagen
Andrew


¡Gracias! +1 para esta sugerencia de aplicación tipo Particion Magic.
jstuardo

0

Aquí estoy tomando una partición de muestra para expandir el disco de 5GB a 7GB sin perder datos. Puede cambiar según su espacio libre disponible.

Antes de aumentar el disco, tomé los siguientes detalles de la VM de Linux:

# df -h
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/sda3             6.8G  2.1G  4.5G  32% /
 /dev/sda1              99M   12M   83M  13% /boot
 none                  252M     0  252M   0% /dev/shm
 /dev/sdb1             5.0G   39M  4.7G   1% /mnt/test
# fdisk -s /dev/sdb
Disk /dev/sdb: 5368 MB, 5368709120 bytes
 255 heads, 63 sectors/track, 652 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
 /dev/sdb1               1         652     5237158+  83  Linux

Apague la VM ahora.

Ahora voy a aumentar el disco virtual existente ( /dev/sdb) desde VMware el símbolo del sistema. Nota: esta tarea debe realizarse solo cuando la VM está apagada.

Vaya a la ubicación de la ubicación del disco virtual.

# vmware-vdiskmanager -x  7Gb RedHatEnterprise_Linux_4-0.vmdk

Ahora crecerá el disco virtual a 7Gb

Ahora necesita encender la VM. Inicie sesión en la máquina virtual utilizando PuTTY o la consola como usuario root.

# df -h
Filesystem            Size  Used Avail Use% Mounted on
 /dev/sda3             6.8G  2.1G  4.5G  32% /
 /dev/sda1              99M   12M   83M  13% /boot
 none                  252M     0  252M   0% /dev/shm
 /dev/sdb1             5.0G   39M  4.7G   1% /mnt/test

Todavía muestra el tamaño anterior. Desmonta la partición que vas a aumentar.

# umount /dev/sdb1

Ejecute la reparación del sistema de archivos en el disco

# fsck -n /dev/sdb1

Ahora vamos a eliminar el diario del disco para convertirlo en un sistema de archivos ext2.

# tune2fs -O ^has_journal /dev/sdb1

Ahora comience a particionar /dev/sdbpara asignar el espacio aumentado a /dev/sdb1. Nota: No entre en pánico, no perderá datos aquí.

Estoy eliminando lo existente /dev/sdb1y recreando junto con el espacio libre disponible.

# fdisk /dev/sdb
Command (m for help): m
Command action
a   toggle a bootable flag
b   edit bsd disklabel
c   toggle the dos compatibility flag
d   delete a partition
l   list known partition types
m   print this menu
n   add a new partition
o   create a new empty DOS partition table
p   print the partition table
q   quit without saving changes
s   create a new empty Sun disklabel
t   change a partition’s system id
u   change display/entry units
v   verify the partition table
w   write table to disk and exit
x   extra functionality (experts only)

Command (m for help): p
Disk /dev/sdb: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         652     5237158+  83  Linux

Command (m for help): d
Selected partition 1

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-913, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-913, default 913):
Using default value 913

Command (m for help): p
Disk /dev/sdb: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         913     7333641   83  Linux

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

Ahora reinicie la máquina Linux para que surta efecto la partición (también podemos usarla partprobe, se recomienda estrictamente reiniciar la máquina).

# shutdown now -r

Ahora, una vez más, verifique el sistema de archivos extendido, si omite este paso, el resize2fscomando le recomendará ejecutarlo.

# e2fsck -f /dev/sdb1
e2fsck 1.35 (28-Feb-2004)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 13/655360 files (7.7% non-contiguous), 22121/1309289 blocks

Ahora cambie el tamaño del sistema de archivos.

# resize2fs /dev/sdb1
resize2fs 1.35 (28-Feb-2004)
Resizing the filesystem on /dev/sdb1 to 1833410 (4k) blocks.
The filesystem on /dev/sdb1 is now 1833410 blocks long.

Ahora verifique el sistema de archivos.

# fsck -n /dev/sdb1
fsck 1.35 (28-Feb-2004)
e2fsck 1.35 (28-Feb-2004)
/dev/sdb1: clean, 13/917504 files, 30538/1833410 blocks

Ahora recrea la partición con el formato ext3.

# tune2fs -j /dev/sdb1
tune2fs 1.35 (28-Feb-2004)
Creating journal inode: done
This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Reinicie la máquina Linux una vez para usar efectivamente el sistema de archivos ext3.

# shutdown -r now

Una vez más, inicie sesión en el cuadro de Linux usando previleges raíz. Ahora puede encontrar que la partición aumentó a 7 GB.

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             6.8G  2.1G  4.5G  32% /
/dev/sda1              99M   12M   83M  13% /boot
none                  252M     0  252M   0% /dev/shm
/dev/sdb1             6.9G   39M  6.7G   1% /mnt/test

¿Por qué eliminas y luego restableces el diario? Esto no es necesario, un sistema de archivos ext3 se puede extender tan bien como un sistema de archivos ext2. Además, te estás perdiendo una gran pieza del rompecabezas: la partición para extender está en LVM.
Gilles 'SO- deja de ser malvado'

0

Acabo de hacer esto, en VMware, con CentOS 6.4. La respuesta número 1 es correcta, pero me falta un paso que descubrí.

En Gparted, el mío también tenía el ícono del candado.

En la fila con la partición, que tiene el ícono de bloqueo, haga clic derecho y seleccione "desactivar". Eso hace que la cerradura desaparezca.

Luego puede hacer clic con el botón derecho y cambiar el tamaño de la partición.

Luego aplique el cambio.

Luego haga clic derecho y seleccione "activar".


0

Puede hacer que los pasos 5 y 6 sean uno agregando el -rinterruptor a lvresize. Eso hará que se lvresizeejecute resize2fsautomáticamente con los parámetros requeridos:

lvresize -r -l +100%FREE /dev/VolGroup00/LogVol00

¡Bienvenido a * nix StackExchange!

0

Para CentOS 6.6 en VMWare, hice lo siguiente para aumentar de 30 GB a 40 GB (tenga en cuenta que no estaba usando LVM, solo particiones de Linux nativas regulares (Id 83)):

NOTA: Primero haga una copia de seguridad de su VM en caso de que pierda datos. No debe perder datos si todo va bien.

  1. VMWare me dio una GUI cuando edité mi VM antes de comenzar para cambiar el tamaño de la cantidad disponible para la VM. Usé esto y lo extendí a 40 GB.
  2. Luego arranqué CentOS y ejecuté 'fdisk -l' como root. Pude ver el nuevo espacio. Luego ejecuté 'df -h' para verificar que mi vieja partición todavía estaba allí.
  3. Luego ejecuté 'cfdisk / dev / sda' y obtuve una GUI textual que mostraba mis particiones. En mi caso, la partición que quería cambiar de tamaño era / dev / sda3 y era la última partición.
  4. Luego usé cfdisk para eliminar la partición, luego creé una nueva con todo el espacio disponible. Escribí mis cambios y renuncié.
  5. Luego reinicié la VM (apague ahora -r).
  6. Después de reiniciar, usé 'resize2fs / dev / sda3', donde / dev / sda3 es la partición que recreé. Esto completó automáticamente el cambio de tamaño para mí.
  7. Ahora con 'df -h' veo el nuevo tamaño completo.

Información encontrada de una combinación de respuestas en esta página y en http://positon.org/resize-an-ext3-ext4-partition


0

Otro enfoque es crear un LVM distribuido en un disco completo en lugar de una partición.

En este caso, puede agregar un disco en caliente utilizando el siguiente método

blockscan --rereadpt /dev/<PV disk
pvresize /dev/<PV disk>
# The associated VG is now resized
lvresize /dev/mapper/<LV> -r -l +100%FREE

0

A veces necesitas hacer

echo "- - -" >  /sys/class/scsi_host/host<n>/scan

Depende de si está creando un nuevo disco o extendiendo uno existente en cuanto a qué tipo de reescaneo se requiere.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.