Ubuntu: cambie el tamaño de la partición raíz LVM (2?)


10

Tengo una máquina virtual Ubuntu ejecutándose en VirtualBox 2.2.4, y la creé en un disco virtual de 8 gb que es demasiado pequeño.

Entonces, estoy tratando de aumentar el tamaño del disco. Hasta ahora, he hecho esto:

  1. Creó un nuevo disco virtual más grande
  2. Se agregó el segundo disco a la máquina.
  3. Usé CloneZilla para clonar el primer disco en el segundo disco
  4. Se eliminó el primer disco.
  5. Arrancado desde el segundo (disco más grande)

Pero ahora todavía estoy atascado con una partición de 8 gb en mi nuevo disco virtual de 100 gb.

¿Cuál es el camino más fácil desde aquí para tener una partición de 100 gb? :) Creo que GPart puede cambiar el tamaño de las particiones, pero no parece admitir particiones LVM2, que parece ser el mío.

Gracias

  • Alex

Respuestas:


5

En general, aquí se explica cómo cambiar el tamaño de los volúmenes LVM:

Digamos que /mountpointestá encendido /dev/VolGroup00/mountpoint. Puede averiguar esto al revisar /etc/fstabo al ejecutar mount -l.

Es posible que también deba cambiar el tamaño del volumen físico real, dependiendo de su configuración. Úselo pvdisplaypara averiguar si es lo suficientemente grande, y úselo pvresize(al igual que a lvresizecontinuación) si es necesario.

umount /mountpoint
lvresize -L +<HOW MUCH BIGGER> /dev/VolGroup00/mountpoint
e2fsck -f /dev/VolGroup00/mountpoint
resize2fs /dev/VolGroup00/mountpoint <TOTAL SIZE>
mount /mountpoint

Esto equivale a desmontar, cambiar el tamaño del LVM subyacente y luego cambiar el tamaño de la partición ext3 real.

Algunas cosas a tener en cuenta:

  1. Obviamente jugar con /será diferente de una partición de datos. Es posible que necesite un disco de arranque como Sysrescuecd en lugar de Doing It Live. Vea también el comentario de Kristof a continuación: es posible que pueda hacer esto sin desmontar /.
  2. lvresize tiene algunas opciones de sintaxis diferentes, y reducir un volumen lógico probablemente dañará la partición superpuesta. Consulte sus páginas de manual locales para obtener más información.

Gracias, eso parece prometedor, ¿puede sugerirme un LiveCD que pueda usar que tenga herramientas LVM?
user12259

Sysrescuecd es agradable ( sysresccd.org )
Zoredache

55
ext2 / 3/4 admite el crecimiento en vivo de su sistema de archivos. No necesita desmontar o e2fsck sus particiones. resize2fs también es lo suficientemente inteligente como para determinar el tamaño de la partición (o volumen lógico) en la que se encuentra. Si no especifica un tamaño, crecerá para llenar todo el espacio disponible.
Kristof Provost

Intenté "sudo resize2fs / dev / sda1" y respondió: "resize2fs: Dispositivo o recurso ocupado al intentar escribir / dev / sda1 No se pudo encontrar el superbloque del sistema de archivos válido"
user12259

1
lvresize no cambia el tamaño del volumen físico, así que ¿no necesito hacer eso primero?
user12259

2

Había una (y solo una) forma de hacer esto y probé una miríada.

Primero, clone la máquina virtual invitada de ubuntu en virtualbox haciendo clic derecho y yendo a "clonar". Una vez que el clon haya terminado, extienda el vdi clonado usando (En el sistema operativo host)

VBoxManage modifyhd "name_of_cloned_vdi" --resize "size_of_new_root_partition_in_MB"

Luego, siga los pasos en esta publicación al pie de la letra (se refiere a VMware como una plataforma, pero ignore eso)

http://blog.campodoro.org/?p=36

Esto creará otro lvm exactamente equivalente en tamaño al espacio extra que ha agregado y lo agregará al final del existente.

Una vez que haya verificado que todo está bien, ¡puede eliminar la VM original y promover su clon!

No es necesario meterse con fdisk y preocuparse por eliminar o arruinar la partición incorrecta.

¡Debo haber roto unos 4 SO clonados hasta que encontré esta solución!


2

Yo solo hizo esto y tenía la misma pregunta que tenías, pero en lugar de crear una nueva LVM y agregarlo al grupo de volumen, el lado TOC de mí quería cambiar el tamaño de mi LVM actual y manteniendo así una única partición en el nombre de la simplicidad. Nota: ¡No creo que esto sea posible si el espacio libre no sigue inmediatamente la partición que está redimensionando!

Para hacerlo, necesitará una herramienta que pueda eliminar y crear tablas de particiones. Como uso GPT, esto significaba que necesitaba gdisk . También necesitará hacer esto con la partición desmontada, por lo que es posible que desee iniciar en un LiveCD de Ubuntu y ejecutar esto desde allí.

Los siguientes pasos en negrita son, por ejemplo, LVM / dev / mms / root en dispositivo / dev / sda , donde quería expandir la partición / dev / sda3 para ocupar mi nuevo espacio libre.

NOTA : Estos son potencialmente muy destructivos, ¡así que asegúrese de que sus entradas sean correctas!

  1. gdisk / dev / sda (¡asegúrese de ingresar el dispositivo correcto!) Esto lo lleva a gdisk donde puede realizar los siguientes pasos en orden
    1. p : imprime la información de la partición actual (para referencia)
    2. d - para eliminar una tabla de particiones
    3. 3 - el número de dispositivo que representa la tabla de particiones que desea eliminar (¡importante!)
    4. n - para crear una tabla de particiones
    5. 3 : el número de dispositivo que representa la tabla de particiones que desea crear (probablemente quiera usar lo mismo que eliminó en el paso 3)
    6. p : imprime la información de su partición actual (nuevamente como referencia, compárela con la que comenzó)
    7. w : guarda los cambios en el disco (¿estás seguro?)
  2. pvresize / dev / sda3 : es posible que deba reiniciar antes de hacer esto para que su sistema operativo reconozca el nuevo tamaño de partición
  3. pvdisplay : imprime su información actual (¡debería mostrar que está usando todo el espacio ahora!)
  4. lvresize -l + 100% FREE / dev / mms / root : cambia el tamaño de mi LVM para ocupar el 100% de mi espacio recién descubierto
  5. e2fsck -f / dev / mms / root - realiza una verificación de integridad
  6. resize2fs -p / dev / mms / root : cambia el tamaño del sistema de archivos para ocupar su LVM completo

¡Después de hacer lo anterior y reiniciar en el sistema operativo redimensionado, todo funcionó como se esperaba y tuve todo mi espacio libre adicional a mi disposición!

Referencias adicionales que solía resolver todo esto:

http://www.jethrocarr.com/2012/08/10/gdisk-oh-glorious-gdisk/ http://people.virginia.edu/~ll2bf/docs/quickref/lvm.html


1

Vea una respuesta relacionada aquí.

(extracto)

Cambiar el tamaño del volumen físico:

pvresize --verbose --test /dev/md0

Cambiar el tamaño del volumen lógico:

lvresize --verbose -L <SIZE> --test /dev/VG1/LV1

Y finalmente, redimensionando ext3 FS:

resize2fs /dev/VG1/LV1

Cuando hago lvresize, aparece el error "No se pudo suspender el root"
user12259

Intenté: "sudo lvresize --verbose -L 40G / dev / ubuntu / root"
user12259

ok, me fijo que con "sudo modprobe dm-mod", ahora puedo lvresize éxito
user12259

fdisk -lmuestra que tengo 54 GB disponibles, pero después de ejecutar aparece pvresize /dev/sda2; lvresize -L 50G /dev/mapper/VolGroup-lv_rootel error "Espacio libre insuficiente: se necesitan 588 extensiones, pero solo 0 disponibles". pvdisplaymuestra que mi volumen físico no cambió de tamaño.
Cerin

Realmente deberías hacer una nueva pregunta. Los comentarios de una vieja pregunta no son la mejor manera de obtener ayuda.
Zoredache

1

Tenga en cuenta que en realidad no necesita usar una herramienta de clonación como CloneZilla aquí, puede colocar una partición en el nuevo disco virtual (opcional) y luego inicializar eso (o el disco virtual) en LVM usando el pvcreatecomando. Luego, use vgextendpara agregar eso al grupo de volúmenes que admite su volumen lógico, luego use vgreducepara eliminar el disco virtual original del grupo de volúmenes. Esto realizará una migración, y se puede hacer en vivo mientras el volumen lógico está en uso, esta es la belleza de la virtualización de almacenamiento. Una vez que haya terminado, solo necesita extender el volumen lógico como se indicó anteriormente, lo que también podría hacerse en vivo con sistemas de archivos más modernos que ext3.


1

I. Si su HDD virtual tiene un tamaño fijo, no puede hacerlo más grande. En este caso, primero debes clonarlo.

(1) Clone el HDD sobre la GUI de VB: File -> Virtual Media Manager... -> [tab] Hard Drives -> select your HDD -> [button] Next -> [button] Next -> select "Dynamically allocated" on the step "Storage on physical hard drive"-> ...

o en la línea de comando:

# VBoxManage clonehd "/path/to/the/HDD.vdi" "/path/to/the/HDD_NEW.vdi"

(2) Agregue el nuevo HDD a la lista de los HDD conocidos.

(3) En la configuración de la máquina VB, elimine el HDD antiguo de la lista VDI en el Controlador y agregue el nuevo en su lugar.

II Cambiar el tamaño del disco duro

(1) Cambiar el tamaño del nuevo HDD.

# VBoxManage modifyhd 463c7bd4-9b9c-4cf8-bee4-e14e10c0d462 --resize 25600

Obtienes la clave con el VBoxManage list hddscomando.

III. Añadir nuevo espacio asignado.

(1) Agregue un ISO GParted como nuevo medio debajo Machine Settings -> Storage -> [rightclick] Controller IDE -> Add CD / DVD Device -> ...y seleccione la Live CD/DVDcasilla de verificación.

(2) Inicie la VM y agregue el espacio libre no asignado a su partición de trabajo.

(3) Detener la VM.

(4) Separe el GParted ISO.

¡Disfrutar! :)



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.