martes, 24 de julio de 2018

Ampliar LVM sobre disco virtual (libvirtd) usando GPARTED

Hola!
Esta es mi receta para ampliar discos discos virtuales con LVM montado. Espero que os sea útil!

1) parar mv y haz una copia del disco.

2) con el comando vgs vemos que grupos de volumenes existen:
    VG #PV #LV #SN Attr VSize VFree
    vgdata 1 3 0 wz--n- 219,09g 37,44g
    vgsys 1 3 0 wz--n- 16,61g 4,00m

3) con el comando lvs vemos que volumenes logicos existen:
    LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
    datos2 vgdata -wi-ao---- 167,00g
    home vgdata -wi-ao---- 4,88g
    opt vgdata -wi-ao---- 9,77g
    root vgsys -wi-ao---- 9,77g
    tmp vgsys -wi-ao---- 1,95g
    var vgsys -wi-ao---- 4,88g

4) con el comando vgs vemos que discos hacen referencia a los grupos de volumenes
existentes:
    PV VG Fmt Attr PSize PFree
    /dev/vda2 vgsys lvm2 a-- 16,61g 4,00m
    /dev/vda3 vgdata lvm2 a-- 219,09g 37,44g
5) ampliamos la imagen del disco del servidor (desde el host)

> qemu-img resize /path/to/server.qcow2 +200GB

6) modificamos el servidor para que arranque desde cd (desde el host):

> virsh edit server > con este comando editamos su configuración
<boot dev='cdrom'/> > añadimos una unidad de cdrom
<boot dev='hd'/>
<disk type='file' device='cdrom'> enlazamos la imagen iso de GParted a la unidad de cdrom
<driver name='qemu' type='raw'/>
<source file='/opt/ISO/gparted-live-0.26.0-2-i686.iso'/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' unit='0'/>
</disk>

7) iniciamos de nuevo el servidor, booteará desde la iso de GParted

8) Veremos el nuevo espacio como "unallocated" , lo movemos hasta poder añadirlo al disco que deseemos (el que haga referencia al grupo de volumenes que deseamos ampliar)

9) eliminamos la configuración del servidor para que no vuelva a arrancar desde cd (eliminando lo añadido en el paso 6) y reiniciamos el servidor

10) creamos el nuevo volumen logico, datos2 en este caso y lo asignamos al grupo que deseemos, en este caso vgdata.

> lvcreate --size 167G --name datos2 vgdata

11) creamos el sistema de archivos en el volumen logico:

> mkfs.ext4 /dev/mapper/vgdata-datos2

12) modificamos el fichero /etc/fstab para montar la nueva unidad

> /dev/mapper/vgdata-datos2 /datos2 ext4 defaults 1 2

13) creamos el directorio /datos2 donde se montara el fs

14) montamos el filesystem

> mount -a



Documentación:
http://www.randomhacks.co.uk/how-to-resize-a-qcow2-harddrive-images/
http://www.vilecha.com/hellguest/lvm2_creacion.asp
http://www.naturalborncoder.com/virtualization/2014/12/05/increasing-the-size-of-a-qcow2- image-under-kvm/
https://www.rootusers.com/use-gparted-to-increase-disk-size-of-a-linux-native-partition/