Vamos a ver como configurar el servidor con Ubuntu 10.04 para proporcionar acceso a la cabina en alta disponibilidad con multipath de forma que, desde el servidor, trabajaremos con un único dispositivo de almacenamiento por cada disco virtual que la EVA presente al servidor.
El esquema de conexión es el siguiente:
Comprobamos que el servidor dispone de las dos tarjetas conectadas:
# lspci| grep FiberEl kernel cargará el módulo lpfc como driver para estás tarjetas:
01:08.0 Fibre Channel: Emulex Corporation Helios LightPulse Fibre Channel Host Adapter (rev 01)
02:09.0 Fibre Channel: Emulex Corporation Helios LightPulse Fibre Channel Host Adapter (rev 01)
root@Mercurio:/etc/modprobe.d# lsmod |grep lpfcEn mi caso, en está versión de ubuntu no es necesario, pero si tenéis problemas con lpfc podéis crear el archivo /etc/modprobe.d/lpfc.conf para configurar su comportamiento:
lpfc 526920 24
scsi_transport_fc 52158 1 lpfc
# cat /etc/modprobe.d/lpfc.confPara instalar multipath:
#options lpfc lpfc_use_msi=0 lpfc_log_verbose=0xffff
options lpfc lpfc_use_msi=0
# aptitude install multipath-tools scsitoolsConfiguramos multipath con el siguiente fichero, tiene una sección específica para nuestra EVA 4100:
# cat /etc/multipath.confPodemos reiniciar el servidor o utilizar la utilidad rescan-scsi-bus para encontrar dispositivos y que los agrege al sistema. También debemos utilizar está utilidad si presentamos más discos virtuales desde la EVA al servidor.
##
## This is a template multipath-tools configuration file
## Uncomment the lines relevent to your environment
##
## Use user friendly names, instead of using WWIDs as names.
defaults {
user_friendly_names yes
}
blacklist {
root@Mercurio:~# cat /etc/multipath
multipath/ multipath.conf
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st|eth|br)[0-9]*"
devnode "^hd[a-z][[0-9]*]"
# devnode "^sd[c-d][[0-9]*]"
devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
}
devices {
device {
vendor "HP"
product "HSV200"
path_grouping_policy group_by_prio
getuid_callout "/lib/udev/scsi_id -g -u /dev/%n"
path_checker directio
path_selector "round-robin 0"
prio alua
rr_weight uniform
failback immediate
hardware_handler "0"
no_path_retry 12
rr_min_io 100
}
}
Cuando "despresentamos" discos virtuales se pueden utilizar con la opción -r pero por mis pruebas el resultado no siempre es bueno y requiere reiniciar el servidor.
Con el siguiente comando comprobamos el estado del multipath:
# multipath -llComo podéis ver hay otra cabina que dará para otro artículo, de momento no le hacemos caso.
mpath2 (3600508b40006c54300011000003f0000) dm-2 HP,HSV200size=57G features='1 queue_if_no_path' hwhandler='0' wp=rw|-+- policy='round-robin 0' prio=50 status=active| |- 6:0:0:1 sdm 8:192 active ready running| `- 5:0:0:1 sdc 8:32 active ready running`-+- policy='round-robin 0' prio=10 status=enabled|- 5:0:1:1 sdf 8:80 active ready running`- 6:0:1:1 sdp 8:240 active ready runningmpath8 (3600508b40006c5430001100000520000) dm-0 HP,HSV200size=100G features='1 queue_if_no_path' hwhandler='0' wp=rw|-+- policy='round-robin 0' prio=50 status=active| |- 5:0:1:3 sdh 8:112 active ready running| `- 6:0:1:3 sdr 65:16 active ready running`-+- policy='round-robin 0' prio=10 status=enabled|- 6:0:0:3 sdo 8:224 active ready running`- 5:0:0:3 sde 8:64 active ready runningmpath7 (36006048c0b49c13af746348067dac3bb) dm-7 EMC,Celerrasize=1.0T features='0' hwhandler='0' wp=rw|-+- policy='round-robin 0' prio=1 status=active| `- 7:0:0:1 sdl 8:176 active ready running`-+- policy='round-robin 0' prio=1 status=enabled`- 8:0:0:1 sdk 8:160 active undef runningmpath6 (36006048c33fbd15cdb351637f9c6ab26) dm-5 EMC,Celerrasize=1.0T features='0' hwhandler='0' wp=rw|-+- policy='round-robin 0' prio=1 status=enabled| `- 10:0:0:1 sdi 8:128 active undef running`-+- policy='round-robin 0' prio=1 status=active`- 9:0:0:1 sdj 8:144 active ready runningmpath5 (3600508b40006c54300011000004c0000) dm-1 HP,HSV200size=20G features='1 queue_if_no_path' hwhandler='0' wp=rw|-+- policy='round-robin 0' prio=50 status=active| |- 6:0:0:2 sdn 8:208 active ready running| `- 5:0:0:2 sdd 8:48 active ready running`-+- policy='round-robin 0' prio=10 status=enabled|- 5:0:1:2 sdg 8:96 active ready running`- 6:0:1:2 sdq 65:0 active ready running
Vemos el estado de los caminos posibles a cada disco y que todos están activos, sin encontrásemos alguno en fallo deberíamos revisar el hardware. (Os recomiendo revisar primero los latiguillos de fibra y comprobar los leds de las tarjetas para ver si alguno está apagada).
Listamos los discos y particiones:
Aquí ya vemos particiones pero si es un disco nuevo utilizamos fdisk sobre, por ejemplo, /dev/mapper/mpath2 y generamos una partición /dev/mapper/mpath2-part1
# ll /dev/mapper/
crw------- 1 root root 10, 236 2012-05-14 15:35 control
lrwxrwxrwx 1 root root 7 2012-05-14 15:35 mpath2 -> ../dm-2
lrwxrwxrwx 1 root root 7 2012-05-14 15:35 mpath2-part1 -> ../dm-3
lrwxrwxrwx 1 root root 7 2012-05-14 15:35 mpath5 -> ../dm-1
lrwxrwxrwx 1 root root 7 2012-05-14 15:35 mpath5-part1 -> ../dm-6
lrwxrwxrwx 1 root root 7 2012-05-16 15:55 mpath6 -> ../dm-5
lrwxrwxrwx 1 root root 8 2012-05-16 15:55 mpath6-part1 -> ../dm-11
lrwxrwxrwx 1 root root 7 2012-05-16 15:54 mpath7 -> ../dm-7
lrwxrwxrwx 1 root root 7 2012-05-16 15:54 mpath7-part1 -> ../dm-8
lrwxrwxrwx 1 root root 7 2012-05-14 15:35 mpath8 -> ../dm-0
lrwxrwxrwx 1 root root 7 2012-05-14 15:35 mpath8-part1 -> ../dm-4
Después creamos el sistema de ficheros y ya podemos motarla he incluirla en el /etc/fstab. Os recomiendo utilizar los UUID de los discos desde el fstab, para averiguarlos:
# ll /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 9 2012-05-14 15:35 0059c482-d8b9-4d88-8d98-f15b71318077 -> ../../md3
lrwxrwxrwx 1 root root 9 2012-05-14 15:35 056f57cb-1b77-4df5-a023-1f20c41c21e7 -> ../../md4
lrwxrwxrwx 1 root root 10 2012-05-14 15:35 13776bb7-2242-4068-a41f-e919baff3a86 -> ../../dm-4
lrwxrwxrwx 1 root root 10 2012-05-14 15:35 156c04a8-199e-41f5-b974-3ba3a4b5e635 -> ../../sdb7
lrwxrwxrwx 1 root root 9 2012-05-14 15:35 2c0bdeca-617e-4e3a-b31a-31442ac63ff7 -> ../../md2
lrwxrwxrwx 1 root root 11 2012-05-17 02:07 2df684f9-1798-4e21-960b-304933b46637 -> ../../dm-11
lrwxrwxrwx 1 root root 10 2012-05-14 15:35 3b9a2cb0-32c3-4be9-a787-340e106041d5 -> ../../dm-3
lrwxrwxrwx 1 root root 10 2012-05-17 02:07 465081f7-2591-4456-a972-847d813e4d0c -> ../../dm-8
lrwxrwxrwx 1 root root 10 2012-05-14 15:35 510ed901-d0a3-4585-b594-002d9a78b61b -> ../../dm-6
lrwxrwxrwx 1 root root 10 2012-05-14 15:35 57bc797f-74f8-467e-9145-200cdcafe180 -> ../../sda7
lrwxrwxrwx 1 root root 9 2012-05-14 15:35 7c6e736b-9f82-4107-b127-62831384d9ce -> ../../md1
lrwxrwxrwx 1 root root 9 2012-05-14 15:35 a04ca2ee-97fc-4644-8dd3-3184fead0f2c -> ../../md0
Como podemos ver aquí tenemos montados nuestros sistemas de ficheros:
# mountSi después queréis utilizar acceso concurrente desde dos servidores ocfs2 funciona muy bien.
/dev/md0 on / type ext3 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/md4 on /tmp type ext3 (rw)
/dev/md1 on /boot type ext3 (rw)
/dev/mapper/mpath2-part1 on /media/admine type ext3 (rw,acl,user_xattr,errors=remount-ro)
/dev/mapper/mpath5-part1 on /media/faxing type ext3 (rw,acl,user_xattr,errors=remount-ro)
/dev/mapper/mpath6-part1 on /media/backup type ext4 (rw,acl,user_xattr,errors=remount-ro)/dev/mapper/mpath8-part1 on /media/F type ext4 (rw,acl,user_xattr,usrquota,errors=remount-ro)
/dev/md2 on /var type ext3 (rw)
/dev/md3 on /home type ext3 (rw)
No hay comentarios:
Publicar un comentario