在linux和Windows下配置HP FC存储设备多路径驱动

  1. 主机安装HBA卡驱动,一般光纤卡的厂家就是QLogic和Emulex的。

Linux下查看光纤卡驱动模块是否加载通过

lsmod |grep qla2xxx #查看是否加载了QLogic的光纤卡模块
lsmod |grep lpfc #查看是否加载了Emulex的光纤卡模块
modprobe lpfc  #加载相应的光纤卡模块

Windows下查看设备管理器查看是否加载了驱动(如果没有的话安装相应的光纤卡驱动)。

2. 查看光纤卡的WWN号(记录下来为存储设备映射时使用)

Linux

more /sys/class/fc_host/host1/node_name #根据光纤卡端口的数量可能会有host1,host2等。

Windows

wmic /namespace:\\root\wmi path MSFC_FCAdapterHBAAttributes get /value #查看PortWWN号码,是10进制的,需要转换到16进制(其实一般只需要把最后的号码转换一下,在存储设备中能够识别出来是那台主机即可)

3. 存储设备映射卷到主机

FC存储设备是通过WWN号来识别主机的,此处把划出来的卷分配给相应主机的WWN号码即可。

4. 安装多路径软件

Linux

yum list |grep device-mapper          #查找多路径包
yum install device-mapper-multipath   #CentOS下安装多路径软件

suse 通过yast或zypper安装,Ubuntu 通过 apt-get安装。两个包:device-mapper和device-mapper-multipath包。搜索一下安装这两个包,名字各版本可能有差别。

Windows 2008以上

服务器管理--功能--添加功能--选择Multipath IO包安装。然后选择管理员工具-MPIO--发现多路径选项卡--添加即可,重启后即可看到效果。

5. Linux多路径配置文件

centos 5.x

修改/etc/multipath.conf

defaults {
	udev_dir		/dev
	polling_interval	10
	selector		"round-robin 0"
	path_grouping_policy	failover
	getuid_callout		"/sbin/scsi_id -g -u -s /block/%n"
	prio_callout		"/bin/true"
	path_checker		tur
	rr_min_io		100
	rr_weight       	uniform
	failback		immediate
	no_path_retry		12
	user_friendly_names	yes
}

blacklist {
	devnode		"^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
	devnode 	"^hd[a-z][[0-9]*]"
}

devices {

device {
	vendor			"HP|COMPAQ"
	product 		"HSV1[01]1 \(C\)COMPAQ|HSV2[01]0|HSV300|HSV4[05]0"
	path_grouping_policy	group_by_prio
        getuid_callout		"/sbin/scsi_id -g -u -s /block/%n"
        path_checker		tur
        path_selector		"round-robin 0"
        prio_callout		"/sbin/mpath_prio_alua /dev/%n"
        rr_weight		uniform
        failback		immediate
	hardware_handler	"0"
        no_path_retry		18
	rr_min_io		100
}

device {
        vendor                  "HP"
        product                 "P2000 G3 FC|P2000G3 FC/iSCSI"
        path_grouping_policy    group_by_prio
        getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio_callout            "/sbin/mpath_prio_alua /dev/%n"
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor			"HP"
        product			"OPEN-.*"
        path_grouping_policy	multibus
        getuid_callout		"/sbin/scsi_id -g -u -s /block/%n"
	path_selector		"round-robin 0"
        rr_weight		uniform
        path_checker		tur
	hardware_handler	"0"
        failback		immediate
        no_path_retry		18
	rr_min_io		1000
}

device {
        vendor                  "HP"
        product                 "MSA VOLUME*"
        path_grouping_policy    group_by_prio
        getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio_callout            "/sbin/mpath_prio_alua /dev/%n"
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor                  "HP"
        product                 "MSA2012sa|MSA2312sa|MSA2324sa"
        path_grouping_policy    group_by_prio
        getuid_callout          "/sbin/hp_scsi_id -g -u -n -s /block/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio_callout            "/sbin/mpath_prio_alua %d"
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor                  "HP"
        product                 "MSA2312fc|MSA2324fc|MSA2312i|MSA2324i"
        path_grouping_policy    group_by_prio
        getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio_callout            "/sbin/mpath_prio_alua /dev/%n"
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor			"HP"
        product			"MSA2[02]12fc|MSA2012i"
        path_grouping_policy	multibus
        getuid_callout		"/sbin/scsi_id -g -u -s /block/%n"
	path_selector		"round-robin 0"
        rr_weight		uniform
        path_checker		tur
	hardware_handler	"0"
        failback		immediate
        no_path_retry		18
	rr_min_io		100
}

}

centos 6.x-7.0

mpathconf --enable --with_multipathd y #简化了配置,同样也可以使用5.x的配置文件

suse

defaults {
	udev_dir		/dev
	polling_interval	10
	selector		"round-robin 0"
	path_grouping_policy	failover
	getuid_callout		"/lib/udev/scsi_id -g -u /dev/%n"
	prio			const
	path_checker		tur
	rr_min_io		100
	rr_weight       	uniform
	failback		immediate
	no_path_retry		12
	user_friendly_names	yes
}

blacklist {
	devnode		"^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
	devnode 	"^hd[a-z][[0-9]*]"
}

devices {

device {
	vendor			"HP|COMPAQ"
      	product			"HSV1[01]1 \(C\)COMPAQ|HSV2[01]0|HSV300|HSV4[05]0"
	path_grouping_policy	group_by_prio
	getuid_callout          "/lib/udev/scsi_id -g -u /dev/%n"
	path_checker		tur
        path_selector		"round-robin 0"
	prio			alua
        rr_weight		uniform
        failback		immediate
	hardware_handler	"0"
        no_path_retry		18
	rr_min_io		100
}

device {
        vendor                  "HP"
        product                 "P2000 G3 FC|P2000G3 FC/iSCSI"
        path_grouping_policy    group_by_prio
        getuid_callout          "/lib/udev/scsi_id -g -u /dev/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio                    alua
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor			"HP"
        product			"OPEN-.*"
        path_grouping_policy	multibus
	getuid_callout          "/lib/udev/scsi_id -g -u /dev/%n"
	path_selector		"round-robin 0"
        rr_weight		uniform
        path_checker		tur
	hardware_handler	"0"
        failback		immediate
        no_path_retry		18
	rr_min_io		1000
}

device {
        vendor                  "HP"
        product                 "MSA VOLUME*"
        path_grouping_policy    group_by_prio
	getuid_callout          "/lib/udev/scsi_id -g -u /dev/%n"
	path_checker            tur
        path_selector           "round-robin 0"
        prio			alua
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor                  "HP"
        product                 "MSA2312fc|MSA2324fc|MSA2312i|MSA2324i|MSA2012sa|MSA2312sa|MSA2324sa|MSA2000s VOLUME"
        path_grouping_policy    group_by_prio
        getuid_callout          "/lib/udev/scsi_id -g -u /dev/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio                    alua
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor			"HP"
        product			"MSA2[02]12fc|MSA2012i"
        path_grouping_policy	multibus
        getuid_callout          "/lib/udev/scsi_id -g -u /dev/%n"
	path_selector		"round-robin 0"
        rr_weight		uniform
        path_checker		tur
	hardware_handler	"0"
        failback		immediate
        no_path_retry		18
	rr_min_io		100
}

}

ubuntu

defaults {
        udev_dir                /dev
        polling_interval        10
        selector                "round-robin 0"
        path_grouping_policy    failover
        getuid_callout          "/lib/udev/scsi_id -g -u /block/%n"
        prio_callout            "/bin/true"
        path_checker            tur
        rr_min_io               100
        rr_weight               uniform
        failback                immediate
        no_path_retry           12
        user_friendly_names     yes
}

blacklist {
        devnode         "^(ram|raw|loop|fd|md|dm-|sr|scd|st|sda)[0-9]*"
        devnode         "^hd[a-z][[0-9]*]"
        devnode         "^cciss!c[0-9]d[0-9]*"
}

devices {

device {
        vendor                  "HP|COMPAQ"
        product                 "HSV1[01]1 \(C\)COMPAQ|HSV2[01]0|HSV3[046]0|HSV4[05]0"
        path_grouping_policy    group_by_prio
        getuid_callout          "/lib/udev/scsi_id -g -u /block/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio_callout            "mpath_prio_alua /dev/%n"
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor                  "HP"
        product                 "P2000 G3 FC|P2000G3 FC/iSCSI"
        path_grouping_policy    group_by_prio
        getuid_callout          "/lib/udev/scsi_id -g -u /block/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio_callout            "mpath_prio_alua /dev/%n"
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor                  "HP"
        product                 "OPEN-.*"
        path_grouping_policy    multibus
        getuid_callout          "/lib/udev/scsi_id -g -u /block/%n"
        path_selector           "round-robin 0"
        rr_weight               uniform
        path_checker            tur
        hardware_handler        "0"
        failback                immediate
        no_path_retry           18
        rr_min_io               1000
}

device {
        vendor                  "HP"
        product                 "MSA VOLUME*"
        path_grouping_policy    group_by_prio
        getuid_callout          "/lib/udev/scsi_id -g -u /block/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio_callout            "mpath_prio_alua /dev/%n"
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor                  "HP"
        product                 "MSA2012sa|MSA2312sa|MSA2324sa"
        path_grouping_policy    group_by_prio
        getuid_callout          "/lib/udev/hp_scsi_id -g -u -n /block/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio_callout            "mpath_prio_alua %d"
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor                  "HP"
        product                 "MSA2312fc|MSA2324fc|MSA2312i|MSA2324i"
        path_grouping_policy    group_by_prio
        getuid_callout          "/lib/udev/scsi_id -g -u /block/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio_callout            "mpath_prio_alua /dev/%n"
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor                  "HP"
        product                 "MSA2[02]12fc|MSA2012i"
        path_grouping_policy    multibus
        getuid_callout          "/lib/udev/scsi_id -g -u /block/%n"
        path_selector           "round-robin 0"
        rr_weight               uniform
        path_checker            tur
        hardware_handler        "0"
        failback                immediate
        no_path_retry           18
        rr_min_io               100
}

}

其实各Linux发行版都是使用Redhat开发的multipath包,只是有些命令的位置不同而已。修改一下就可以适用与各linux系统。

具体的配置参数信息请参考:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/

6. Linux 配置多路径命令

centos 5.x

chkconfig --list|grep multipathd #查看多路径服务是否开机启动
chkconfig multipathd on #开机打开多路径服务
service multipathd start #打开多路径服务
multipath  #配置多路径 -vn n为数字,可以显示更多信息
multipath -ll #查看多路径设备和信息

其他

multipath 
multipath -ll

在启用了user_friendly_names配置后设备名为 /dev/mapper/mpathn,其中n为字母,这个是udev映射的可使用的设备,不要直接操作 /dev/dm-n 或是 /dev/mpath/mpathn,因为它们为系统所使用。

7. 排错

multipathd -k #进入交互模式,具体请查看 man multipathd
>list|show config
>reconfigure
>list|show path

小技巧:当存储添加了新的映射时,我们可以使用下面的命令让系统重新识别设备而无需重启。

echo 1 >/sys/class/fc_host/host0/issue_lip
echo 1 >/sys/class/fc_host/host1/issue_lip
echo "- - -" >/sys/class/scsi_host/host0/scan
echo "- - -" >/sys/class/scsi_host/host1/scan
时间: 2024-08-04 03:40:33

在linux和Windows下配置HP FC存储设备多路径驱动的相关文章

windows下配置android-NDK环境

第一步,下载安装cygwin,(模拟Linux 的编译环境),我们可以到Cygwin的官方网站下载Cygwin的安装程序,地址是:  http://www.cygwin.com/; 开始安装Cygwin,安装教程http://jingyan.baidu.com/article/48a42057accae3a92525045a.html 第二部,下载ndk,http://developer.android.com/tools/sdk/ndk/index.html:下载完成,解压: 第三步,在Cyg

windows下配置Sublime Text 2开发Nodejs

1 下载 Sublime Text 2 http://www.sublimetext.com/ 2 下载Nodejs插件,下载ZIP包 https://github.com/tanepiper/SublimeText-Nodejs 3 解压ZIP,重命名为Nodejs 4 将Nodejs复制到C:\Users\Administrator\AppData\Roaming\Sublime Text 2\Packages目录下 5 重启Sublime Text 2 ->Tools-->Build S

Windows 下配置 Vagrant 环境

Vagrant是一个基于 Ruby 的工具,用于创建和部署虚拟化开发环境.它使用 Oracle 的开源VirtualBox虚拟化系统. Vagrant 在快速搭建开发环境方面是很赞的,试想一个团队中,大家开发同一个东西,以前每个人都要自己搭建一套开发环境 ,有了 Vagrant,你只需要搭建一份,然后分发给所有团队成员,这样大家都立刻就有完全相同的开发环境了,即便有成员在Windows 下,也可以方便的使用 Linux 环境开发.如果团队中来了新人,也不需要手把手教他怎么搭建开发环境,给他丢一个

Windows下配置Sendmail通过php mail函数发邮件

两种php发信方式 在许多php程序中通常都需要发邮件比如discuz需要选择sendmail发信,wordpress评论回复需要发信,然而发送邮件则有两种不同的方式.一是直接通过php中的mail()函数进行发信,而则是通过写一些程序来通过stmp服务来进行发信. 前者需要程序所在服务器的支持,通常linux服务器大多有这项服务.比如之前我用的Godaddy主机就可以进行发信,但是国内主机服务商则基本不带这个函数的支持.因为在这个垃圾邮件横行霸道的年代,服务器提供商则索性关闭这个函数的使用,所

Linux(ubuntu)环境下配置weka

下载java vm.在命令行输入 wget --no-cookie --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F" http://download.oracle.com/otn-pub/java/jdk/7u25-b15/jdk-7u25-linux-i586.tar.gz 注意命令行中参数表示带cookie的下载请求,如果没有这个命令行参数下载下来的只是一个5k的网页. 安装java vm.创建java 目录 sud

Rsync+linux客户端+windows客户端配置

Rsync+linux客户端+windows客户端配置 Rsync+linux客户端+windows客户端配置 rsync是一个功能非常强大的工具,Rsync的命令格式可以为以下六种: rsync [OPTION]... SRC DEST rsync [OPTION]... SRC [[email protected]]HOST:DEST rsync [OPTION]... [[email protected]]HOST:SRC DEST rsync [OPTION]... [[email pr

在CentOS/Windows下配置Nginx(以及踩坑)

在CentOS/Windows下配置Nginx(以及踩坑) 1. 序言 因为这类文章网上比较多,实际操作起来也大同小异,所以我并不会着重于详细配置方面,而是将我配置时踩的坑写出来. 2. CentOS 2.1 第一步下载nginx包 我选择将包放在/usr/local下 cd /usr/local wget (nginx下载目录网址) 这里的下载目录可以根据需要选择版本从而决定 请点击nginx下载查看目录 2.2 安装nginx所需环境 yum?install?gcc-c++ yum?inst

Windows下配置QT OpenCV

OpenCV-Study:Windows下配置OpenCV 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:XP OpenCV版本:2.4.0 说明: 配置参考链接: http://blog.csdn.net/youhaipeng/article/details/7452972 http://blog.csdn.NET/youhaipeng/article/details/7453034 测试代码: .pro文件 [plain] vi

windows下配置nginx+php环境

windows下配置nginx+php环境 刚看到nginx这个词,我很好奇它的读法(engine x),我的直译是“引擎x”,一般引“擎代”表了性能,而“x”大多出现是表示“xtras(额外的效果)”,那么整个词的意思就是类似“极致效果”,“额外性能”.当然这里不是要来唠嗑,以上是题外话. nginx相较于我们熟悉的apache.IIS的优势,就我浅入浅出的了解,在于“反向代理”和“负载均衡”.因此考虑到能够为Web服务器节省资源,它可以代替apache来提供Web服务.那么上正题了,ngin