¿Cómo puedo cambiar el tamaño de una partición LVM? (es decir, volumen físico)

89

Quiero reducir mi segunda partición (LVM), para crear una nueva partición en el espacio recién liberado. Estoy usando el Live CD para hacerlo, porque sé que no puedo cambiar el tamaño / mover esta partición mientras está en uso. Cuando abrí GParted en el Live CD, me di cuenta de que no podía cambiar el tamaño de la partición, porque cuando hago clic derecho, la opción "cambiar tamaño / mover" está desactivada.

Traté de desmontarlo, para "flojo" desmontarlo ( umount -l /dev/sda2) pero no funcionó.

Una captura de pantalla de GParted:

Captura de pantalla de GParted

Idan Yadgar
fuente

Respuestas:

49

Parece que hay muchos resultados en Google donde las personas tuvieron problemas similares. Un ejemplo:

Haga una copia de seguridad de todos sus datos importantes antes de intentar esto. Siempre suponga que puede perder todos sus datos al cambiar el tamaño de las particiones.

Reducir LVM sin dataloss

Este hilo del foro sugiere el siguiente procedimiento, en este ejemplo reducimos una partición de 10G a 9G:

Primero, desmontamos.

sudo umount /dev/vg_blah/lv_blah

Verifica el sistema de archivos.

sudo e2fsck -f /dev/vg_blah/lv_blah

Cambiar el tamaño del sistema de archivos y el volumen lógico. Hacer esto en un solo paso puede evitar errores que causen daños. (Tenga en cuenta que el parámetro lvreduce se -Linterpreta Gcomo 2 ^ 30 bytes y gcomo 10 ^ 9 bytes).

sudo lvreduce --resizefs -L 9G /dev/vg_blah/lv_blah

(opcional) Elimine una unidad física del grupo de volúmenes si lo desea (si ahora tiene una unidad no utilizada).

sudo vgreduce vg_blah /dev/sdxy

Todo el crédito va a brianmcgee .

Nota: vgreducefallará cannot resize to xxxxx extents as later ones are allocatedsi tiene otro lv al final del disco: tuve un intercambio lv, que eliminé. Consulte ¿Cómo reducir los volúmenes lógicos y físicos de Ubuntu LVM? por ayuda en esa situación.

pzkpfw
fuente
1
e2fsck -f /dev/vg_blah/lv_blahdevuelve: "e2fsck: ¿Dispositivo o recurso ocupado al intentar abrir / dev / sda2 Sistema de archivos montado o abierto exclusivamente por otro programa?", lo mismo con resize2fs ...
Idan Yadgar
12
Falta la respuesta sobre cómo cambiar el tamaño del volumen físico. Además, recomiendo combinar los dos pasos de cambio de tamaño en uno solo lvreduce -r.
Flimm
44
Además, debe darse cuenta de que 1Ga lvreducees 1000000000 bytes, mientras que a resize2fses un gibibyte. Si desea pasar 1 gibibyte a lvreduce, use 1gen su lugar.
Flimm
1
Usted no usa vgreduce; eso es para eliminar un pv de un grupo de volúmenes.
psusi
2
Sospecho fuertemente que lvreduceusa G = gibibyte en modo diferencial. Ciertamente lo hace en modo absoluto. Sus páginas de manual están mal escritas y no explican qué significan sus unidades, lo que considero que raya en negligencia criminal.
Urhixidur
45

Puede reducir / extender un volumen lógico muy fácilmente con una herramienta de interfaz gráfica de usuario: system-config-lvm. Como system-config-lvmno viene preinstalado, una vez arrancado desde un live-cd, debe instalarlo:

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sudo apt-get update
sudo apt-get install system-config-lvm

Una vez que esté instalado, ejecute el programa, seleccione el volumen lógico que desea cambiar en el panel izquierdo, haga clic en 'Editar propiedades'.

GUI del programa principal de gestión de volumen lógico

¡Ahora cambie los parámetros como desee!

Ventana Editar volumen lógico

Algo bueno system-config-lvmes que no le permitirá seguir adelante si el nuevo tamaño de partición es más pequeño que todos sus datos existentes combinados (acabo de probar esto y lo vi por mí mismo).

Referencias

  1. Tutorial de How-To Geek (este es el origen de las imágenes).
  2. La guía completa de Red Hat para el programa.
Cao Minh Tu
fuente
2
La GUI es definitivamente el camino a seguir, sin embargo, es probable que deba ejecutarla desde un CD en vivo.
Mike
10
¿Por qué es system-config-lvmmás riesgoso que lvresizeo lvresize -r?
Thufir
1
También puede probar blivet-gui ( github , Ubuntu PPA ), el administrador de particiones de próxima generación que maneja unidades LVM.
bain
55
Tenga en cuenta que system-config-lvm usa unidades de potencia de 1024, a pesar de usar la redacción (incorrecta) 'gigabyte'. Realmente debería hacer Me gusta palimpsest(también conocido como Utilidad de Discos) y especificar su significado en bytes inequívocos.
Urhixidur
44
@Suncatcher en 17.10 y 18.04 tienes que agregar el repositorio Xenial. sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu xenial universe"
m93a
24

Nota : Debe ejecutar casi todos los siguientes comandos con un Live CD. A veces, quiere que desmontes la partición que ya está montada en / (en este caso, no puedes desmontarla).

Estos son todos los pasos necesarios para cambiar el tamaño de una partición LVM o LVM2:

sudo lvresize --verbose --resizefs -L -150G /dev/mapper/ubuntu

sudo pvresize --setphysicalvolumesize {some-space} /dev/sda5

Si el segundo comando produce algo como esto:

/dev/sda5: cannot resize to xxxxx extents as later ones are allocated.

Luego, debe reorganizar el espacio no asignado al final del LVM. Eso significa después de la partición root y swap_1. Entonces, inicialmente, debe verificar la información de los volúmenes físicos con el siguiente comando:

sudo pvs -v --segments /dev/sda5

Esto mostrará la salida como:

/dev/sda5 ubuntu lvm2 a-- 698.04g 150g   0 xxx root 0 linear /dev/sda:0-rrr
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx sss 0 free                          
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g zzz ttt swap 0 linear /dev/sda5:yyy-www

Tenga en cuenta el aaa-www . Use el siguiente comando para eliminar la fragmentación externa:

sudo pvmove --alloc anywhere /dev/sda5:yyy-www

Ahora, veamos cómo va:

sudo pvs -v --segments /dev/sda5

Esto mostrará la salida como (tenga en cuenta los cambios):

/dev/sda5 ubuntu lvm2 a-- 698.04g 150g   0 xxx root 0 linear /dev/sda:0-rrr
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx ttt swap 0 linear /dev/sda5:xxx-sss
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy www 0 free

Después de eso, use GParted y cambie el tamaño del LVM al área máxima utilizada y el resto estará en el espacio no asignado. Disfrutar...

UJJAL
fuente
16

Recomendaría otra herramienta GUI: KVPM . Combina la funcionalidad de GParted y system-config-lvm. Además, permite algunas operaciones en particiones vivas (montadas) que system-config-lvm no permite. Sin embargo, el volumen debe desmontarse para reducirse.

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Está en el repositorio del universo desde Ubuntu 12.04, así que solo hazlo sudo apt-get install kvpm

Nota: comience con derechos de root sudo kvpm

Kos
fuente
no está en el repositorio del universo:E: Unable to locate package kvpm
Jeff Puckett
Esto funcionó para mí, donde "system-config-lvm" no cargó ningún dispositivo / unidad / sistema de archivos conectado. Con la ventaja adicional de no tener que descargar un repositorio adicional y estar preconfigurado en mi máquina Ubuntu. Además, funcionó sobre Gparted ya que eso arrojaba errores sobre la reducción excesiva del sistema de archivos. (Estoy cambiando el tamaño de una tarjeta SD RetroOrangepi de 32 GB a 8 GB para fines de copia de seguridad)
BiTinerary
Se ve bien, pensé que podría querer un ~ 100M extra para todas las demás dependencias de K, si aún no está usando KDE
Xen2050
12

Solo la última versión de Gparted (0.14) admite cambiar el tamaño de los volúmenes físicos de LVM. La versión que se incluye con Ubuntu 12.10 o 13.04 no es compatible.

Aquí se explica cómo cambiar el tamaño de un volumen físico LVM:

  1. Si el grupo de volumen asociado con el volumen físico LVM no tiene suficiente espacio sin asignar, deberá hacer algo reduciendo un volumen lógico. Mira la respuesta de bigbadonk420 para obtener instrucciones sobre cómo hacerlo. También puede usar discos GNOME (incluidos con Ubuntu) para algunos de los pasos si prefiere una GUI.

  2. Grabe la última imagen .iso del sitio web de GParted y grábela en un CD o póngala en una memoria USB. Arranque desde el CD o la memoria USB. Alternativamente, puede compilar la última versión de GParted desde la fuente.

  3. Use GParted para cambiar el tamaño del volumen físico LVM. GParted no le permitirá reducir el volumen físico de LVM a un tamaño menor que el que permite el espacio no asignado.

Flimm
fuente
Gracias flimm Esperaba que 12.10 tuviera una versión suficientemente reciente de gparted. Su respuesta me señaló en la dirección correcta.
Martijn Heemels
1
Obtuve el último gparted, pero no me deja cambiar los tamaños de partición ... Tengo / dev / sda2 de tipo ext2 y debajo de eso, / dev / sda5 de tipo lvm2. Pero gparted dice tanto para el tamaño mínimo como para el máximo, y por lo tanto no me permite cambiarlo ... :-(
Paul
O el uso pvresizede la suite LVM2, ¿verdad?
203967
@Paul lo resolviste? Tengo exactamente el mismo problema: S
Castiblanco
@Castiblanco No lo resolví, terminé limpiando todo y reinstalando sin LVM. Para mí, una lección aprendida: no use LVM para instalaciones de escritorio estándar.
Paul
9

Encontré esta respuesta por accidente, pero al menos funcionó para mí. En mi caso, ya tenía un espacio en disco no asignado reservado después de la raíz, por lo que omito la parte de cómo obtener más espacio y solo explico cómo lo usé en la raíz sin arrancar.

NOTA: en lugar de usar gparted, probablemente sea mejor usarlo system-config-lvm. La próxima vez usaría esa en su lugar ... Mi versión separada era 0.18.

  1. Primero solía gpartedextender la partición raíz tanto como podía. Para mi sorpresa, solo extendió los tamaños físicos y no hizo nada a la parte lógica. Entonces el df -kcomando dijo que el disco estaba lleno todavía.
  2. lvresize -l +100%FREE /dev/ubuntu-vg/rootextiende la partición lógica tanto como puede. No es necesario verificar y calcular GB o bloques en varios métodos.
  3. resize2fs /dev/ubuntu-vg/root es entonces el tercer paso que hice: extiende el sistema de archivos al tamaño de la partición lógica.

El último paso se puede combinar en el segundo:

lvresize -l +100%FREE --resizefs /dev/ubuntu-vg/root

Timo Riikonen
fuente
Esto le permite reducir un volumen lógico, pero la pregunta del OP es acerca de reducir un volumen físico.
Stefan
me salvaste la vida
Quang Hà
1

Además de los @ bigbadonk420 's respuesta , en lugar de hacer lo siguiente:

resize2fs -p /dev/vg_blah/lv_blah 9G
lvreduce -L -1G /dev/vg_blah/lv_blah

Hacer:

lvreduce -r -L 9G /dev/vg_blah/lv_blah

Tenga en cuenta -rque reduce el sistema de archivos simultáneamente y es seguro.

eyeinsky
fuente
Pero eso no reduce el volumen físico .
Stefan
0

Advertencia sobre la respuesta más votada actualmente : para NO destruir su nueva instalación predeterminada con la opción LVM (14.04 Trusty Tahr), 1) lea toda la página, 2) elimine el intercambio 3) y probablemente modifique el comando para "Reducir el tamaño de la lógica volumen "así:

lvreduce -L -1g /dev/vg_blah/lv_blah

Recomiendo encarecidamente system-config-lvm.

usuario293759
fuente
Nuevamente, el OP quiere reducir un volumen físico .
Stefan
0

Para hacer eso usando GParted, haga clic derecho en dev / sda2 (que desea reducir). Seleccione 'Desactivar'. Ahora podrá cambiar el tamaño de su partición lvm.

Actualización: la solución @Cao Min Tu es mucho mejor. Tuve algunos problemas con GParted después de cambiar el tamaño

Junaid
fuente