1、查看主机上光纤卡的WWN
[root@test1 host2]# pwd
/sys/class/fc_host/host2
[root@test1 host2]# cat port_name
0x5001438006342f80
2、在V7000存储上进行mapping
在存储上查看是否能看到该HBA卡的WWN,mapping后可重新扫描设备
[root@oawas2 host2]# cd /sys/class/scsi_host/host2
[root@oawas2 host2]# echo "- - -">./scan
可以看到认到盘了
fdisk -l
3、V7000使用Linux device-mapper multipathing driver作为多路径软件
启用步骤:
step1. service multipathd stop
step2.修改/etc/multipah.conf
备份该文件cp /etc/multipath.conf /etc/bak.multipath.conf
blacklist {
# 黑名单,就是禁止哪些设备使用multipathing driver
# 默认情况下所以的设备都在multipath的黑名单中,所以即使启动了multipathd服务并加在了内核模块,multipath也不会对链路进行聚合,必须进行修改
# 可以按照wwid逐一加入,也可以使用devnode的方式按照规律批量加入
wwid 1HITACHI_D60055750023
wwid 1HITACHI_D60055750028
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^hd[a-z]"
}
defaults {
# 默认情况下multipath生成dm设备之后,会同时在/dev/mapper/下生成以磁盘wwid为名的符号链接指向对应的dm设备。
# 如果想生成 mpath设备,则需要打开user_friendly_names选项
polling_interval 30
failback immediate
no_path_retry 5
rr_min_io 100
path_checker tur
user_friendly_names yes
}
devices {
# Storwize V7000 -->其实应该是SVC,因为2145是SVC的ID,V7000的ID是2076
# Note: If you are using RHEL6 or SUSE Linux Enterprise Server 10 Service Pack 2,
# use prio "alua" instead of prio_callout "/sbin/mpath_prio_alua /dev/%n" to disable
# the Using deprecated prio_callout message. This value disables only the error message
# and does not affect operations. If prio_callout "/sbin/mpath_prio_alua /dev/%n" is set
# on SUSE Linux Enterprise Server 10 Service Pack 2, the Using deprecated prio_callout message
# is issued for all devices when the multipath command is used.
# 根据Linux版本的不同,prio_callout有所不同,具体可参考information center
device {
vendor "IBM"
product "2145"
path_grouping_policy group_by_prio
prio_callout "/sbin/mpath_prio_alua /dev/%n"
}
}
multipaths {
#可以给multipaths取别名,这样用multipath –ll看到的就是自己取的名字了,可以用此办法避免mpath混乱,固定名字,尤其在做双机的时候
multipath {
wwid 360050768028081d5d80000000000000f
alias nectest01
}
multipath {
wwid 360050768028081d5d800000000000010
alias nectest02
}
multipath {
wwid 360050768028081d5d800000000000011
alias nectest03
}
multipath {
wwid 360050768028081d5d800000000000012
alias nectest04
}
}
如何查看磁盘的wwid呢?通过下面两个文件夹中的内容,以及对应存储上的配置,可以找到。
ls -l /dev/disk/by-id
[root@test1 disk]# ls -l ./by-id
total 0
lrwxrwxrwx 1 root root 9 Apr 6 17:00 scsi-360050768028081d5d80000000000000f -> ../../sda
lrwxrwxrwx 1 root root 9 Apr 6 17:00 scsi-360050768028081d5d800000000000010 -> ../../sdf
lrwxrwxrwx 1 root root 9 Apr 6 17:00 scsi-360050768028081d5d800000000000011 -> ../../sdg
lrwxrwxrwx 1 root root 9 Apr 6 17:00 scsi-360050768028081d5d800000000000012 -> ../../sdd
step3.重启multipathd服务(修改multipath.conf文件之后都应该重启multipath服务)
service multipathd restart
step4.chkconfig multipathd on
4、常用的一些multipath工具
清空已有的multipath记录
multipath -F
扫描磁盘,系统中会出现链路聚合之后的dm设备,同时也会在/dev/mapper/、/dev/mpath/目录下生成相应的设备。
multipath -v2
查看multipath拓扑结构
multipath -ll
可以在/dev/mapper下看到磁盘nectest01-nectest04,用这个逻辑名字来建pv、vg
另外一个重要的文件是/var/lib/multipath/bindings,这个文件中是磁盘的别名和wwid的对应关系,
但在我们这里看不到,因为我们在multipath.conf中启用了user_friendly_names,已经显示的指定了别名与wwid的关系
如果要做集群,则要求/dev/mapper下的磁盘别名一致,只要将multipath.conf中定义的磁盘alias一致即可。