Hoy, por fin, lo hice sin tener errores, y es que me saltaba un paso... y nunca busque el porque, el reboot para que mdadm busque de nuevo los volumenes logicos. Quizas haya otro modo, pero a mi asi me funcionó perfecto.
Convenciones: negrita comando, italica salida de comando
Aclaro que esto es para los admin, dado que el cliente nunca ve esto, es transparente para el y para los usuarios que usen VPS (Boxes Gnome3 o virt-manager) en sus pc a modo de maquinas virtuales, es mejor aprovechar (para mi) que tenemos lectora y estamos ahi, para usar particiones comunes y no volumenes logicos que dependen de un demonio para ser escaneados y tal.
Bueno, empecemos por el caso mas basico, tenemos un VPS con 2 particiones, / y swap, primarias en Ext3 o Ext4, y la / se nos quedo chica con apenas 1Gb libre y es de 5GB totales usando 1GB de swap, que hacemos?.
Primero que nada, apagamos la VM, hacemos backup del .img usando cp -p -v (verbose mode y preservar permisos) a por ejemplo a /tmp o bien mas seguro a /root/.
Entonces:
1.- virsh shutdown devuan
2.- sync
3.- cp -p -v /var/lib/libvirt/images/devuan.img /root/ && sync
Luego de eso, hacemos esto:
qemu-img resize /var/lib/libvirt/images/devuan.img +25G
NOTA: Si quieren antes del resize pueden iniciar y chequear el tamaño total, haciendo esto: vgdisplay VolGroup
Con eso, añadimos 25Gigas al disco, se hace de inmediato asi que no se preocupen por el hecho de que sean 25GB o 40GB.
Luego de eso, iniciamos la maquina:
virsh start Devuan
Luego de iniciada, ingresamos por ssh o consola, segun como lo usemos.
Entonces, con el comando fdisk -l vamos a ver que nos dice que la particion 2 o 3, segun hayan tenido, no termina en el ultimo cilindro disponible. Esto es porque hay espacio de mas que no esta dentro de ningun formato ni volumen.
Suponiendo que el espacio adicional o sea, la particion que teniamos era /dev/vda2 ahora, tenemos un vda3, entonces, hacemos:
cfdisk /dev/vda
NOTA: Pueden usar fdisk o lo que quieran, a mi me gusta cfdisk.
Van a ver un espacio libre del mismo tamaño que añadieron con el qemu-img (25GB), a ese espacio, le ponen nueva, particion primaria y cuando seleccionen el tipo ponen 8e que es LVM.
Graban y salen de cfdisk. Acto seguido, le dan reboot a la VM con el comando reboot.
Una vez reiniciada, ejecutan esto:
pvcreate /dev/vda3 (para que se cree el volumen fisico)
Añadimos el volumen fisico:
vgextend VolGroup /dev/vda3
Volume group "VolGroup" successfully extended
Miramos el Volumen y determinamos el espacio libre para asignar:
vgdisplay VolGroup
Alloc PE / Size 1154 / 4,51 GiB
Free PE / Size 6399 / 25,00 GiB <- Los 25GB que añadimos
Asignaremos el espacio disponible al volumen (el numero en negrita son los bloques libres, en realidad segun la manpage son extents)
lvextend -l +6399 /dev/mapper/VolGroup-lv_root
Size of logical volume VolGroup/lv_root changed from 3,54 GiB (906 extents) to 28,54 GiB (7305 extents).
Logical volume lv_root successfully resized
Se realiza el resize al volumen para que tome el espacio asignado como disponible:
resize2fs -p /dev/mapper/VolGroup-lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/mapper/VolGroup-lv_root to 7480320 (4k) blocks.
El sistema de ficheros en /dev/mapper/VolGroup-lv_root tiene ahora 7480320 bloques.
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
29G 2,0G 25G 8% /
tmpfs 313M 0 313M 0% /dev/shm
/dev/vda1 477M 15M 437M 4% /boot
lvdisplay
--- Logical volume ---
LV Path /dev/VolGroup/lv_root
LV Name lv_root
VG Name VolGroup
LV UUID RWO7eo-pcmS-bm48-fbU5-tCCo-bWpD-CPo62S
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2012-10-28 02:57:27 -0300
LV Status available
# open 1
LV Size 28,54 GiB
Current LE 7305
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
Como ven en segments nos dice 2, quiere decir que 2 volumenes logicos integran un volumen logico total de 25GB (es un caso real este asi se ve claro).
Y luego:
vgdisplay
--- Volume group ---
VG Name VolGroup
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 29,50 GiB
PE Size 4,00 MiB
Total PE 7553
Alloc PE / Size 7553 / 29,50 GiB
Free PE / Size 0 / 0
VG UUID lMFT5o-XX26-vB2L-KFHb-3Huj-d4Pi-qNmsW1
Como ven, ahora en Free PE / Size vemos 0 / 0 a diferencia de antes, es decir, los 7553 bloques asignados son los 29.50GiB que tenemos ahora.
Esto es todo, espero que les sirva, a mi me sirve de anotador jeje.
Convenciones: negrita comando, italica salida de comando
Aclaro que esto es para los admin, dado que el cliente nunca ve esto, es transparente para el y para los usuarios que usen VPS (Boxes Gnome3 o virt-manager) en sus pc a modo de maquinas virtuales, es mejor aprovechar (para mi) que tenemos lectora y estamos ahi, para usar particiones comunes y no volumenes logicos que dependen de un demonio para ser escaneados y tal.
Bueno, empecemos por el caso mas basico, tenemos un VPS con 2 particiones, / y swap, primarias en Ext3 o Ext4, y la / se nos quedo chica con apenas 1Gb libre y es de 5GB totales usando 1GB de swap, que hacemos?.
Primero que nada, apagamos la VM, hacemos backup del .img usando cp -p -v (verbose mode y preservar permisos) a por ejemplo a /tmp o bien mas seguro a /root/.
Entonces:
1.- virsh shutdown devuan
2.- sync
3.- cp -p -v /var/lib/libvirt/images/devuan.img /root/ && sync
Luego de eso, hacemos esto:
qemu-img resize /var/lib/libvirt/images/devuan.img +25G
NOTA: Si quieren antes del resize pueden iniciar y chequear el tamaño total, haciendo esto: vgdisplay VolGroup
Con eso, añadimos 25Gigas al disco, se hace de inmediato asi que no se preocupen por el hecho de que sean 25GB o 40GB.
Luego de eso, iniciamos la maquina:
virsh start Devuan
Luego de iniciada, ingresamos por ssh o consola, segun como lo usemos.
Entonces, con el comando fdisk -l vamos a ver que nos dice que la particion 2 o 3, segun hayan tenido, no termina en el ultimo cilindro disponible. Esto es porque hay espacio de mas que no esta dentro de ningun formato ni volumen.
Suponiendo que el espacio adicional o sea, la particion que teniamos era /dev/vda2 ahora, tenemos un vda3, entonces, hacemos:
cfdisk /dev/vda
NOTA: Pueden usar fdisk o lo que quieran, a mi me gusta cfdisk.
Van a ver un espacio libre del mismo tamaño que añadieron con el qemu-img (25GB), a ese espacio, le ponen nueva, particion primaria y cuando seleccionen el tipo ponen 8e que es LVM.
Graban y salen de cfdisk. Acto seguido, le dan reboot a la VM con el comando reboot.
Una vez reiniciada, ejecutan esto:
pvcreate /dev/vda3 (para que se cree el volumen fisico)
Añadimos el volumen fisico:
vgextend VolGroup /dev/vda3
Volume group "VolGroup" successfully extended
Miramos el Volumen y determinamos el espacio libre para asignar:
vgdisplay VolGroup
Alloc PE / Size 1154 / 4,51 GiB
Free PE / Size 6399 / 25,00 GiB <- Los 25GB que añadimos
Asignaremos el espacio disponible al volumen (el numero en negrita son los bloques libres, en realidad segun la manpage son extents)
lvextend -l +6399 /dev/mapper/VolGroup-lv_root
Size of logical volume VolGroup/lv_root changed from 3,54 GiB (906 extents) to 28,54 GiB (7305 extents).
Logical volume lv_root successfully resized
Se realiza el resize al volumen para que tome el espacio asignado como disponible:
resize2fs -p /dev/mapper/VolGroup-lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/mapper/VolGroup-lv_root to 7480320 (4k) blocks.
El sistema de ficheros en /dev/mapper/VolGroup-lv_root tiene ahora 7480320 bloques.
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
29G 2,0G 25G 8% /
tmpfs 313M 0 313M 0% /dev/shm
/dev/vda1 477M 15M 437M 4% /boot
lvdisplay
--- Logical volume ---
LV Path /dev/VolGroup/lv_root
LV Name lv_root
VG Name VolGroup
LV UUID RWO7eo-pcmS-bm48-fbU5-tCCo-bWpD-CPo62S
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2012-10-28 02:57:27 -0300
LV Status available
# open 1
LV Size 28,54 GiB
Current LE 7305
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
Como ven en segments nos dice 2, quiere decir que 2 volumenes logicos integran un volumen logico total de 25GB (es un caso real este asi se ve claro).
Y luego:
vgdisplay
--- Volume group ---
VG Name VolGroup
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 29,50 GiB
PE Size 4,00 MiB
Total PE 7553
Alloc PE / Size 7553 / 29,50 GiB
Free PE / Size 0 / 0
VG UUID lMFT5o-XX26-vB2L-KFHb-3Huj-d4Pi-qNmsW1
Como ven, ahora en Free PE / Size vemos 0 / 0 a diferencia de antes, es decir, los 7553 bloques asignados son los 29.50GiB que tenemos ahora.
Esto es todo, espero que les sirva, a mi me sirve de anotador jeje.
No hay comentarios:
Publicar un comentario