lvmadm -t
--- LVM Limits ---
VG Version 1.0
Max VG Size (Tbytes) 510
Max LV Size (Tbytes) 16
Max PV Size (Tbytes) 2
Max VGs 256
Max LVs 255
Max PVs 255
Max Mirrors 2
Max Stripes 255
Max Stripe Size (Kbytes) 32768
Max LXs per LV 65535
Max PXs per PV 65535
Max Extent Size (Mbytes) 256
VG Version 2.0
Max VG Size (Tbytes) 2048
Max LV Size (Tbytes) 256
Max PV Size (Tbytes) 16
Max VGs 512
Max LVs 511
Max PVs 511
Max Mirrors 5
Max Stripes 511
Max Stripe Size (Kbytes) 262144
Max LXs per LV 33554432
Max PXs per PV 16777216
Max Extent Size (Mbytes) 256
VG Version 2.1
Max VG Size (Tbytes) 2048
Max LV Size (Tbytes) 256
Max PV Size (Tbytes) 16
Max VGs 2048
Max LVs 2047
Max PVs 2048
Max Mirrors 5
Max Stripes 511
Max Stripe Size (Kbytes) 262144
Max LXs per LV 33554432
Max PXs per PV 16777216
Max Extent Size (Mbytes) 256
VG Version 2.2
Max VG Size (Tbytes) 2048
Max LV Size (Tbytes) 256
Max PV Size (Tbytes) 16
Max VGs 2048
Max LVs 2047
Max PVs 2048
Max Mirrors 5
Max Stripes 511
Max Stripe Size (Kbytes) 262144
Max LXs per LV 33554432
Max PXs per PV 16777216
Max Extent Size (Mbytes) 256
Min Unshare unit(Kbytes) 512
Max Unshare unit(Kbytes) 4096
Max Snapshots per LV 255
Para crear un VG con layout LVM 2.X podemos realizarlo de 2 formas
La mas practica,
<root@test2:/>vgcreate -V 2.0 -s 16m -S 512t /dev/vg02 /dev/disk/disk7
Volume group "/dev/vg02" has been successfully created.
Volume Group configuration for /dev/vg02 has been saved in /etc/lvmconf/vg02.conf
O la forma tradicional de crear un VG realizando el mkdir y el mknod especificando el numero de dispositivo
<root@test2:/>mkdir /dev/vg02
<root@test2:/>mknod /dev/vg02/group c 128 0x001000
<root@test2:/>vgcreate -V 2.0 -s 16m -S 512t /dev/02 /dev/disk/disk7
Volume group "/dev/02" has been successfully created.
Volume Group configuration for /dev/02 has been saved in /etc/lvmconf/02.conf
Ya podemos ver que la sintaxis del vgcreate y los devices numbers (major y minor) han cambiado con la implementación de LVM 2.0
Paso a explicar los flags del vgcreate
-V indica la version de VG, al momento son 1.0, 2.0, 2.1 y 2.2 el default es 1.0
-s indica el tamaño del physical extent, en las versiones 1.0 de LVM su valor default es 4, en versiones 2.X es un parametro requerido a la hora de crear el VG
-S Valido solo para LVM 2.x e indica el tamaño máximo del VG, en el ejemplo anterior tamaño máximo que puede crecer el VG es de 512 Terabytes. Esta opción acepta los sufijos m(mega), g(giga), t(tera) y p(peta)
Otra opción muy ventajosa que provee el vgcreate al generar VGs con el nuevo layout es si queremos hacer un VG de gran tamaño, nos puede sugerir el tamaño mínimo de PE. Dado que hay una relación entre le tamaño del PE y el tamaño máximo del VG.
El comando funciona en 2 modalidades, podemos usarlo conjunto a la opcion -s o -S, con lo cual podemos ver el tamaño máximo que puedo direccionar dado un tamaño de PE o bien puedo especificar el tamaño máximo de VG y ver el tamaño sugerido de PE para direccionar ese máximo.
Por ejemplo,
Aquí obtengo el tamaño máximo de VG que puedo direccionar con un PE de 8MBs
<root@test2:/>vgcreate -V 2.0 -s 8m -E
Max_VG_size=256t:extent_size=8
Ahora corro el comando a la inversa, es decir si quiero un VG con un maximo de 256TBs, necesito un PE de 8MBs
<root@test2:/>vgcreate -V 2.0 -S 256t -E
Max_VG_size=256t:extent_size=8m
-l maxima cantidad de LVs
-e cantidad maxima de extents
-p cantidad maxima de PVs
Ya que al crear el VG 2.x este toma de forma automática los valores máximos
<root@test2:/>vgdisplay vg02
--- Volume groups ---
VG Name /dev/vg02
VG Write Access read/write
VG Status available
Max LV 511
Cur LV 0
Open LV 0
Max PV 511
Cur PV 1
Act PV 1
Max PE per PV 1048576
VGDA 2
PE Size (Mbytes) 16
Total PE 222
Alloc PE 0
Free PE 222
Total PVG 0
Total Spare PVs 0
Total Spare PVs in use 0
VG Version 2.0
VG Max Size 512t
VG Max Extents 33554432
Ahora, respecto a los device special files, estos han cambiado los VGs 2.x usan como major number 128, (recordemos que los 1.0 usan como major 64).
También cambia la estructura de los minor, en la versión 1.0 para identificar al VG se usan los dos bytes mas significativos, en la versión 2.x estos aumentan a los tres bytes mas significativos
<root@test2:/>ll /dev/*/group
crw-r----- 1 root sys 64 0x000000 Mar 23 14:39 /dev/vg00/group
crw-r----- 1 root sys 64 0x010000 Apr 8 16:18 /dev/vg01/group
crw-r----- 1 root sys 128 0x001000 Sep 2 10:00 /dev/vg02/group
Los archivos de configuración de LVM también han cambiado.
Los VGs 1.0 usan el /etc/lvmtab mientras que los 2.x estan en /etc/lvmtab_p
Migración de VG hecho con LVM 1.0 a 2.x
Si quisiera migrar un VG hecho con layout 1.0, existe un comando llamado vgversion.
A continuación enumero los comandos a seguir para llevar de 1.0 a una versión 2.X igualmente se puede migrar de una versión 2.x a otra superior.
Para identificar el VG utilizo el comando lvmadm que me lista los VG configurados, su versión y los PV que los componen.
En este caso vamos a migrar el vg01 a la versión 2.2. Tener en cuenta que a la fecha el vg00 no puede ser 2.0
<root@test2:/>lvmadm -l
--- Version 1.0 volume groups ---
VG Name /dev/vg00
PV Name /dev/disk/disk3_p2
VG Name /dev/vg01
PV Name /dev/disk/disk5
--- Version 2.0 volume groups ---
VG Name /dev/02
PV Name /dev/disk/disk7
<root@test2:/>vgversion -v -r -V 2.2 vg01
Warning: Volume Group version 2.2 does not support bad block
relocation. The bad block relocation policy of all logical volumes
will be set to NONE.
Volume Group version can be successfully changed to 2.2
Review complete. Volume group not modified
Vemos que nos avisa que la opción de bad block relocation no esta mas soportada en 2.x y que el VG se puede migrar sin ningún problema.
Para hacer el cambio de versión el VG debe estar offline, por lo que vamos a desmontar los LVs que están montados y desactivar el VG
<root@test2:/>bdf
Filesystem kbytes used avail %used Mounted on
/dev/vg00/lvol3 671744 411768 258056 61% /
/dev/vg00/lvol1 1081344 347656 728032 32% /stand
/dev/vg00/lvol8 4042752 2888000 1149856 72% /var
/dev/vg00/lvol5 4927488 2107168 2798360 43% /usr
/dev/vg00/lvol4 430080 6008 420888 1% /tmp
/dev/vg00/lvol7 5484544 3958872 1513776 72% /opt
/dev/vg00/lvol6 102400 5520 96128 5% /home
/dev/vg01/lvol1 2043904 2638 1913694 0% /EDB
<root@test2:/>umount /EDB
<root@test2:/>vgchange -a n vg01
Volume group "vg01" has been successfully changed.
Una vez desactivado corremos el vgversion
<root@test2:/>vgversion -v -V 2.2 vg01
Performing "vgchange -a y -l -p -s vg01" to collect data
Activated volume group.
Volume group "vg01" has been successfully activated.
A version 2.x Volume Group with the minor number 0x1000
already exists.
Warning: Volume Group version 2.2 does not support bad block
relocation. The bad block relocation policy of all logical volumes
will be set to NONE.
Old Volume Group configuration for "/dev/vg01" has been saved in "/etc/lvmconf/vgversion_vg01/vg01_1.0.conf"
Deactivating Volume Group "vg01"
Volume group "vg01" has been successfully deactivated.
New Volume Group configuration for "/dev/vg01" has been saved in "/etc/lvmconf/vgversion_vg01/vg01_2.2.conf"
Removing the Volume Group /dev/vg01 from /etc/lvmtab
Applying the configuration to all Physical Volumes from "/etc/lvmconf/vgversion_vg01/vg01_2.2.conf"
Volume Group configuration has been restored to /dev/rdisk/disk5
Creating the Volume Group of version 2.2 with minor number 0x2000.
Adding the Volume Group /dev/vg01 to /etc/lvmtab_p
Original Volume Group Version was 1.0
New Volume Group Version is 2.2
Volume Group version has been successfully changed to 2.2
Volume Group configuration for /dev/vg01 has been saved in /etc/lvmconf/vg01.conf
Una vez ya migrado activo el VG activamos el vg
<root@test2:/>vgchange -a y vg01
Activated volume group.
Volume group "vg01" has been successfully changed.
Montamos el FS
<root@test2:/>mount /EDB
Validamos con un bdf para ver si quedo montado
<root@test2:/>bdf
Filesystem kbytes used avail %used Mounted on
/dev/vg00/lvol3 671744 414504 255336 62% /
/dev/vg00/lvol1 1081344 347656 728032 32% /stand
/dev/vg00/lvol8 4042752 2887992 1149864 72% /var
/dev/vg00/lvol5 4927488 2107168 2798360 43% /usr
/dev/vg00/lvol4 430080 6008 420888 1% /tmp
/dev/vg00/lvol7 5484544 3958872 1513776 72% /opt
/dev/vg00/lvol6 102400 5520 96128 5% /home
/dev/vg01/lvol1 2043904 2638 1913694 0% /EDB
Podemos correr el lvmadm -l para efectivamente ver si el VG cambio de versión
<root@test2:/>lvmadm -l
--- Version 1.0 volume groups ---
VG Name /dev/vg00
PV Name /dev/disk/disk3_p2
--- Version 2.0 volume groups ---
VG Name /dev/02
PV Name /dev/disk/disk7
--- Version 2.2 volume groups ---
VG Name /dev/vg01
PV Name /dev/disk/disk5
Filesystem kbytes used avail %used Mounted on
/dev/vg00/lvol3 671744 411768 258056 61% /
/dev/vg00/lvol1 1081344 347656 728032 32% /stand
/dev/vg00/lvol8 4042752 2888000 1149856 72% /var
/dev/vg00/lvol5 4927488 2107168 2798360 43% /usr
/dev/vg00/lvol4 430080 6008 420888 1% /tmp
/dev/vg00/lvol7 5484544 3958872 1513776 72% /opt
/dev/vg00/lvol6 102400 5520 96128 5% /home
/dev/vg01/lvol1 2043904 2638 1913694 0% /EDB
<root@test2:/>umount /EDB
<root@test2:/>vgchange -a n vg01
Volume group "vg01" has been successfully changed.
Una vez desactivado corremos el vgversion
<root@test2:/>vgversion -v -V 2.2 vg01
Performing "vgchange -a y -l -p -s vg01" to collect data
Activated volume group.
Volume group "vg01" has been successfully activated.
A version 2.x Volume Group with the minor number 0x1000
already exists.
Warning: Volume Group version 2.2 does not support bad block
relocation. The bad block relocation policy of all logical volumes
will be set to NONE.
Old Volume Group configuration for "/dev/vg01" has been saved in "/etc/lvmconf/vgversion_vg01/vg01_1.0.conf"
Deactivating Volume Group "vg01"
Volume group "vg01" has been successfully deactivated.
New Volume Group configuration for "/dev/vg01" has been saved in "/etc/lvmconf/vgversion_vg01/vg01_2.2.conf"
Removing the Volume Group /dev/vg01 from /etc/lvmtab
Applying the configuration to all Physical Volumes from "/etc/lvmconf/vgversion_vg01/vg01_2.2.conf"
Volume Group configuration has been restored to /dev/rdisk/disk5
Creating the Volume Group of version 2.2 with minor number 0x2000.
Adding the Volume Group /dev/vg01 to /etc/lvmtab_p
Original Volume Group Version was 1.0
New Volume Group Version is 2.2
Volume Group version has been successfully changed to 2.2
Volume Group configuration for /dev/vg01 has been saved in /etc/lvmconf/vg01.conf
Una vez ya migrado activo el VG activamos el vg
<root@test2:/>vgchange -a y vg01
Activated volume group.
Volume group "vg01" has been successfully changed.
Montamos el FS
<root@test2:/>mount /EDB
Validamos con un bdf para ver si quedo montado
<root@test2:/>bdf
Filesystem kbytes used avail %used Mounted on
/dev/vg00/lvol3 671744 414504 255336 62% /
/dev/vg00/lvol1 1081344 347656 728032 32% /stand
/dev/vg00/lvol8 4042752 2887992 1149864 72% /var
/dev/vg00/lvol5 4927488 2107168 2798360 43% /usr
/dev/vg00/lvol4 430080 6008 420888 1% /tmp
/dev/vg00/lvol7 5484544 3958872 1513776 72% /opt
/dev/vg00/lvol6 102400 5520 96128 5% /home
/dev/vg01/lvol1 2043904 2638 1913694 0% /EDB
Podemos correr el lvmadm -l para efectivamente ver si el VG cambio de versión
<root@test2:/>lvmadm -l
--- Version 1.0 volume groups ---
VG Name /dev/vg00
PV Name /dev/disk/disk3_p2
--- Version 2.0 volume groups ---
VG Name /dev/02
PV Name /dev/disk/disk7
--- Version 2.2 volume groups ---
VG Name /dev/vg01
PV Name /dev/disk/disk5
No hay comentarios:
Publicar un comentario