在SLES系统下配置iSCSI
- 确认主机系统上安装了相应的软件包。
在成功安装系统之后,执行rpm -qa |grep iscsi命令,查询是否安装了启动器软件包。
linux-epl0:~/SPES_FOR_LINUX-2012.08.16 # rpm -qa |grep iscsi yast2-iscsi-client-2.17.34-0.5.1 open-iscsi-2.0.872-0.35.1 yast2-iscsi-server-2.17.10-0.7.3
如上所示,系统已经安装了iSCSI软件。
如果操作系统上没有安装iSCSI软件,或者是其版本过低,则可以通过yast工具来安装或者更新该软件,步骤描述如下。
- 在Linux命令行下输入yast,启动YaST。
linux-epl0:~/open-iscsi-2.0-870.2 # yast
如图4-305所示,在左侧菜单中选择“software”。
- 右侧菜单中选择“Software Management”,如图4-306所示。
- 在Search处输入iscsi,查询iscsi软件包,如图4-307所示。
- 在右侧查询出的信息中,选择需要安装的iscsi软件安装包,如图4-308所示。
- 在右侧信息中,选中菜单“Action”,然后按回车键。在其下拉菜单中选择“Install”,如图4-309所示。
- 选择右侧菜单中的“Accept”,如图4-310所示。
- 完成安装后,选择“Quit”,如图4-311所示,退出YaST。
- 在Linux命令行下输入yast,启动YaST。
- 在存储系统上配置IP。
存储系统版本不同,所支持的IP协议也不同。具体选择时应根据实际的版本和实际的应用场景来决定。
阵列iSCSI端口配置IP地址时,需要遵循下面一些原则:
- iSCSI主机端口的IP地址不能与管理网口的IP地址配置在同一个网段中。
- iSCSI主机端口的IP地址不能与心跳网口的IP地址配置在同一个网段中。
- 同一个控制器上的iSCSI主机端口IP地址不能配置在同一个网段中(虽然一些新版本的存储系统允许配置在一个网段,但是应该避免这样操作)。
只读用户不能修改iSCSI主机端口IP地址。
修改IP地址会导致该主机端口的业务中断。
- 在主机系统上配置IP。
主机系统上,配置IP地址的方法有很多,这里我们使用YaST进行配置。详细步骤如下所示:
- 进入YaST管理界面,如图4-312所示,左侧导航栏中选择“Network Devices”。
- 如图4-313所示,在右侧菜单中选择“Network Settings”,进入网络设置。
- 选择需要配置的网卡,如图4-314所示。
- 使用TAB键选择“Edit”,如图4-315所示。
- 输入IP以及子网掩码,如图4-316所示。
完成后单击右下脚的“Next”,完成后续配置。
- 完成所有网络配置后,在“Network Settings”界面选择“OK”,如图4-317所示,激活配置。
- 当主机系统和存储系统的IP地址配置完成后,可以使用Ping命令查看路径是否通畅。如果不通畅,则需要检查物理链路是否正确,IP地址设置是否无误等。
[root@root ~]# ping 100.100.100.2 PING 100.100.100.2 (100.100.100.2) 56(84) bytes of data. 64 bytes from 100.100.100.2: icmp_seq=1 ttl=64 time=0.607 ms 64 bytes from 100.100.100.2: icmp_seq=2 ttl=64 time=0.181 ms 64 bytes from 100.100.100.2: icmp_seq=3 ttl=64 time=0.159 ms ^C --- 100.100.100.2 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2399ms rtt min/avg/max/mdev = 0.159/0.315/0.607/0.207 ms
- 执行iscsiadm命令,配置主机系统启动器。
- 启动iSCSI服务。
linux-epl0:~ # /etc/init.d/open-iscsi start Loading iscsi modules: done Starting iSCSI initiator service: done Setting up iSCSI targets: unused
- 查看主机启动器信息。
[root@root ~]#cat /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.2012-10.com.example:d0104b56adc6
上面的信息中,我们可以发现主机的启动器名称为“iqn.2012-10.com.example:d0104b56adc6”。
iSCSI Initiator Name命名规则如下:
格式为iqn.domaindate.reverse.domain.name:optional name
在上面的名字中,只允许出现下面的字符:
- 特殊字符:破折号('-'),点号('.'),冒号(':')
- 小写英文字母:'a'..'z'
- 阿拉伯数字:'0'..'9'
此外,还要求名字的字符数长度不得超过223。
一些版本的操作系统下,该值为空,需要手动修改该配置文件或者是通过YaST修改该参数。
- 查找目标器。
假设存储系统上对应端口的业务IP地址为100.100.100.2,则可以在主机上执行下面的命令来查找目标器。
linux-epl0:~ # iscsiadm -m discovery -t st -p 100.100.100.2 100.100.100.2:3260,260 iqn.2006-08.com.huawei:oceanstor:21000022a10b7bb2::20103:100.100.100.2
- 登录目标器。
linux-epl0:~ # iscsiadm -m node -p 100.100.100.2 -l Logging in to [iface: default, target: iqn.2006-08.com.huawei:oceanstor:21000022a10b7bb2::20103:100.100.100.2, portal: 100.100.100.2,3260] (multiple) Login to [iface: default, target: iqn.2006-08.com.huawei:oceanstor:21000022a10b7bb2::20103:100.100.100.2, portal: 100.100.100.2,3260] successful.
- 修改open-iscsi服务为开机后自动启动。
linux-epl0:~ # chkconfig open-iscsi on
- 当存储系统和主机系统之间不使用CHAP认证的时候,本章节的配置即结束。如果需要配置CHAP认证信息,则需要使用iscsiadm命令进行配置。
linux-epl0:~ #iscsiadm -m node -o update -p 100.100.100.2 -n node.session.auth.authmethod -v CHAP linux-epl0:~ # iscsiadm -m node -o update -p 100.100.100.2 -n node.session.auth.username -v root linux-epl0:~ # iscsiadm -m node -o update -p 100.100.100.2 -n node.session.auth.password -v huawei123456 linux-epl0:~ # /etc/init.d/open-iscsi restart Stopping iSCSI daemon: iscsid dead but pid file exists [ OK ] Turning off network shutdown. Starting iSCSI daemon: [ OK ] [ OK ] Setting up iSCSI targets: Logging in to [iface: default, target: iqn.2006-08.com.huawei:oceanstor:21000022a10b7bb2::100.100.100.2-20100, portal: 100.100.100.2,3260] Login to [iface: default, target: iqn.2006-08.com.huawei:oceanstor:21000022a10b7bb2::100.100.100.2-20100, portal: 100.100.100.2,3260]: successful [ OK ]
该处的用户名和密码是存储系统上加到对应启动器上的用户名和密码,如果用户名或者密码不一致,连接就不会建立。
具体命令格式如下:
iscsiadm -m node -o update -p targetip -n node.session.auth.authmethod -v CHAP
iscsiadm -m node -o update -p targetip -n node.session.auth.username -v username
iscsiadm -m node -o update -p targetip -n node.session.auth.password -v password
上述命令的方式还适用于对多个target添加CHAP认证的情况。
当需要修改其他参数的时候,建议也使用iscsiadm修改,而不是通过修改配置文件来修改。
- 启动iSCSI服务。
- 配置阵列端启动器。
完成上面主机系统上启动器相关的配置操作后,在存储系统的管理软件上可以找到主机启动的启动器信息了,此时还需要将该启动器添加给主机。
- OceanStor T V1系列存储
可以按照下面的步骤完成OceanStor T V1系列存储的配置。
- 展开ISM管理系统主界面左侧的启动器,选择正确的启动器,如图4-318所示,单击“添加给主机”选项。
- 选择主机,添加主机端启动器。图4-319 添加主机启动器
- 当存储系统和主机系统之间不使用CHAP认证的时候,本章节的配置即结束。如果需要配置CHAP认证信息,则继续后续的步骤。
从后续的步骤开始,为配置存储系统上的CHAP认证信息。
- 在ISM导航栏中依次选择“SAN服务 > 映射 > 启动器”,在右侧的工作区中先选定需要配置的启动器,然后选择CHAP菜单中的“CHAP配置”,详细信息如图4-320所示:
- 在CHAP配置菜单中,选择右下角的“创建”,详细信息如图4-321所示。
在弹出的对话框中,配置CHAP的名称和密码,如图4-322所示。
存储系统上的CHAP账号的位长必须在4~25位之间,密码的位长必须在12~16位之间。不同的存储系统对CHAP账号和密码的构成限制可能不同,详细的信息请参考存储系统相应的帮助文件。
将之前创建的CHAP账号分配给启动器,如图4-323所示。
- CHAP账号分配给主机后,需要将其启用。
返回ISM的管理界面,在导航栏选中“启动器”,在右侧的工作区选中需要配置的启动器名称,然后在菜单栏中选择“CHAP > 状态设置”,详细信息如图4-324所示。
在系统弹出的状态设置菜单中,选择“已启用”,如图4-325所示。
此时在存储系统的ISM管理界面上查看启动器的状态如图4-326所示。
- OceanStor T V1系列存储
- 主机端LUN扫描。
SuSE主机系统上需要通过脚本rescan-scsi-bus.sh来发现LUN的变化。
当发现系统没有rescan-scsi-bus.sh时,请首先使用rpm -qa | grep sg3查询是否安装了sg3_utils-libs-xx-xx及sg3_utils-xx-xx,如果没有,请安装。
LUN扫描的步骤如下:
- 存储系统上添加LUN给主机,主机系统上执行下面的命令发现映射LUN。
[root@root ~]# rescan-scsi-bus.sh Host adapter 0 (megaraid_sas) found. Host adapter 1 (ata_piix) found. Host adapter 10 (iscsi_tcp) found. Host adapter 2 (ata_piix) found. Host adapter 3 (bnx2i) found. Host adapter 4 (bnx2i) found. Host adapter 5 (bnx2i) found. Host adapter 6 (bnx2i) found. Scanning SCSI subsystem for new devices Scanning host 0 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs Scanning for device 0 2 0 0 ... OLD: Host: scsi0 Channel: 02 Id: 00 Lun: 00 Vendor: DELL Model: PERC H700 Rev: 2.10 Type: Direct-Access ANSI SCSI revision: 05 Scanning host 1 channels 0 2 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs Scanning for device 1 0 0 0 ... OLD: Host: scsi1 Channel: 00 Id: 00 Lun: 00 Vendor: TSSTcorp Model: DVD-ROM SN-108BB Rev: D150 Type: CD-ROM ANSI SCSI revision: 05 Scanning host 2 channels 0 2 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs Scanning host 3 for all SCSI target IDs, all LUNs Scanning host 4 for all SCSI target IDs, all LUNs Scanning host 5 for all SCSI target IDs, all LUNs Scanning host 6 for all SCSI target IDs, all LUNs Scanning host 10 for all SCSI target IDs, all LUNs Scanning for device 10 0 0 0 ... OLD: Host: scsi10 Channel: 00 Id: 00 Lun: 00 Vendor: HUAWEI Model: S2600T Rev: 2105 Type: Direct-Access ANSI SCSI revision: 04 0 new device(s) found. 0 device(s) removed.
- 在主机系统上查询LUN的信息。
linux-epl0:~ # fdisk -l Disk /dev/sda: 598.8 GB, 598879502336 bytes 255 heads, 63 sectors/track, 72809 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 72809 584733870 8e Linux LVM Disk /dev/sdb: 104 MB, 104857600 bytes 4 heads, 50 sectors/track, 1024 cylinders Units = cylinders of 200 * 512 = 102400 bytes
- 如果主机系统上不能扫描到新增的LUN,则可以尝试下面方法:
- 重启open-iscsi服务:执行/etc/init.d/open-iscsi restart命令即可。
- 重新登录iSCSI目标器:执行iscsiadm -m node -u命令(退出登录)和iscsiadm -m node -l命令(登录)。
- 存储系统上添加LUN给主机,主机系统上执行下面的命令发现映射LUN。