openfiler与multipath多路径功能支持

简介:
原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 http://koumm.blog.51cto.com/703525/1111163

说明: 对于有两个或多个控制器的iscsi存储设备,或采用openfiler有两块网卡提供服务器的系统。需要配置多路径功能提高可用性。
本文采用openfiler来实现iscsi设备的安装与测试。
本文NAS采用openfiler 2.99.1 X64做为实验环境,为近期的一个备份环境部署做准备。
本文出自:http://koumm.blog.51cto.com


1.  并安装iSCSI启动器软件包

rpm -ivh iscsi-initiator-utils-6.2.0.871-0.10.el5.i386.rpm 
chkconfig --level 2345 iscsi on
chkconfig --level 2345 iscsid on
service iscsi start
service iscsid start


2.  多路径软件安装准备

# rpm -qa |grep mapper
device-mapper-event-1.02.55-2.el5
device-mapper-1.02.55-2.el5
device-mapper-multipath-0.4.7-42.el5
#

设置成开机自启动multipathd

# chkconfig --level 2345 multipathd on

来检查安装是否正常

# lsmod |grep dm_multipath

dm_multipath           25421  0 
scsi_dh                12097  1 dm_multipath
dm_mod                 63097  11 dm_multipath,dm_raid45,dm_snapshot,dm_zero,dm_mirror,dm_log


3.  发现存储设备

# iscsiadm -m discovery -t st -p 192.168.100.238
192.168.100.238:3260,1 iqn.2006-01.com.openfiler:tsn.f9d59aaffe9c
192.168.100.239:3260,1 iqn.2006-01.com.openfiler:tsn.f9d59aaffe9c


4. 连接两个节点,通过两个IP分别进行连接

(1) 连接登陆第一个IP

# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.f9d59aaffe9c -p 192.168.100.238 -l
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.f9d59aaffe9c, portal: 192.168.100.238,3260]
Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.f9d59aaffe9c, portal: 192.168.100.238,3260] successful.

(2) 连接登录第二个IP

# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.f9d59aaffe9c -p 192.168.100.239 -l
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.f9d59aaffe9c, portal: 192.168.100.239,3260]
Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.f9d59aaffe9c, portal: 192.168.100.239,3260] successful.


5. 查看连接状态

(1) 查看连接状态1

# iscsiadm -m session 
tcp: [1] 192.168.14.180:3260,1 iqn.2006-01.com.openfiler:tsn.355d1613342d
tcp: [2] 192.168.14.181:3260,1 iqn.2006-01.com.openfiler:tsn.355d1613342d


(2) 查看iSCSI连接设备

#  ls -l /dev/disk/by-path/
lrwxrwxrwx 1 root root  9 Jan  7 10:52 ip-192.168.100.238:3260-iscsi-iqn.2006-01.com.openfiler:tsn.f9d59aaffe9c-lun-0 -> ../../sda
lrwxrwxrwx 1 root root  9 Jan  7 10:54 ip-192.168.100.239:3260-iscsi-iqn.2006-01.com.openfiler:tsn.f9d59aaffe9c-lun-0 -> ../../sdb
lrwxrwxrwx 1 root root  9 Jan  7 10:28 pci-0000:00:07.1-ide-0:0 -> ../../hda
lrwxrwxrwx 1 root root 10 Jan  7 10:28 pci-0000:00:07.1-ide-0:0-part1 -> ../../hda1
lrwxrwxrwx 1 root root 10 Jan  7 10:28 pci-0000:00:07.1-ide-0:0-part2 -> ../../hda2
lrwxrwxrwx 1 root root  9 Jan  7 10:28 pci-0000:00:07.1-ide-1:0 -> ../../hdc


(3) 查看详细连接状态

# iscsiadm -m session -P 3

iSCSI Transport Class version 2.0-871
version 2.0-872
Target: iqn.2006-01.com.openfiler:tsn.f9d59aaffe9c
        Current Portal: 192.168.100.238:3260,1
        Persistent Portal: 192.168.100.238:3260,1
                **********
                Interface:
                **********
                Iface Name: default
                Iface Transport: tcp
                Iface Initiatorname: iqn.1994-05.com.redhat:e2b7fdf48ccd
                Iface IPaddress: 192.168.100.175
                Iface HWaddress: <empty>
                Iface Netdev: <empty>
                SID: 1
                iSCSI Connection State: LOGGED IN
                iSCSI Session State: LOGGED_IN
                Internal iscsid Session State: NO CHANGE
                ************************
                Negotiated iSCSI params:
                ************************
                HeaderDigest: None
                DataDigest: None
                MaxRecvDataSegmentLength: 262144
                MaxXmitDataSegmentLength: 131072
                FirstBurstLength: 262144
                MaxBurstLength: 262144
                ImmediateData: No
                InitialR2T: Yes
                MaxOutstandingR2T: 1
                ************************
                Attached SCSI devices:
                ************************
                Host Number: 0  State: running
                scsi0 Channel 00 Id 0 Lun: 0
                        Attached scsi disk sda          State: running
        Current Portal: 192.168.100.239:3260,1
        Persistent Portal: 192.168.100.239:3260,1
                **********
                Interface:
                **********
                Iface Name: default
                Iface Transport: tcp
                Iface Initiatorname: iqn.1994-05.com.redhat:e2b7fdf48ccd
                Iface IPaddress: 192.168.100.175
                Iface HWaddress: <empty>
                Iface Netdev: <empty>
                SID: 2
                iSCSI Connection State: LOGGED IN
                iSCSI Session State: LOGGED_IN
                Internal iscsid Session State: NO CHANGE
                ************************
                Negotiated iSCSI params:
                ************************
                HeaderDigest: None
                DataDigest: None
                MaxRecvDataSegmentLength: 262144
                MaxXmitDataSegmentLength: 131072
                FirstBurstLength: 262144
                MaxBurstLength: 262144
                ImmediateData: No
                InitialR2T: Yes
                MaxOutstandingR2T: 1
                ************************
                Attached SCSI devices:
                ************************
                Host Number: 1  State: running
                scsi1 Channel 00 Id 0 Lun: 0
                        Attached scsi disk sdb          State: running

两个设备sda,sdb分别由两个IP进行提供服务,也可查看状态都是LOGGED IN状态。

 

6.  创建multipath配置文件

(1) 生成multipath配置文件

multipath默认配置文件/etc/multipath.conf。
如果/etc/multipath.conf文件不存在,可以使用以下命令创建multipath.conf文件:

mpathconf --enable


(2) 生成磁盘设备的WWID号
说明: 通常支持多路径的情况下会出现双份磁盘设备,依次执行以下命令。

/sbin/scsi_id -g -u -s /block/sda
/sbin/scsi_id -g -u -s /block/sdb

# /sbin/scsi_id -g -u -s /block/sda
14f504e46494c4552514a796e67642d786a4c642d42346271

# /sbin/scsi_id -g -u -s /block/sdb
14f504e46494c4552514a796e67642d786a4c642d42346271

#  iscsiadm -m session 
tcp: [1] 192.168.100.238:3260,1 iqn.2006-01.com.openfiler:tsn.f9d59aaffe9c
tcp: [2] 192.168.100.239:3260,1 iqn.2006-01.com.openfiler:tsn.f9d59aaffe9c


(3) 创建配置文件

# mv /etc/multipath.conf /etc/multipath.conf.bak
# grep -v '^#' /etc/multipath.conf.bak > /etc/multipath.conf

# vi /etc/multipath.conf

blacklist {
        devnode "^hda"
}

defaults {
        user_friendly_names yes
        path_grouping_policy multibus
        failback immediate
        no_path_retry fail
}

multipaths {

        multipath {
                wwid    14f504e46494c4552514a796e67642d786a4c642d42346271
                alias   sda
        }
        multipath {
                wwid    14f504e46494c4552514a796e67642d786a4c642d42346271
                alias   sdb
        }

}

说明1: 默认multipath会把所有设备都加入到黑名单,HDA本地磁盘与光驱,需要排除掉。
上面配置文件是因为本地磁盘是hda盘做的测试。

说明2: 配置文件修改为类似下面的内容,这里禁止使用hda光驱,本地的sda磁盘。
devnode_blacklist { 
 devnode "^hda" 
 wwid 14f504e46494c4552514a796e67642d786a4c642d48346537
}


(4) 启动服务

# service multipathd start

说明: 
采用多路径设备支持后,原来的/dev/sda,/dev/sdb设备名将不能再使用,改为/dev/mapper/mpathn,/dev/dm-n等名称。
其中/dev/mapper/mpathn 是软件虚拟出来的多路径设备,这个可以被我们用来挂载使用。
其中/dev/mapper/sda 是多路径设备别名,
其中/dev/dm-n 这个是软件自身使用的,不可挂载使用。

# multipath -ll
sda (14f504e46494c4552514a796e67642d786a4c642d42346271) dm-2 OPNFILER,VIRTUAL-DISK
[size=2.0G][features=0][hwhandler=0][rw]
\_ round-robin 0 [prio=2][active]
 \_ 0:0:0:0 sda 8:0   [active][ready]
 \_ 1:0:0:0 sdb 8:16  [active][ready]


7.  挂载iSCSI设备

(1). 分区

说明: 由于采用multipath管理iscsi多路径设备后,实际的设备名称是/dev/mapper/sda, 可以再通过/dev/sda进行分区
但是进行格式化时会出现问题。
# fdisk /dev/sda
或采用
# fdisk /dev/mapper/sda
进行分区n p 1 w


(2). 格式化

# mkfs.ext3 /dev/sda1
mke2fs 1.39 (29-May-2006)
/dev/sda1 is apparently in use by the system; will not make a filesystem here!

1) 解决方法:
出现以上提示时也可以采用如下方式解决。之后就可以进行格式化操作了。

# dmsetup status
VolGroup00-LogVol01: 0 4128768 linear 
sdb: 0 8388608 multipath 2 0 0 0 2 1 A 0 1 0 8:16 A 0 E 0 1 0 8:32 A 0 
VolGroup00-LogVol00: 0 37552128 linear

# dmsetup remove_all
# dmsetup status
VolGroup00-LogVol01: 0 4128768 linear 
VolGroup00-LogVol00: 0 37552128 linear

完成后需要重启multipath服务

# service multipathd restart

2) multipath基本操作命令

# multipath -F  #删除现有路径 
# multipath -ll #查看多路径


3) 实现开机时网络挂载
# vi /etc/fstab 
/dev/mapper/sdap1  /mnt/data  ext3  _netdev  0  0

# chkconfig netfs --level 35 on
# service netfs start


或采用如下方式进行挂载:
------------------------------------------------------------
查看磁盘的UUID
# tune2fs -l /dev/sda1
.....
Filesystem UUID:          c160af38-3928-42c8-9155-ac05a1d20538

# vi /etc/fstab 
UUID=c160af38-3928-42c8-9155-ac05a1d20538  /mnt/data  ext3  _netdev  0  0 
------------------------------------------------------------

8.  故障处理

(1) 通过对openfiler的双网卡进行故障测试

openfiler系统上down掉eth0后

# multipath -ll
sda: checker msg is "readsector0 checker reports path is down"
sda (14f504e46494c4552514a796e67642d786a4c642d42346271) dm-2 OPNFILER,VIRTUAL-DISK
[size=2.0G][features=0][hwhandler=0][rw]
\_ round-robin 0 [prio=1][active]
 \_ 0:0:0:0 sda 8:0   [failed][faulty]
 \_ 1:0:0:0 sdb 8:16  [active][ready]

openfiler系统上up 掉 eth0

# multipath -ll
sda (14f504e46494c4552514a796e67642d786a4c642d42346271) dm-2 OPNFILER,VIRTUAL-DISK
[size=2.0G][features=0][hwhandler=0][rw]
\_ round-robin 0 [prio=2][active]
 \_ 0:0:0:0 sda 8:0   [active][ready]
 \_ 1:0:0:0 sdb 8:16  [active][ready]

问题:
多路径multipath在切换的时间会出现短时的无响应,multipath -ll命令会提示有一个路径当掉,多次切换会出现挂载的分区出现文件系统只读,重新挂载后正常。
[root@localhost iscsi]# cp aaa.txt ccc.txt
cp: cannot create regular file `ccc.txt': Read-only file system


(2) 删除失效的iscsi 连接:

如果因为错误配置等原因创建了iscsi 对应,系统不会自动删除,需手动删除。

例如: 
# iscsiadm -m node -o delete -T iqn.2006-01.com.openfiler:tsn.f9d59aaffe9c -p 192.168.100.238:3260 
 


 

本文出自 “koumm的linux技术博客” 博客,请务必保留此出处http://koumm.blog.51cto.com/703525/1111163

相关文章
|
弹性计算 算法 安全
SSH学习(一)- 概念了解
整体上对SSH协议进行一个概括了解。
664 3
|
SQL Oracle 关系型数据库
Oracle19C客户端部署及远程访问
Oracle19C客户端部署及远程访问
2436 0
Oracle19C客户端部署及远程访问
|
存储 网络协议 文件存储
存储技术之FC 与 iSCSI 尖峰对决
  综述:   2003 年,互联网工程任务组(IETF)批准iSCSI(互联网SCSI)协议后,很多人开始将以太网作为分块存储网络使用(成为“基于IP 的存储”)。一直以来,人们采用iFCP和FCIP 等现有协议发送基于IP 的SCSI 命令行,主要允许FC 存储区域网络(SAN)通过IP 交换数据。凭借iSCSI,SCSI 命令行可以“端对端”地传送到世界各地的以太网中。
2817 0
|
运维 Linux Docker
Docker多平台安装与配置指南
Docker的流行使得它成为开发者和运维人员不可或缺的工具。在本文中,将深入探讨如何在不同平台上安装和配置Docker,旨在为大家提供详尽的指南,确保他们能够顺利地使用这一强大的容器化工具。
|
9月前
|
人工智能 搜索推荐
PersonaCraft:首尔国立大学推出的单参考图像生成多身份全身图像技术
PersonaCraft是由首尔国立大学推出的创新技术,能够从单一参考图像生成多个人物的逼真全身图像。该技术结合了扩散模型和3D人类建模,有效处理人物间的遮挡问题,并支持用户自定义身体形状调整,为多人图像合成树立了新标准。
205 9
PersonaCraft:首尔国立大学推出的单参考图像生成多身份全身图像技术
|
10月前
|
安全 前端开发 云计算
Waline:一款开源、安全、简介的评论系统
阿里云计算巢提供了一键部署waline的功能,无需下载代码或安装复杂依赖,通过简单步骤即可搭建waline —— 一款带后端的极简风评论系统。
Waline:一款开源、安全、简介的评论系统
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
企业管理利器:中国七大CRM厂商排行揭晓
CRM理念起源于20世纪80年代,从“接触管理”发展至1999年Gartner提出CRM概念。90年代末,CRM进入中国,初期由Siebel等外企主导,后随互联网兴起,国内企业如销售易、神州云动、金蝶CRM等崛起,推动了CRM市场的快速发展。至2015年,SaaS CRM成为焦点,尽管面临挑战,但各厂商积极探索创新,形成了百花齐放的局面。
|
10月前
|
安全 数据挖掘 网络安全
网站建站如何选择合适的服务器配置
建站初期应进行长期数据分析与预测,合理选择服务器配置。主要依据同时在线人数、CPU性能、内存大小及带宽类型,同时考虑安全防护,如选择带防火墙的高防服务器,确保网站稳定运行与良好用户体验。
322 0
|
Ubuntu Linux 开发者
|
机器学习/深度学习 算法
【阿旭机器学习实战】【31】股票价格预测案例--线性回归
【阿旭机器学习实战】【31】股票价格预测案例--线性回归