linux多路径连接iScsi存储重启自动连接.docx
(9页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
9.90 积分
RHEL系统带有iSCSI initiator软件,下面描述如何配置iSCSI Initiator实现对ISCSI卷的访问1. Linux iscsi 介绍(这一条介绍了linux iscsi的基本原理和相关命令,具体配置时可略过)在Linux内核中提供了iscsi驱动,iSCSI 驱动(driver)使主机拥有了通过IP网络访问存储 的能力,驱动在主机(Initiator)和服务端(Target)间使用iSCSI协议在TCP/IP网上传输SCSI请求和响应,在构建上,iSCSI驱动与TCP/IP栈、网络驱动和网络接口卡(NIC)结合,其等同于SCSI或光纤通道卡适配器驱动对主机总线卡(HBA)的作用。驱动采用采用模块的方式,具体模块包括iscsi_tcp, libiscsi, libiscsi_tcp。Initiator守护进程介绍:/etc/iscsi/iscsid.conf --initiator配置文件/sbin/iscsiadm --initiator管理工具open-iscsi包括两个守护进程iscsid和iscsi,其中iscsid是主进程,iscsi进程则主要负责根据配置,在系统启动时进行发起端(Initiator)到服务端(target)的登录,建立发起端与服务端的会话,使主机在启动后即可使用通过iSCSI提供服务的存储设备。iscsid进程实现iSCSI协议的控制路径以及相关管理功能。例如守护进程(指iscsid)可配置为在系统启动时基于持久化的iSCSI数据库内容,自动重新开始发现(discovery)目标设备。Initiator配置介绍(前提是已经安装iSCSI initiator) 1> iSCSI initiator 名称设置 initiator名称用来唯一标识一个iSCSI Initiator端。保存此名称的配置文件为 /etc/iscsi/initiatorname.iscsi,命名规则可采用iqn-type格式,利用 iscsi-iname命令可产出一个名称,将此名称输入到initiatorname.iscsi配置文件即可。 2> iSCSI Initiator配置iSCSI Initiator的配置文件为/etc/iscsi/iscsid.conf,在iSCSI initiator的scsid进程启动和执行iscsiadm命令时,将读取这个配置文件的内容,获取与SCSI目标进行交互的相关信息,主要的配置内容包括: CHAP Settings 组 本组下的各个设置项主要用来指定Initiator与target验证方式及相关信息 设置节点会话的验证模式 node.session.auth.authmethod = CHAP CHAR(Challenge Handshake Authentication Protocol ),默认为不验证(none) 设置会话target验证initiator的CHAR用户名及对应的密码 node.session.auth.username = scott node.session.auth.password = tiger 设置会话initiator验证target的用户名及其对应的密码 #node.session.auth.username_in = username_in #node.session.auth.password_in = password_in 设置initiator发现target的验证模式,默认为不验证(none) discovery.sendtargets.auth.authmethod = CHAP 设置发现会话(discovery session)target验证initiator的CHAR用户名及对应的密码 discovery.sendtargets.auth.username = scott discovery.sendtargets.auth.password = tiger 设置发现会话(discovery session)initiator验证target的CHAR用户名及对应的密码 #discovery.sendtargets.auth.username_in = username_in #discovery.sendtargets.auth.password_in = password_in 通过上述配置项,可以看到iSCSI的主要验证方式是CHAR,并且验证是双方向的。 超时(Timeouts)设置组: 本组设置initiator与target端交互的时间限制。 重试(retry)设置组: 本组设置iscsid重试登录节点的次数。 会话和设备排队深度(session and device queue depth)设置组: 设置session排队命令的数量,设置设备队列深度 iSCSI设置(iSCSI settings)组: 启用或禁止R2T(Ready to Transmit)流控,启用后,initiator在发送任何数据前必须等待 一个R2T命令,默认为禁止(no)。 node.session.iscsi.InitialR2T = Yes|no 启用或禁止立即数据(immediate data ),禁止后,initiator不随着SCSI 命令PDU发送未请求的数据。默认为启用(Yes) node.session.iscsi.ImmediateData = Yes|No 3)initiator相关命令介绍 open-iscsi initiator-utils提供的管理命令为iscsiadm,此命令包括discovery、node、session几种模式,分别处理不同的情况。在服务器能够使用Target提供的存储空间前,必须在服务器上通过Initiator软件执行以下步骤:发现目标设备-->登录目标设备-->与目标设备建立会话,下面分别说明通过各个命令进行。省略部分。 discovery.sendtargets.timeo.active_timeout = 30 discovery.sendtargets.iscsi.MaxRecvDataSegmentLength = 327682. 通过命令检查系统是否安装了iSCSI initiator软件包,如果没有找到相关软件包,需要在系统光盘上找到相应的rpm包安装。# rpm –qa|grep iscsi如果没有安装,通过以下命令安装iSCSI initiator# yum install iscsi-initiator-utils3. 配置每次系统启动是自动开启iscsi服务# chkconfig --list |grep iscsi如果不是开机启动,即3和5是off,需要改成开机启动# chkconfig iscsi --level 35 on# chkconfig iscsid --level 35 on4. 启动iSCSI服务,查看服务状态# service iscsi start## service iscsi status5. 修改配置文件# vim /etc/iscsi/iscsid.conf node.startup=auto node.session.iscsi.InitialR2T=Yes node.session.iscsi.ImmediateData=No node.session.timeo.replacement_timeout=606. 此台RHEL主机的iscsi编号(iqn号)在/etc/iscsi/initiatorname.iscsi文件中,记录此iqn号在V3500/3700管理工具中建立主机时使用,注意图中红圈部分,也就是“InitiatorName=”后面部分是iqn号。这在存储阵列中添加主机时会用到。使用vim进行编辑,但要注意格式。# vim /etc/iscsi/initiatorname.iscsi7. 发现目标# iscsiadm -m discovery -t sendtargets -p 192.168.3.101:3260注:p后面是控制器的iscsi地址,默认端口是3260,如果没有更改默认端口,可以不用添加。如果有多个控制器都提供iscsi服务,可以继续发现其余控制器上的目标(最终通过多路径软件访问的都是一个目标)。8. 登陆到刚刚发现的控制器# iscsiadm -m node -T iqn.1986-03.com.ibm:2145.v3700.node1 -p 192.168.3.101 –login注:其中-T后面是控制器1的iqn号,-p后面是控制器1的iSCSI地址。9. 登陆成功后检查是否成功 # iscsiadm -m session 查看session# iscsiadm -m node 查看node数量10. 重复第7和8的步骤将完成对控制器2的发现和登陆操作,完成后应该同时可以看到两个控制器的信息。上图是已经完成对控制器2的发现和登陆。11. 重新扫描iSCSI设备。# iscsiadm –m node –R12. 设置开机自动加载分区# iscsiadm -m node –T PORT-NAME –p PORT-IP --op update -n node.startup -v automatic13. 通过fdisk -l命令查看硬盘可以发现V3500/3700上映射过来的卷,但是因为存在冗余的路径,所以每个卷看到了两个同样大小的存储空间,需要通过安装多路径软件来解决这个问题。14. Linux系统下多路径软件是操作系统自带的DM Multipath(DMMP)工具。首先检查系统是否已安装了DMMP软件包。# rpm -qa|grep device-mapper-multipath如果没有从系统安装光盘上找到并且安装相应软件包。# yum install device-mapper# yum install device-mapper-multipath15. 设置DMMP服务在每次系统启动时自动开启,并检查状态# chkconfig --level 2345 multipathd on# chkconfig --list |grep multipathd16. 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服务 # service multipathd start18. 检查DMMP模块是否正常加载# lsmod |grep dm_multipath19. 安装配置成功后,可以查看到DMMP管理了一个名称为mpathb的多路径设备,此设备包含有两个路径。 # multipath –ll20. 使用fdisk查看硬盘会多出一个存储设备/dev/mapper/mpatha,在分区或其他针对硬盘的操作时请使用这个设备,不要使用/dev/sdb和/dev/sdc。 # fdisk –l21. 进行分区并格式化 如果小于 2T 分区,可以使用 fdisk 进行分区,使用 MBR 分区表,如果大于 2T 分区,则不能使用 MBR 分区表,需要使用 GPT 分区表。使用 Parted 命令进行分区。格式化时硬盘分区太大,可以使用 -T largefile 参数# mkfs.ext4 -T largefile /dev/mapper/mpatha 22. 挂载分区# mount /dev/mapper/mpatha /data23. 设置开机自动加载文件系统在/etc/fstab中添加/dev/mapper/mpatha /data ext4 _netdev 0 0但是,Linux系统重启后,磁盘设备的名称可能会发生飘移,从而引起文件系统不能挂载上来或者不能正确挂载,使用UUID的方式进行挂载可以解决这个问题命令tune2fs -l /dev/mapper/mpatha可以查到文件系统的UUID在/etc/fstab中添加UUID=b0583450-3010-4112-b355-15b0d8e6a880 /data ext4 _netdev 0 0替换掉原来的那行。搞定,这样每次重启系统就可以看到自动挂载好的文件系统,使用跟本地磁盘一样。24. 至此,该教程全部结束。 关 键 词: 连接 iscsi 重启 存储 多路径 自动 linux
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:linux多路径连接iScsi存储重启自动连接.docx
链接地址: https://www.wenku365.com/p-50827534.html