Los grupos de volumen son el equivalente a discos duros virtuales. Es decir un grupo de volumen estará formado por uno o varios dispositivos físicos o particiones.
Un grupo de volumen se crea de la siguiente forma:
[root@sal]#
vgcreate data_vg /dev/sda /dev/sdb /dev/sdc5
Volume group "data_vg" successfully created
[root@sal]#
De esta forma habremos creado un grupo de volumen, disco virtual, que estará formado por los dispositivos físicos /dev/sda, /dev/sdb y la partición /dev/sdc5.
Una vez hecho esto tendremos un directorio /dev/data_vg/
en el cual se irán creando los ficheros de dispositivo que hacen referencia a las particiones lógicas que creemos dentro de este grupo de volumen.
Podemos utilizar el comando vgscan para encontrar grupos de volumen:
[root@sal]#
vgscan
Reading all physical volumes. This may take a while... Found volume group "data_vg" using metadata type lvm2
[root@sal]#
También disponemos del comando vgdisplay que nos ofrece más información sobre los grupos de volumen encontrados:
[root@sal]#
vgdisplay
--- Volume group --- VG Name data_vg System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 6 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 1 Max PV 0 Cur PV 1 Act PV 1 VG Size 50,00 GB PE Size 4,00 MB Total PE 12799 Alloc PE / Size 10240 / 40,00 GB Free PE / Size 2559 / 10,00 GB VG UUID JJ3bIX-tqSM-r8Qd-nt0b-jWm9-7O4n-YiZYBK
[root@sal]#
Podemos ver información detallada sobre el grupo de volumen utilizando el flag -v.
[root@sal]#
vgdisplay -v
--- Volume group --- VG Name data_vg System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 6 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 1 Max PV 0 Cur PV 1 Act PV 1 VG Size 50,00 GB PE Size 4,00 MB Total PE 12799 Alloc PE / Size 10240 / 40,00 GB Free PE / Size 2559 / 10,00 GB VG UUID JJ3bIX-tqSM-r8Qd-nt0b-jWm9-7O4n-YiZYBK --- Logical volume --- LV Name /dev/data_vg/apache_lv VG Name data_vg LV UUID KCDc3t-jAHj-dNDK-I9qe-rF3B-oyya-Tg00JL LV Write Access read/write LV Status available # open 1 LV Size 20,00 GB Current LE 5120 Segments 1 Allocation inherit Read ahead sectors 0 Block device 253:0 --- Logical volume --- LV Name /dev/data_vg/mysql_lv VG Name data_vg LV UUID 0m24gV-H9BC-MdbV-vSNZ-r57x-gx37-zUy22q LV Write Access read/write LV Status available # open 0 LV Size 20,00 GB Current LE 5120 Segments 1 Allocation inherit Read ahead sectors 0 Block device 253:1 --- Physical volumes --- PV Name /dev/sdd PV UUID fKgSus-ts2y-vbR2-mTfy-YKPY-Aju1-C8SgV0 PV Status allocatable Total PE / Free PE 12799 / 2559
[root@sal]#
El comando vgs también nos ofrece información:
[root@sal]#
vgs
VG #PV #LV #SN Attr VSize VFree data_vg 1 2 0 wz--n- 50,00G 10,00G
[root@sal]#
Cuando nos quedamos sin espacio en un grupo de volumen siempre podemos ampliarlo utilizando más dispositivos físicos o particiones. Para ello utilizaremos el comando vgextend:
[root@sal]#
vgextend data_vg /dev/sdd
Volume group "data_vg" successfully extended
[root@sal]#
Podemos quitar dispositivos físicos de un grupo de volumen, siempre y cuando no esten en uso.
[root@sal]#
vgreduce data_vg /dev/sdd
Removed "/dev/sdd" from volume group "data_vg"
[root@sal]#
Para poder utilizar los grupos de volumen es necesario que esten activos. Utilizaremos el comando vgchange para activarlos y desactivarlos.
El comando vgchange se utilizar para modificar los parámetros de los grupos de volumen.
Hay ocasiones en las que es necesario mover discos entre diferentes máquinas. Por ejemplo imaginemos que tenemos varias instancias de BBDD en una máquina.
La configuración ideal para un entorno de este tipo es que cada instancia tenga sus datos en su propia partición y cada partición este en un grupo de volumen diferente. De esta forma si alguna de las instancias crece, en términos de potencia, siempre es posible cambiar alguna instacia a otra máquina.
En este caso tendremos que exportar el grupo de volumen que queremos mover a otra máquina y posteriormente importarlo.
Será necesario desactivar todas las particiones lógicas de ese grupo de volumen:
[root@sal]#
lvchange -a n /dev/data_vg/mysql_lv
[root@sal]#
vgexport data_vg
Volume group "data_vg" successfully exported
[root@sal]#
Ahora podemos mover los dispositivos físicos que forman el grupo de volumen data_vg a otra máquina e importarlos para poder utilizarlos:
[root@pal]#
vgimport -a
Volume group "data_vg" successfully imported
[root@pal]#