linux多路径连接iScsi存储_重启自动连接_第1页
linux多路径连接iScsi存储_重启自动连接_第2页
linux多路径连接iScsi存储_重启自动连接_第3页
linux多路径连接iScsi存储_重启自动连接_第4页
linux多路径连接iScsi存储_重启自动连接_第5页
免费预览已结束,剩余4页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、RHEL 系统带有 iSCSIinitiator 软件,下面描述如何配置 iSCSIInitiator 实现对 ISCSI 卷的访问1.Linuxiscsi 介绍(这一条介绍了 linuxiscsi 的基本原理和相关命令,具体配置时可略过)在 Linux 内核中提供了 iscsi 驱动,iSCSI 驱动(driver)使主机拥有了通过 IP 网络访问存储的能力,驱动在主机(Initiator)和服务端(Target)间使用 iSCSI 协议在 TCP/IP 网上传输 SCSI 请求和响应,在构建上,iSCSI 驱动与 TCP/IP 栈、网络驱动和网络接卡(NIC)结合,其等同于 SCSI 或光

2、纤通道卡适配器驱动对主机总线卡(HBA)的作用。驱动采用采用模块的方式,具体模块包括iscsi_tcp,libiscsi,libiscsi_tcp。Initiator 守护进程介绍:/etc/iscsi/iscsid.conf-initiator 配置文件/sbin/iscsiadm-initiator 管理工具open-iscsi 包括两个守护进程 iscsid 和 iscsi,其中 iscsid 是主进程,iscsi 进程则主要负责根据配置,在系统启动时进行发起端(Initiator)到服务端(target)的登录,建立发起端与服务端的会话,使主机在启动后即可使用通过 iSCSI 提供服务

3、的存储设备。iscsid进程实现 iSCSI 协议的控制路径以及相关管理功能。例如守护进程(指 iscsid)可配置为在系统启动时基于持久化的 iSCSI 数据库内容,自动重新开始发现(discovery)目标设备。Initiator 配置介绍(前提是已经安装 iSCSIinitiator)1iSCSIinitiator 名称设置initiator 名称用来唯一标识一个 iSCSIInitiator 端。保存此名称的配置文件为/etc/iscsi/initiatorname.iscsi,命名规则可采用 iqn-type 格式,利用 iscsi-iname 命令可产出一个名称,将此名称输入到 i

4、nitiatorname.iscsi 配置文件即可。2iSCSIInitiator 配置 iSCSIInitiator 的配置文件为/etc/iscsi/iscsid.conf,在 iSCSIinitiator 的 scsid进程启动和执行 iscsiadm 命令时,将读取这个配置文件的内容,获取与 SCSI 目标进行交互的相关信息,主要的配置内容包括:CHAPSettings 组本组下的各个设置项主要用来指定 Initiator 与 target 验证方式及相关信息设置节点会话的验证模式node.session.auth.authmethod=CHAPCHAR(ChallengeHandsh

5、akeAuthenticationProtocol),默认为不验证(none)设置会话 target 验证 initiator 的 CHAR 用户名及对应的密码node.session.auth.username=scottnode.session.auth.password=tiger设置会话 initiator 验证 target 的用户名及其对应的密码#node.session.auth.username_in=username_in#node.session.auth.password_in=password_in设置 initiator 发现 target 的验证模式,默认为不验证(

6、none)discovery.sendtargets.auth.authmethod=CHAP设置发现会话(discoverysession)target 验证 initiator 的 CHAR 用户名及对应的密discovery.sendtargets.auth.username=scottdiscovery.sendtargets.auth.password=tiger设置发现会话(discoverysession)initiator 验证 target 的 CHAR 用户名及对应的密码#discovery.sendtargets.auth.username_in=username_in#

7、discovery.sendtargets.auth.password_in=password_in通过上述配置项,可以看到 iSCSI 的主要验证方式是 CHAR,并且验证是双方向的。超时(Timeouts)设置组:本组设置 initiator 与 target 端交互的时间限制。重试(retry)设置组:本组设置 iscsid 重试登录节点的次数。会话和设备排队深度(sessionanddevicequeuedepth)设置组:设置 session 排队命令的数量,设置设备队列深度iSCS 设置(iSCSIsettings 组:启用或禁止 R2T(ReadytoTransmit)流控,启用

8、后,initiator 在发送任何数据前必须等待一个R2T 命令,默认为禁止(no)。node.session.iscsi.InitialR2T=Yes|no启用或禁止立即数据(immediatedata),禁止后,initiator 不随着 SCSI 命令 PDU 发送未请求的数据。默认为启用(Yes)node.session.iscsi.ImmediateData=Yes|No3)initiator 相关命令介绍open-iscsiinitiator-utils 提供的管理命令为 iscsiadm,此命令包括 discoverynode、session 几种模式,分别处理不同的情况。在服务

9、器能够使用 Target 提供的存储空间前,必须在服务器上通过 Initiator 软件执行以下步骤:发现目标设备-登录目标设备-与目标设备建立会话,下面分别说明通过各个命令进行说明。(1)发现目标设备(Target),使用 iscsiadmdiscovery 模式,命令格式如下:iscsiadm-mdiscovery-Pprintlevel-ttype-pip:port-l|-pip:port-l|-D命令示例:iscsiadm-mdiscovery-tsendtargets-p192.168.1.211:3260返回信息:192.168.1.211:3260,1iqn.2012-.nayu

10、n:test-01192.168.1.211:3260,1iqn.2012-.nayun:test-02此命令查询目标门户(Portal)为 192.168.1.211:3260 上的目标,查找成功后,返回相应的 targetID,同时在/var/lib/iscsi/send_targets 和/var/lib/iscsi/nodes 目录下记录相应的门户和节点信息。/var/lib/iscsi 目录下的内容采用 dbm 数据库方式存储,所有版本的 linux 以及大多的 unix 都随系统带有一个基本的,但是却很高效的数据存储程序集合,被成为 dbm 数据库。适合于相对比较静态的索引化数据。

11、其实就是一个索引化的文件存储系统。这些信息称之为 initiatordiscoverydb,可以通过 iscsiadm 相关操作进行管理。使用 iscsiadm-mnode 命令,可以查看到发现白节点记录。备注:iSCSInode 是一个在网络上可用的 SCS 设备标识符,在 open-iscsi 中利用术语 node 表示目标(target)上的门户(portal)。一个 target 可以有多个 portal,portal 由 IP 地址和端口构成。(2)在完成目标发现后,即可以登录到相应的节点,使用目标设备提供的存储空间。node 相关命令如下:iscsiadm-mnode-Pprint

12、level-Ttargetname-pip:port-l|-u|-R|-s-ooperation-nname-vvalue-pip:port命令示例:iscsiadm-mnode-Tiqn.2012-.nayun:test-01-l执行成功,返回如下信息:Loggingintoiface:default,target:iqn.2012-.nayun:test-01,portal:192.168.1.211,3260Logintoiface:default,target:iqn.2012-.nayun:test-01,portal:192.168.1.211,3260successful.执行失

13、败,返回如下信息:iscsiadm:Couldnotlogintoiface:default,target:iqn.2012-.nayun:test-02,portal:192.168.1.211,3260.iscsiadm:initiatorreportederror(24-iSCSIloginfailedduetoauthorizationfailure)iscsiadm:Couldnotlogintoallportals出现上述提示,需要检查 target 与 initiator 的验证配置是否对应。登录成功后。在/sys/devices/platform 目录下将自动生成一个 host

14、X 目录,其中 X 是一个编号,每次有可能不同,在此目录下包含相关的 session 和 connection 信息。在服务端(target)可以查看登录情况,使用如下命令:tgt-admin-show 显示如下信息:Target1:iqn.2012-.nayun:test-01Systeminformation:Driver:iscsiState:readyI_Tnexusinformation:I_Tnexus:1Initiator:iqn.2012-.nayun:initiator-212Connection:0IPAddress:192.168.1.212LUNinformation:

15、LUN:0Type:controllerSCSIID:IET00010000SCSISN:beaf10Size:0MB,Blocksize:1Online:YesRemovablemedia:NoReadonly:NoBackingstoretype:nullBackingstorepath:NoneBackingstoreflags:LUN:1Type:diskSCSIID:IET00010001SCSISN:beaf11Size:537MB,Blocksize:512Online:YesRemovablemedia:NoReadonly:NoBackingstoretype:rdwrBac

16、kingstorepath:/dev/sdbBackingstoreflags:Accountinformation:ACLinformation:192.168.1.0/24192.168.1.210在 I_Tnexusinformation 部分显示了连接信息。(3)登录目标节点成功后,即建立了 initiator 与 target 之间的会话(session),同时 target 提供的存储设备也挂载到主机中,在/dev 目录下生成一个新的设备文件类似于 sdb、sdc 等。查看 session 命令格式如下:iscsiadm-msession-Pprintlevel-rsessioni

17、d|sysfsdir-R-u|-s命令示例:iscsiadm-msession-P3返回如下信息:iSCSITransportClassversion2.0-871version2.0-872Target:iqn.2012-.nayun:test-01CurrentPortal:192.168.1.211:3260,1PersistentPortal:192.168.1.211:3260,1*Interface:*IfaceName:defaultIfaceTransport:tcpIfaceInitiatorname:iqn.2012-.nayun:initiator-212IfaceIPa

18、ddress:192.168.1.212IfaceHWaddress:IfaceNetdev:SID:10iSCSIConnectionState:LOGGEDINiSCSISessionState:LOGGED_INInternaliscsidSessionState:NOCHANGE*NegotiatediSCSIparams:*HeaderDigest:NoneDataDigest:NoneMaxRecvDataSegmentLength:262144MaxXmitDataSegmentLength:8192FirstBurstLength:65536MaxBurstLength:262

19、144ImmediateData:YesInitialR2T:YesMaxOutstandingR2T:1*AttachedSCSIdevices:*HostNumber:11State:runningscsi11Channel00Id0Lun:0scsi11Channel00Id0Lun:1AttachedscsidisksdcState:running备注:ISCSI 会话用来标识到某个具体 SCSII_T1 接的所有 TCP 连接。同一个会话里可能有一个或多个连接。当 initiator 通过默认端口或指定端口与 target 建立连接时,登录过程就开始了,initiator 和 tar

20、get 互相认证并建立安全协议。在登录阶段,ISCSIinitiator 和 target 会协商建立多种连接属性。(4)使用 target 提供的存储盘登录到 target 后,即可使用 fdisk 等工具像使用本地磁盘一样对磁盘进行分区,并 mount到相关目录下进行文件的存取。(5)注销登录使用一下命令注销登录:iscsiadm-mnode-Tiqn.2012-.nayun:test-01-p192.168.1.211-uLoggingoutofsessionsid:1,target:iqn.2012-.nayun:test-01,portal:192.168.1.211,3260Log

21、outofsid:1,target:iqn.2012-.nayun:test-01,portal:192.168.1.211,3260successful.(6)其他操作删除一个目标(/var/lib/iscsi/nodes目录下)iscsiadm-mnode-odelete-nameiqn.2012-.nayun:test-01删除一个目标(/var/lib/iscsi/send_targets目录下)iscsiadm-modediscovery-odelete-p192.168.1.211:3260 查看某个 sendtargetsportalt 己录iscsiadm-mdiscovery

22、db-p192.168.1.211:3260-tst-oshow#BEGINRECORD2.0-872discovery.startup=manualdiscovery.type=sendtargetsdiscovery.sendtargets.address=192.168.1.211discovery.sendtargets.port=3260discovery.sendtargets.auth.authmethod=CHAPdiscovery.sendtargets.auth.username=scottdiscovery.sendtargets.auth.password=*disco

23、very.sendtargets.auth.username_in=discovery.sendtargets.auth.password_in=discovery.sendtargets.timeo.login_timeout=15discovery.sendtargets.use_discoveryd=Nodiscovery.sendtargets.discoveryd_poll_inval=30discovery.sendtargets.reopen_max=5discovery.sendtargets.timeo.auth_timeout=45discovery.sendtargets

24、.timeo.active_timeout=30discovery.sendtargets.iscsi.MaxRecvDataSegmentLength=327682 .通过命令检查系统是否安装了 iSCSIinitiator 软件包,如果没有找到相关软件包,需要在系统光盘上找到相应的 rpm 包安装。# rpm-qa|grepiscsiroot&wuxp-RHEL2#rpm-qagrepiscsiiscsiinitiator-utiIs-6.2.0.872-21,el6.x86_64root&wuxp-RHEL#如果没有安装,通过以下命令安装 iSCSIinitiator#

25、yuminstalliscsi-initiator-utils3 .配置每次系统启动是自动开启 iscsi 服务#chkconfig-list|grepiscsiroDrLD-ealhDgEchteonfiq-liarIgrepj.ac3i卜 si 口:关闭匕关闭 2:启用去后用 4:信用后用 6:关闭i9csid 口;关闭 1:关闭 2;启用 3:启用 4;店用 5;启用百;关闭如果不是开机启动,即 3 和 5 是 off,需要改成开机启动#chkconfigiscsi-level35on#chkconfigiscsid-level35on4 .启动 iSCS 服务,查看服务状态# serv

26、iceiscsistart# serviceiscsistatus5 .修改配置文件#vim/etc/iscsi/iscsid.confnode.startup=autonode.session.iscsi.InitialR2T=Yesnode.session.iscsi.ImmediateData=Nonode.session.timeo.replacement_timeout=606 .此台 RHEL主机的 iscsi编号(iqn号) 在/etc/iscsi/initiatorname.iscsi文件中, 记录此 iqn号在 V3500/3700管理工具中建立主机时使用,注意图中红圈部分,

27、也就是 InitiatorName=后面部分是 iqn 号。这在存储阵列中添加主机时会用到。使用 vim 进行编辑,但要注意格式。#vim/etc/iscsi/initiatorname.iscsirootiLocaltiostfrvim/etc/iscsi/iniriatarnoiieiscsTUiixiatarNan;c=i4ii.19S4-0S-7 .发现目标#iscsiadm-mdiscovery-tsendtargets-p192.168.3.101:3260roatCLacalhosL4iscsiadm-mdiscovery-tsendtargets-p192.166.3.101:

28、326D1 92,10.3.LO1;326。Jiqn.1566-03.Gora,ibn;145.v3700-nodel192.lS.3.L03:3260,1iqn.19S6-Q3cam.itun:2145.v3700.nodel注:p 后面是控制器的 iscsi 地址,默认端口是 3260,如果没有更改默认端口,可以不用添加。如果有多个控制器都提供 iscsi 服务,可以继续发现其余控制器上的目标(最终通过多路径软件访问的都是一个目标)。rcaEfilacaliiO3Eiscsiadir;-mdiscovery-EsendEargeug-p192.168.3.10213260L92.16S.3

29、,102:3260,1iqn.103,com.ibrj2145.700,nad-e2L92,le.3,104:3260.1com.ibJTJ2145.V37O0,nod28 .登陆到刚刚发现的控制器#iscsiadm-mnode-Tiqn.1986-.ibm:2145.v3700.node1-p192.168.3.101-login注:其中-T 后面是控制器 1 的 iqn 号,-p 后面是控制器 1 的 iSCSI 地址。9 .登陆成功后检查是否成功# iscsiadm-msession 查看 session# iscsiadm-mnode 查看 node 数量roarLocalhogn#i

30、scsiadm-msesgiontcp:1192-le.3.102:3260,1iqn_19fi6-.ihm:2145.v-37C0,node5tcp=2192.163.3.104:3260,2iqn.19603.GOIU,ibm:2145,v37C0.node2tcp:3192.166.3.101:3260,1iqn,19B-.ibm:2145.v3700.neltcp:4152.ifi.3.LS3;32Sa,2iqn,15B-03.cam.ibm:2145.v37CO.nodelraorLacaHioscflisGsiadxn-mnade132,163.3,102;3Z0,Liqr,136

31、G-03,GOiu,ibin;2145.v3700,node2152.165.3-104:320fliqn.l9B6-ibmZ145.v3700.nodeilW.16B.3.101:32Orlign_1966-03.cam.ibm:2145.v3700,nodel1-16S_3.103:320rliqn_1966-03.can.ibm:2145.V3700.nodel10 .重复第 7 和 8 的步骤将完成对控制器 2 的发现和登陆操作,完成后应该同时可以看到两个控制器的信息。上图是已经完成对控制器 2 的发现和登陆。11 .重新扫描 iSCSI 设备。#iscsiadm-mnode-R12

32、.设置开机自动加载分区#iscsiadm-mnode-TPORT-NAME-pPORT-IP-opupdate-nnode.startup-vautomatic13 .通过 fdisk-l 命令查看硬盘可以发现 V3500/3700 上映射过来的卷,但是因为存在冗余的路径,所以每个卷看到了两个同样大小的存储空间,需要通过安装多路径软件来解决这个问题。14 .Linux 系统下多路径软件是操作系统自带的 DMMultipath(DMMP)工具。首先检查系统是否已安装了 DMMP 软件包。# rpm-qa|grepdevice-mapper-multipathrcot&Localhast.

33、-Jttpm-qaIqrepdevice-mapper-muLtipathdevict-KaEper-multipfitli-libs-D,4.9-72.16.1686device-maFper-multipith-O*4.9-72,el4ifi86如果没有从系统安装光盘上找到并且安装相应软件包。# yuminstalldevice-mapper# yuminstalldevice-mapper-multipath15 .设置 DMMP 服务在每次系统启动时自动开启,并检查状态# chkconfig-level2345multipathdon# chkconfig-list|grepmulti

34、pathd16 .DMMP 需要建立一个配置文件/etc/multipath.conf,默认情况下是没有的,可以将模板配置文件复制到/etc 目录下,模板配置文件/usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf#cp/usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf/etc/multipath.conf17 .启动 multipathd 服务#servicemultipathdstart18 .检查 DMMP 模块是否正常加载#lsmod|grepdm_mu

35、ltipathIrootlGcalh3t_IsnodIgrepdmjiultipathdmmulcipash1491E2dnround_zobindmmod6997112dm_nultip&th,cm_nirrorr19 .安装配置成功后,可以查看到 DMMP 管理了一个名称为 mpathb 的多路径设备,此设备包含有两个路径。#multipath 力EMr51ocalho3c-fmuLtipath-11H4Ltia136003076300910200700000000000001)1)IDH.21453ize200GfeatniM-hlijueusif_noj)a,:hthwnand

36、ler1wp=rwI-+-E*olici=round-robLn0Tprlo=S03tacu3=activeII-3C:01C10ddc&r64ftLil-tdfaulLyrujuilnyI*-35:0:C:03dd&i48activereadyrunningT-paLiei1-roimd-robin0TpriolDJtacuaenabledI-33:0:C:0adb。:工Gaciivcteodyrunning-34:O:C:OsdcBJ32activereadyrunning20 .使用 fdisk 查看硬盘会多出一个存储设备/dev/mapper/mpatha,在分区或其他针对硬盘的操作时请使用这个设备,不要使用/dev/sdb 和/dev/sdc。#fdiskTl-一-、.D131C/dev/add1214.7GB,r2L474S364SOObytes25Sheadg63aeetors/crackj261DBcylindergnits=cylindersofl0fi5*S12=82252&0b/resSectorsze(logical/physical):512bytes/S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论