FCSAN存储与服务器关联映射后在服务器端如何识别操作
FCSAN存储与服务器关联映射后在服务器端如何识别操作
步骤如下:
一、首次映射fcsan存储的Linux系统,在系统层面的操作如下:
1.检查一下是否安装multipath软件。如果没有安装,则需要安装一下。并设为开机自启动。
# rpm -qa | grep device-mapper-multipath
2.设置开机自动启动
# chkconfig multipathd on
在centos7. x中,用# systemctl enable multipathd.service设置自动启动。
3.配置multipath软件
重要说明:
有些机器在其内部磁盘中含有本地SCSI卡。不建议在这些设备中使用DM-Multipath。另外,尽管可以使用devnode设置将/dev/sda等磁盘设备列入黑名单,但不能确保重启后/dev/sda仍是同一个名称,可以使用对应设备的WWID并将其列入黑名单;特别地,当设备中还有多个需要忽略的磁盘设备时,也要将其加入黑名单中。
其他特殊情况:例如某些虚拟机环境中,不能使用章节5.3.1中的命令查询到磁盘的WWID,此时设置时可使用明确的设备名称,如:
blacklist {
devnode "^sda$"
}
查看设备的WWID
1) CentOS 5.X及之前版本使用如下脚本命令。
#for i in `cat /proc/partitions | awk {'print $4'} | grep sd` |
2) CentOS 6.X版本使用如下脚本命令。
#for i in `cat /proc/partitions | awk {'print $4'} | grep sd` Device: sda1 WWID: Device: sda2 WWID: Device: sda WWID: 35000cca018616204 Device: sdb WWID: 3600b3426fb82c96d983ddfc59d0000d8 Device: sdd WWID: 3600b3426fb82c96d983ddfc59d0000d8 Device: sdc WWID: 3600b3426fb82c96d983ddfc59d0000d8 Device: sde WWID: 3600b3426fb82c96d983ddfc59d0000d8 |
3) CentOS 7.X版本使用如下脚本命令。
# for i in `cat /proc/partitions | awk {'print $4'} | grep sd` do echo "Device: $i WWID: `/usr/lib/udev/scsi_id --page=0x83 --whitelisted --device=/dev/$i`" done | sort -k4 Device: sda1 WWID: 35000c500109123e2 Device: sda2 WWID: 35000c500109123e2 Device: sda3 WWID: 35000c500109123e2 Device: sda4 WWID: 35000c500109123e2 Device: sda5 WWID: 35000c500109123e2 Device: sda WWID: 35000c500109123e2 Device: sdb WWID: 3600b342f3e3143ddf652df219d0000d0 Device: sdc WWID: 3600b342f3e3143ddf652df219d0000d0 |
!注意
如果无法通过该脚本获取设备的WWID号,请根据OS缺省的multipath.conf.defaults(可以通过# find / -name "multipath.conf*"命令搜索)文件中getuid_callout参数部分修改,如multipath.conf.defaults文件中getuid_callout参数为: scsi_id --page=0x83 --whitelisted --device=/dev/%n ,则查询命令中对应字段需修改为:echo "Device: $i WWID: `scsi_id --page=0x83 --whitelisted --device=/dev/$i`"
确认需要映射的磁盘
Device: sda WWID: 35000cca018616204 Device: sdb WWID: 3600b3426fb82c96d983ddfc59d0000d8 Device: sdd WWID: 3600b3426fb82c96d983ddfc59d0000d8 Device: sdc WWID: 3600b3426fb82c96d983ddfc59d0000d8 Device: sde WWID: 3600b3426fb82c96d983ddfc59d0000d8 |
i说明
1.正确使用章节5.3.1中的命令查询,并有对应的输出结果。
2.判断新增磁盘及黑名单磁盘(通常是本地磁盘及第三方磁盘),以上文中输出的结果为例,35000cca018616204为本地磁盘,需要放在黑名单中;sdb、sdc、sdd及sde具有相同的WWID,为同一个多路径设备的子设备,其WWID为3600b3426fb82c96d983ddfc59d0000d8。
4.配置多路径配置文件
1. CentOS5.X系统中配置如下:
# vi/etc/multipath.conf blacklist { wwid 35000c5005e7b271b #devnode "^sda$" } defaults { user_friendly_names yes checker_timeout 120 polling_interval 10 } devices { device { vendor "MacroSAN" product "LU" path_grouping_policy group_by_prio path_selector "round-robin 0" path_checker tur no_path_retry 30 prio_callout "/sbin/mpath_prio_alua /dev/%n" getuid_callout "/sbin/scsi_id -g -u -s /block/%n" hardware_handler "0" failback 15 } } multipaths { multipath { wwid 36001405bedd576bd6b39dfee8d0000d8 alias mpatha } multipath { wwid 3600b3426fb82c96d983ddfc59d0000d8 alias mpathb } #如有多个多路径设备,可以逐一添加 multipath { },注意{前存在空格。 } |
2. CentOS6.X系统中配置如下:
# vi/etc/multipath.conf blacklist { wwid 35000c5005e7b226b #devnode "^sda$" } defaults { user_friendly_names yes polling_interval 10 queue_without_daemon no flush_on_last_del yes checker_timeout 120 } devices { device { vendor "MacroSAN" product "LU" path_grouping_policy group_by_prio no_path_retry 30 prio alua getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n" path_checker tur path_selector "round-robin 0" hardware_handler "0" failback 15 } } multipaths { multipath { wwid 3600b342095668d2d9132d970ad0000dd alias mpatha } multipath { wwid 3600b3426fb82c96d983ddfc59d0000d8 alias mpathb } #如有多个多路径设备,可以逐一添加 multipath { },注意{前存在空格。 } |
3. CentOS7.X系统中配置如下:
# vi/etc/multipath.conf blacklist { wwid 35000c5005e7abebf #devnode "^sda$" } defaults { user_friendly_names yes polling_interval 10 queue_without_daemon no flush_on_last_del yes checker_timeout 120 } devices { device { vendor "MacroSAN" product "LU" path_grouping_policy group_by_prio no_path_retry 30 prio alua path_checker tur path_selector "round-robin 0" hardware_handler "0" failback 15 } } multipaths { multipath { wwid 3600b342095668d2d9132d970ad0000d9 alias mpatha } multipath { wwid 3600b3426fb82c96d983ddfc59d0000d8 alias mpathb } #如有多个多路径设备,可以逐一添加 multipath { },注意{前存在空格。 } |
i说明
其中:
user_friendly_names:显示存储设备厂商
polling_interval:路径监测间隔时间,全局参数,对每条路径都有效
vendor:LUN的制造商
product:产品的ID
path_grouping_policy:选择路径的方式
path_selector:路径的工作方式
path_checker:检查路径的方式
no_path_retry:路径丢失时,一直等待直到路径恢复
prio:获取路径的优先级
getuid_callout:获取LUN的scsi_id
hardware_handler:1表示emc的LUN
failback:路径切换的时间(秒)
queue_without_daemon及flush_on_last_del:解决关于Linux服务器对存储端的Lun创建PV后,设备不能成功重启/关机,或Linux系统下强制取消FC关联Lun后,服务器不能成功重启/关机的问题。
!注意
群集环境中,如需使用共享LUN,可以先在其中任意一个节点完成多路径配置,然后再开启其他节点并完成后续设置。以此可以确保各节点中发现的多路径设备名称相同。
5.加载dm-multipath模块
# modprobe dm-multipath
6.重启多路径服务
# /etc/init.d/multipathd restart
#linux7命令
# systemctl restart multipathd.service
7.查看多路径状态
问题:
如果没有多路径出现则需要执行:
# ls /sys/class/fc_host/ //查询光模块
对上述查询到的每个host依次做如下操作
# echo "- - -" > /sys/class/scsi_host/hostX/scan
然在执行multipath -r就可以看到新映射的磁盘了。
二、第二次以以后映射fcsan存储操作如下:
1.底层识别操作
# ls /sys/class/fc_host/ //查询光模块
对上述查询到的每个host依次做如下操作
# echo "- - -" > /sys/class/scsi_host/hostX/scan
2.查看wwid
3.修改配置文件
4.重启multipathd服务,然在执行multipath -r就可以看到新映射的磁盘了。