Actualizado el 12-03-2011 y el 15-03-2011.En origen el término viene de gestor de volúmenes Veritas. Por ello es el que utiliza HP-UX pero también es la que adoptó el Kernel de Linux.
Estos son los pasos a realizar en
HP-UX cuando le ofreces un disco:
1.-Hacer que que el nucleo del S.O. vea el disco:
ioscan -fnC diskMejora en HP-UX 11.31:
En esta versión tenemos la opción de hacer
ioscan -m dsf
Esto nos facilita mucho las cosas porque nos agrupa lo diferentes PATH a un mismo disco de forma que no tenemos que andar eligiendo un prefered path y los alternates.
aizkorri:/# ioscan -m dsfPersistent DSF Legacy DSF(s)
========================================
.........
/dev/rdisk/disk128
/dev/rdsk/c30t0d7
/dev/rdsk/c28t0d7
/dev/rdsk/c36t0d7
/dev/rdsk/c38t0d7
/dev/rdsk/c40t0d7
/dev/rdsk/c42t0d7
/dev/rdsk/c32t0d7
/dev/rdsk/c34t0d7
A partir de ahora nos referiremos a ese disco como
/dev/rdisk/disk128
o /dev/disk/disk128 según corresponda.2.-Crear los ficheros de dispositivo:
insfOtras opciones para utilizar (con cuidado):
insf -e
insf -C disk3.-Mirar la descripción de los nuevos discos que haya encontrado:
ioscan -fnC diskUn disco que se vea como
/dev/dsk/c36t0d1tiene como instancia de controladora:
36el target
0y lun
1En caso de duda podemos consultar información del disco. Para ello hay que hacer referencia a RDSK en lugar de DSK:
diskinfo /dev/rdsk/c36t0d14.-Crear el disco físico (physical volume):
pvcreate /dev/rdsk/c36t0d1Se puede utilizar la opción -f para forzar, pero cuidado, no pide confirmación.
Si no se hace el pvcreate y luego se intenta utilizar el disco en un LVM volume group, devolverá el error:
"Physical volume contains no LVM information".
5.-Creación del Volume Group (VG):
Creamos un directorio con el nombre del vg:
mkdir /dev/vgpruebaAhora hay que comprobar una numeración. Hacemos esto:
ll /dev/vg*/groupQue nos mostrará algo así:
0x000000 /dev/vg00/group0x010000 /dev/vgXXXX/group0x020000 /dev/vgYYYY/group0x030000 /dev/vgZZZZ/groupBueno, en este ejemplo está claro que nuestro nuevo vg llevará la numeración 0x040000
Creamos el fichero group:
mknod /dev/vgprueba/group c 64 0x040000Y ya podemos crear el nuevo VG:
Supongamos que el nuevo disco se ve por dos caminos de fibra diferentes. Uno se ve como c36t0d1 y el otro c28t0d1.
vgcreate /dev/vgprueva /dev/dsk/c36t0d1 /dev/dsk/c28t0d1En discos muy grandes puede ocurrir que con el tamaño de extensión por defecto (demasiado pequeño) se llegue al máximo de extensiones posible:
El máximo número de extensiones es 1.016 y el tamaño por defecto de la extensión 4 Mb.
"Volume group could not be created:VGRA for the disk is too big for the specified parameters. Increase the extent size or decrease max_PVs/max_LVs and try again".Podemos aumentar el tamaño de la extensión a 32 Mb:
vgcreate -s 32 /dev/vgprueba /dev/dsk/c36t0d1 /dev/dsk/c28t0d1Para ver como está el VG:
vgdisplay -v /dev/vgprueba6.-Creación del Volumen Lógico: Logical Volume (LV):
Sobre el VG vgprueba, creamos un LV llamado lvprueba de 1.000 extensiones de 32 Mb (32.000 Mb):
lvcreate -l 1000 -n lvprueba vgpruebaTambién se puede crear un LV sin asignarle ninguna extensión y extenderlo más adelante:
lvcreate -n lvprueba vgpruebalvextend -L 500 /vgprueba/lvprueba /dev/dsk/c28t0d17.-Creación del filesystem de tipo vxfs:
Con la opción -o podemos indicar que queremos que pueda albergar ficheros grandes (de más de 2 Gb).
newfs -F vxfs -o largefiles /dev/vgprueba/rlvprueba8.-Montaje:
mkdir /directoriomount /dev/vgprueba/lvprueba /directorioMás cosas sueltas:Para añadir un disco (PV) a un VG que ya existe:
# vgextend vgprueba /dev/dsk/c0t5d0# vgdisplay -v vgpruebaPara crear un LV con un tamaño determinado:
# lvcreate -n lvprueba -L 500 vgpruebaModificaciones del PV:
En cuanto a los PV (physical volume) se pueden modificar algunas características:
El IO timeout suele ser de 30 segundos (lo que tiene que esperar el S.O. antes de considerar que el disco está offline), pero en el caso de algunos arrays de discos hace falta subirlo:
pvchange -t 120 /dev/dsk/c28t0d1
Para restaurar el valor por defecto:
pvchange -t 0 /dev/dsk/c28t0d1
Modificaciones del LV:
En algún momento tendremos que ampliar un LV (Logical Volume):
Para ampliar de 100 Mb a 200Mb por ejemplo:
lvextend -L 200 /dev/vgprueba/lvprueba
Opcionalmente le podemos indicar el dispositivo:
lvextend -L 200 /dev/vgprueba/lvprueba /dev/dsk/c28t0d1
Después de extender el LV, podemos extender el FS (FileSystem):
umount /dev/vgprueba/lvprueba
extendfs /dev/vgprueba/rlvprueba
mount /dev/vgprueba/lvprueba /dir-prueba
Si tenemos licencia de Online JFS hay muchas cosas que podemos hacer sin desmontar filesystems. Esta de extender el filesystem es una de ellas:
fsadm -v 200000 /dir-prueba
Nota: el tamaño está dado en Kb.
Para reducir el tamaño tendríamos que reducirlo con el fsadm del OnlineJFS y luego un lvreduce:
lvreduce -L 100 /dev/vgprueba/lvprueba
Sin OnlineJFS tenemos una pequeña complicación, ya que no podemos reducir el filesystem. Tendremos que hacer un backup, crear un nuevo LV y FileSystem y recuperar los datos.
Cambiar el nombre de un LV es más sencillo de lo que parece. Símplemente movemos los devices:
umount /dev/vgprueba/lvprueba
mv /dev/vgprueba/lvprueba /dev/vgprueba/lvnuevo
mv /dev/vgprueba/rlvprueba /dev/vgprueba/rlvnuevo
mount /dev/vgprueba/lvnuevo /dir-prueba
Modificaciones del VG:
Hay parámetros que no podremos modificar (por ejemplo el max_pe). En estos casos hay que recrear el VG.
Lo que sí podremos hacer es renombrar el VG:
Para ello, además de desmontar los LV tendremos que deshabilitar el VG con el comando vgchange:
# umount /dev/vgprueba/lvprueba1
# umount /dev/vgprueba/lvprueba2
# vgchange -a n vgprueba
La opción a es availability y la "n" indica NO. (el comando contrario es vgchange -a y vgprueba).
Ahora exportamos a un fichero la configuración del VG:
# vgexport -m /tmp/mapfile vgprueba
Ahora vemos las numeraciones asignadas a los vg-s para ver cual sería el siguiente correlativo
# ll /dev/vg*/group
Creamos el nuevo directorio y el fichero group con el número correlativo siguiente (he puesto como ejemplo el 0x080000):
# mkdir /dev/vgnuevo
# mknod /dev/vgnuevo/group c 64 0x080000
Importamos la configuración en el nuevo VG al que le asociamos los devices:
# vgimport -m /tmp/mapfile vgnuevo /dev/dsk/c40t3d0 /dev/dsk/c5t2d1 ...
Eliminar un LV:
#umount /datos
#lvremove /dev/vgoracle/lvoradata
Quitar un PV de un VG:
#vgreduce vgoradata /dev/dsk/c10t4d8
Eliminar un VG:
Desmontar todos los LV que tenga:
#umount /dev/vgoradata/lvredolog1
#umount /dev/vgoradata/lvredolog2
Desactivarlo:
#vgchange -a n vgoradata
Nota importante: Para eliminar el VG habría que hacer vgreduce, pero hazlo sólo si sabes lo que haces. Si hacemos vgexport de la siguiente forma, la configuración permanecerá almacenada en el disco por si hay que montarlo otra vez.
#vgexport vgoradata
Otros comandos de interés:
# vgcfgbackup vgnew