Multipathing utilizando LVM

Es posible hacer multipathing utilizando LVM pero sólo con unas determinadas versiones. Existen parches para las versiones 1.0.5, 1.0.6, 1.0.7 y 1.0.8.

La única distribución en la que viene configurado el kernel para el uso de este multipathing es SLES 8.

Localizando los dispositivos físicos

Una vez añadidos los dispositivos físicos al sistema tendremos tantos dispositivos como caminos por disco. Para cada disco físico utilizaremos un dispositivo especifico de todos los que lo referencian, lo llamaremos dispositivo primario para ese disco. El comando pvscan nos identificará estos dispositivos:

[root@sal]# pvscan
pvscan -- reading all physical volumes (this may take a while...)
pvscan -- ACTIVE   PV "/dev/sdaw"  of VG "data_vg"     [18.62 GB / 0 free]
pvscan -- ACTIVE   PV "/dev/sdax"  of VG "data_vg"     [46.56 GB / 26.98 GB free]
pvscan -- ACTIVE   PV "/dev/sdav"  of VG "data_vg"     [46.56 GB / 46.56 GB free]
pvscan -- ACTIVE   PV "/dev/sdag"  of VG "data_vg"     [46.56 GB / 0 free]
pvscan -- ACTIVE   PV "/dev/sdah"  of VG "data_vg"     [9.31 GB / 0 free]
pvscan -- ACTIVE   PV "/dev/sdai"  of VG "data_vg"     [46.56 GB / 0 free]
pvscan -- ACTIVE   PV "/dev/sdaj"  of VG "data_vg"     [46.56 GB / 0 free]
pvscan -- ACTIVE   PV "/dev/sdak"  of VG "data_vg"     [19.18 GB / 0 free]
pvscan -- ACTIVE   PV "/dev/sdal1" of VG "software_vg" [5 GB / 116 MB free]
pvscan -- ACTIVE   PV "/dev/sdal2" of VG "data_vg"     [14.18 GB / 0 free]
pvscan -- ACTIVE   PV "/dev/sdad"  of VG "data_vg"     [46.56 GB / 0 free]
pvscan -- ACTIVE   PV "/dev/sdae"  of VG "data_vg"     [18.62 GB / 0 free]
pvscan -- ACTIVE   PV "/dev/sdaf"  of VG "data_vg"     [9.31 GB / 0 free]
pvscan -- ACTIVE   PV "/dev/sda13" of VG "system_vg"   [16.77 GB / 2.96 GB free]
pvscan -- total: 14 [390.43 GB] / in use: 14 [390.43 GB] / in no VG: 0 [0]
[root@sal]# 

Importante

Es necesario que los discos ya esten asignados a un grupo de volumen.

Configurando el multipath

Lo haremos en tres pasos:

  1. Tendremos que configurar el multipath sobre los dispositivos primarios mostrados por pvscan suponiendo que hay cuatro caminos por dispositivo:

    [root@sal]# pvpath -p 0 -e y -w 1 /dev/sdaw
    [root@sal]# pvpath -p 1 -e y -w 2 /dev/sdaw
    [root@sal]# pvpath -p 2 -e y -w 1 /dev/sdaw
    [root@sal]# pvpath -p 3 -e y -w 2 /dev/sdaw
    [root@sal]# pvpath -q /dev/sdaw
    Physical volume /dev/sdaw of data_vg has 4 paths:
           Device  Weight Failed Pending State
     #  0:   8:16       1      0       0 enabled
     #  1:   8:32       2      0       0 enabled
     #  2:   8:48       1      0       0 enabled
     #  3:   8:64       2      0       0 enabled
    [root@sal]# 
    
  2. Una vez configurados todos los caminos tendremos que grabar la configuración:

    [root@sal]# pvpathsave
    [root@sal]# 
    

    Esta configuración se almacena en el fichero /etc/pvpath.cfg.

  3. Tenemos que hacer que está configuración se lea antés de utilizar los dispositivos. Para ello nos aseguraremos de que el fichero /etc/init.d/boot.local contiene /sbin/pvpathrestore.

    Importante

    En otras distribuciones diferentes de SLES 8 será en un fichero equivalente.

    Importante

    Si la máquina está arrancando desde SAN será necesario hacer este último paso si queremos que la máquina arranque.