Archive

Posts Tagged ‘lvm’

HP-UX: Mirror del VG00 en itanium

June 26th, 2009 RuBiCK 2 comments

Hoy vamos a ver como se realiza el mirror del vg00 en un HP-UX bajo itanium. Esta operación consiste en particionar el disco, copiar los ficheros de la EFI, añadir una partición del disco al vg00, crear mirror a nivel LVM de cada lvol y establecer las distintas areas de swap, dump etc… . De tal manera que si un disco fallara, tendríamos alta disponibilidad por lo que se podría reemplazar el disco dañado por otro nuevo y reconstruir el mirror, además de poder realizar un split del vg para realizar una intervención garantizando la marcha atrás.

Para llevar a cabo el mirror a parte de requisito imprescindible tener dos discos (da igual si son locales o de SAN) también hace falta tener licenciado el Mirrordisk/UX, vamos a chequearlo:

#swlist | grep -i mirrordisk
B2491BA B.11.23 MirrorDisk/UX (Server)

Es de vital importancia que reconozcamos sin lugar a errores el disco del sistema operativo y cual va a ser el disco de mirror. En el ejemplo que vamos a ver a continuación tenemos el disco c0t6d0 en el cual está instalado el sistema operativo y el disco c28t5d0 que está vacio sobre el que haremos el mirror.

Una vez tenemos claros los discos a usar, tenemos que particionar el disco que está vacio, haremos tres particiones en el siguiente orden: EFI, sistema operativo y HPSP.

  1. En la primera partición (s1) de 500MB irá la EFI la cual es la implementación moderna de la BIOS sobre máquinas itanium aunque hace tiempo que ha dejado de estar presente en exclusiva en servidores y se usa también en algunos ordenadores domésticos como por ejemplo en toda la gama de macs basados en intel.
  2. En la segunda partición (s2) que ocupará todo lo que quede libre entre la primera y tercera partición en la cual irá el sistema operativo.
  3. Y como tercera partición (s3) de 400MB la HPSP (HP Service Partition) que estará destinada a instalar unas herramientas de diagnóstico hardware offline.

Una vez tenemos claro la distribución de las particiones y que albergaremos en cada una de ellas, vamos a particionar nuestro disco,. Para ello creamos un fichero temporal en el cual indicaremos dicha tristribución de la siguiente manera: Read more…

Categories: HP-UX, Unix & Linux Tags: , ,

HP-UX 11.31: Migrar un vg con discos legacy a discos ágiles

May 7th, 2009 RuBiCK 4 comments

Como ya hablé en el post Agile view addressing podemos trabajar usando los dispositivos antiguos o caminos /dev/disk/c#t#d# o los dispositivos nuevos /dev/disk/disk# Os recomiendo que useis los dispositivos en formato agil ya que llevan por debajo la capa de multipathing y será más facil gestionar un único fichero de dispositivo que no 8 y si eso lo multiplicamos por 50 discos que la máquina tenga, os podeis hacer a la idea de la gran diferencia.

¿Que ocurre si tenemos un vg lleno de discos antiguos y queremos migrarlo a discos en formato agil? Lo que tendremos que hacer únicamente es extender el vg con los discos en formato agil y reducir de dicho vg los pvs y pvlinks, así uno por uno.

Número de discos/paths de un vg usando discos en formato legacy:

#vgdisplay -v vgtest |grep -i “pv name”| wc -l
330

Una vez hayamos realizado esta ardua tarea, tendremos un vg con muchos menos discos dentro de él además de tenerlos balanceados con la política que estimemos oportuna.

Número de discos de un vg usando discos en formato agil:

#vgdisplay -v vgtest |grep -i “pv name”| wc -l
42

Y ahora vamos a hacer lo mismo, pero de manera automática, HP-UX provee una herramienta para realizar la migración del vg en caliente mediante un script ubicado en /usr/contrib/bin/vgfsf al cual tan solo tenemos que indicarle si queremos añadir los discos ágiles, eliminar los legacy o hacer ambas acciones combinadas:

/usr/contrib/bin/# ./vgdsf -c
USAGE: vgdsf {-a | -d | -c} vg_name
  -a - Add persistent DSFs to the volume group
  -d - Delete legacy DSFs from the volume group
  -c - Convert legacy DSFs to persistent DSFs (-a and -d)
       in the volume group

Vamos a ver un ejemplo:

/usr/contrib/bin/# ./vgdsf -c vgtest
Converting legacy DSFs to persistent DSFs in VG vgtest
Too many links. Removing link /dev/dsk/c8t1d2
Removed link /dev/dsk/c8t1d2
Persistent DSF /dev/disk/disk268 added to VG vgtest
Too many links. Removing link /dev/dsk/c8t1d3
Removed link /dev/dsk/c8t1d3
[...]

Tras realizar esta operación, tendremos un vg mucho más limpio y sin realizar ningún tipo de esfuerzo. Espero que os sirva de ayuda.

Categories: HP-UX Tags: ,

lvrename en hpux

April 6th, 2009 RuBiCK 2 comments

Es una pena que en hpux no exista el comando lvrename que sí que existe en Linux mediante el cual podemos renombrar el nombre a un lvol.

Aunque no exista el comando lvrename como tal, podemos realizar un workaround para renombrar el lvol:

Lo primero de todo será desmontar el lvol sobre el que vamos a trabajar:

host:/root (root) #bdf /mnt
Filesystem          kbytes    used   avail %used Mounted on
/dev/vg00/lvignite 5259264   68107 4866719    1% /mnt
host:/root (root) #umount /dev/vg00/lvignite

Ahora tomamos nota del minor que tiene el lvol que queremos renombrar:

host:/root (root) #ls -la /dev/vg00/lvignite
brw-r-----   1 root       sys         64 0x00000a Jul 24  2007
/dev/vg00/lvignite

Borramos el fichero de dispositivo del lvol y su raw device asociado:

host:/root (root) #rm /dev/vg00/lvignite
host:/root (root) #rm /dev/vg00/rlvignite

Y ahora lo que tendremos que hacer es recrear los ficheros de dispositivo mediante mknod. Podremos ponerle el nombre que queramos siempre y cuando le pongamos el mismo minor y major que hemos visto antes.
Para recrear los ficheros de dispositivos, lo haremos mediante el comando mknod.

El uso del mknod es el siguiente:

mknod name b|c major minor

Donde name es el nombre del fichero de dispositivo a crear, “b” para crear el fichero de acceso en modo bloque o “c” para acceso en modo caracter (raw). El major cuando trabajamos con lvm siempre es 64. Este dato lo sacamos viendo el driver que usa lvm: Read more…

Categories: HP-UX Tags: ,

Found duplicate PV using /dev/sdaw not /dev/sda

April 2nd, 2009 RuBiCK No comments

Tras instalar device-mapper-multipathing en un Linux Red Hat, al hacer un vgdisplay obtenemos los siguientes errores:

[root@host ~]# vgdisplay -v /dev/vgarchive
   Using volume group(s) on command line
   Finding volume group "vgarchive"
 Found duplicate PV FovoFd029s4wTbhDI4eHb7AmwO5aDNHw: using /dev/sdaw not /dev/sda
 Found duplicate PV dfFrDD6GE8ffdROs9ppajQmnimk3z5Ft: using /dev/capi20 not /dev/sdq
 Found duplicate PV dxkfHlV0E1dVzZUfq2iraqN6SsXL8OKH: using /dev/sdcc not /dev/sdag
 Found duplicate PV pelZWFmdJdLXfEkJwxQuDL7odMRMc08v: using /dev/sdax not /dev/sdb
 Found duplicate PV W2JZ9xfiYiEJi62RLl2eI2WYuZU16j65: using /dev/sdbn not /dev/sdr
 Found duplicate PV rHerNtpZ1ToCg0ebmWFExjkgzcpjE2VE: using /dev/sdcd not /dev/sdah
 --- Volume group ---
 VG Name               vgarchive
 System ID
 Format                lvm2
 Metadata Areas        1
 Metadata Sequence No  2
 VG Access             read/write
 VG Status             resizable
 MAX LV                0
 Cur LV                1
 Open LV               0
 Max PV                0
 Cur PV                1
 Act PV                1
 VG Size               20.00 GB
 PE Size               4.00 MB
 Total PE              5119
 Alloc PE / Size       5119 / 20.00 GB
 Free  PE / Size       0 / 0
 VG UUID               KLDU2E-Mela-LpcH-0pom-Rcao-jYiI-N9DgrU

 --- Logical volume ---
 LV Name                /dev/vgarchive/lvolarchive
 VG Name                vgarchive
 LV UUID                qUuP60-LLbv-lZql-7c0a-pN7q-iOM5-ji1v5j
 LV Write Access        read/write
 LV Status              available
 # open                 0
 LV Size                20.00 GB
 Current LE             5119
 Segments               1
 Allocation             inherit
 Read ahead sectors     0
 Block device           253:33

 --- Physical volumes ---
 PV Name               /dev/mapper/mpath17
 PV UUID               YXUz0J-9NbL-BB3b-NnBm-JheM-Fcs1-DcJ98K
 PV Status             allocatable
 Total PE / Free PE    5119 / 0

Esto se produce por que por defecto, lvm escanea todos los discos para buscar si contienen physical volumens por lo que para el sistema, está encontrado el mismo PV a través de varios caminos.

Si echamos un vistazo al fichero /etc/lvm/lvm.conf podemos ver lo siguiente:

# A filter that tells LVM2 to only use a restricted set of devices.
# The filter consists of an array of regular expressions. These
# expressions can be delimited by a character of your choice, and
# prefixed with either an ‘a’ (for accept) or ‘r’ (for reject).
# The first expression found to match a device name determines if
# the device will be accepted or rejected (ignored). Devices that
# don’t match any patterns are accepted.

Por lo que tenemos que añadir un filtro para que escanee los dispositivos multipath /dev/mpath/ que son los dispositivos virtuales que engloban todos los caminos hacia los discos e ignore el resto. En las opciones del filtro, con “a” indicamos que lo acepte y con “r” que lo rechace. El filtro a añadir quedaría de la siguiente manera:

filter = [ "a/dev/mpath/.*/", "r/.*/" ]

A continuación tan solo hacemos un vgscan y los warnings desaparecen. Tenemos que tener en cuenta si tenemos PVs en discos locales, como suele ser habitual para el VolGroup00, tenemos que especificar que escanee también los discos locales que están bajo /dev/cciss/ por lo que el filtro quedaría así:

filter = [ "a/dev/mpath/.*/","a/dev/cciss/.*/", "r/.*/" ]

Si esto no se hiciera, no veríamos el VolGroup00 lo que nos podría dar algún susto :)

http://kbase.redhat.com/faq/docs/DOC-2991

Categories: Linux, Storage, Unix & Linux Tags: , ,

Como instalar Ubuntu Gutsy con LVM

November 20th, 2007 RuBiCK 11 comments

El otro día estuve probando Ubuntu server y estuve realizando la instalación con LVM.Todo fue como la seda, de hecho, la instalación lo ha han cambiado respecto a la de Debian.

Me dispuse a reinstalar en mi portatil Ubuntu Gutsy también con LVM ya que es mucho más flexible y evitar como en alguna ocasión que me quede sin espacio en el /usr y no podia ampliarlo ya que tenia como 2Gb de espacio libre, pero al final del disco.

Me llevé una sorpresa al ver que en la instalación de Ubuntu, en el momento del particionado ya que no había ninguna opción para LVM.

Pongámonos manos a la obra ! Read more…

Categories: Ubuntu, Unix & Linux Tags: , ,

Script para extender vgs con nuevos caminos automáticamente al duplicar los paths

November 12th, 2007 RuBiCK 4 comments

Symmetrix
Teniamos un HPUX con 32 discos de almacenamiento externo Symmetrix y cada disco se veia por dos caminos de la siguiente manera:

#powermt display dev=all
Symmetrix ID=000284701111
Logical device ID=050B
state=alive; policy=SymmOpt; priority=0; queued-IOs=0
==============================================================================
---------------- Host ---------------   - Stor -   -- I/O Path -  -- Stats ---
### HW Path                 I/O Paths    Interf.   Mode    State  Q-IOs Errors
==============================================================================

10 5/0/14/0/0.1.28.0.0.4.5   c10t4d5    FA 13aA   active  alive      0      0
11 5/0/6/0/0.1.28.0.0.5.0    c11t5d0    FA  4aA   active  alive      0      0
[...]

Por graves problemas de rendimiento con los discos, se añadió dos fibras más al Symmetrix, por lo que ahora, cada disco se veía por cuatro caminos. Read more…

Categories: HP-UX, Storage Tags: , ,

Cambiar un disco de una SAN de una maquina a otra en HP-UX

June 30th, 2006 RuBiCK No comments

Imaginaros que tenemos un disco de almacenamiento externo, en este caso una EVA 5000, en el cual se va a guardar unos cds de instalación que posteriormente se necesitan en otra máquina para hacer otra instalación similar.

En la maquina donde está montado el disco, primero habrá que desmontar el filesystem del disco que queremos exportar.

Después habrá que deactivar el Volume Group (vg) para poder exportarlo.

vgchange -a n vgname

Ahora podemos exportar la configuración de ese vg a un archivo.

vgexport -v -m archivo.map

Con esto, se borrará toda la informacion de el vg y los logical volumenes (lv) que esté contenga, sin afectar a la información que permanecerá en los discos intacta.

Ahora ya podemos despresentar el disco del sistema de origen. Para dejar limpio el sistema, borraremos el la entrada al disco que se habra quedado como NO_HW de la siguiente manera.

si hacemos un ioscan -fnCdisk veremos lo siguiente:

disk 19 255/255/0/2.0 sdisk NO_HW DEVICE HSV110 (C)COMPAQ
/dev/dsk/c9t2d0 /dev/rdsk/c9t2d0 Read more…

Categories: HP-UX, Storage Tags: , ,