Linux iSCSI安装配置手册

介绍

本系列描述了如何在不同版本的Linux环境下安装配置iSCSI initiator,按照iSCSI要求对主机重命名,以及如何进行target和LUN的相关操作,discovery,log in等。作为系列中的第一篇,阐述了CentOS,Ubuntu,RHEL, SLES版本Linux如何安装iSCSI initiator。

 

安装Linux iSCSI initiator:

 

执行iSCSI target和LUN操作前,用户必须安装Open iSCSI initiator工具。获取Open iSCSI initiator的更多信息,参考www.open-iscsi.org的README文档。

 

 

CentOS Linux

 

在CentOS Linux环境下安装iSCSI initiator工具使用以下操作步骤:

  1. 在Linux命令行,输入以下命令安装iscsi-initiator-utils包的最新版本:

yum install iscsi-initiator-utils

 

  1. 安装完成后,输入以下命令显示已安装包:

rpm -q

输出类似以下结果:

iscsi-initiator-utils-6.2.0.871-0.10.el5

 

  1. 输入以下命令启动iSCSI 服务:

service iscsi start

 

  1. 输入以下命令验证iSCSI 服务正在运行:

service iscsi status

如果service已运行,输出类似以下结果:

iscsid (pid 2412) is running…

 

 

  1. 使用chkconfig配置自动启动iSCSI服务:

chkconfig iscsi on

 

  1. 使用chkconfig命令检查iSCSI服务是否配置成随机启动:

chkconfig –list iscsi

看到级别2 3 5状态为on表示成功:

 

iscsi          0:off   1:off   2:on    3:on    4:on    5:on    6:off

 

 

Ubuntu Linux

 

在Ubuntu Linux环境下安装iSCSI initiator工具使用以下操作步骤:

  1. 在Linux命令行,输入以下命令安装iscsi-initiator-utils包的最新版本:

yes | apt-get install `apt-cache search iscsi | awk ‘{print $1}’

 

  1. 输入以下命令启动iSCSI服务:

/etc/init.d/open-iscsi start

 

RHEL Linux

 

  1. 在Linux命令行,输入以下命令安装iscsi-initiator-utils包的最新版本:

yum install iscsi-initiator-utils

 

  1. 通过编辑/etc/iscsi文件配置iSCSI initiator后台进程。

/etc/iscsi/iscsid.conf:所有刚发起的iSCSI session默认都将使用这个文件中的参数设定。

/etc/iscsi/initiatorname.iscsi:iSCSI initiator的intiator名称配置文件。

#cd /etc/iscsi/

#ls

initiatorname.iscsi  iscsid.conf

  1. 输入以下命令启动iSCSI 服务:

service iscsid start

 

  1. 输入以下命令验证iSCSI 服务正在运行:

service iscsid status

 

  1. 使用chkconfig配置自动启动iSCSI服务:

chkconfig iscsid on

 

 

  1. 使用chkconfig命令检查iSCSI服务是否配置成随机启动:

chkconfig –list iscsid

看到级别2 3 5状态为on表示成功:

iscsid          0:off   1:off   2:on    3:on    4:on    5:on    6:off

 

 

 

 

SLES Linux

 

  1. 通过编辑/etc/iscsi文件配置iSCSI initiator后台进程:

#cd /etc/iscsi/

#ls

initiatorname.iscsi  iscsid.conf

 

  1. 使用chkconfig命令启动iSCSI服务,SLES系统的服务名叫“open-iscsi”:

/etc/init.d/open-iscsi start

chkconfig open-iscsi on

 

iSCSI initiator的默认设置在以下文件中:

/etc/iscsi/iscsid.conf

Linux主机设置InitiatorName:

 

编辑/etc/iscsi/initiatorname.iscsi文件以指定IQN(iSCSI qualified name)名。

举例1:

InitiatorName= iqn.2005-03.com.redhat: 01.e7839d513f

InitiatorName 这个单词必须区分大小写。iqn规范定义的initiator name为:iqn.domaindate.reverse.domainname:optionalname。

修改过initiator名后,需再次启动iSCSI服务。

CentOS用service iscsi start命令启动(Ubuntu和SLES用/etc/init.d/open-iscsi start, REHL用service iscsid status),用service iscsi status命令查看iscsi服务的运行状态。如果服务正在运行,显示类似如下输出:

iscsid (pid 2412) is running…

探测target:

 

Open-iSCSI是通过以下数据库文件通过永久配置的:

Discovery(/var/lib/iscsi/send_targets):在/var/lib/iscsi/send_targets目录下包含iSCSI portals的配置信息,每个portal对应一个文件,文件名为“iSCSI portal IP,端口号”。例如“192.168.1.5,3260”。

Node(/var/lib/iscsi/nodes):在/var/lib/iscsi/nodes目录下,生成一个或多个以iSCSI存储服务器上的target名命名的文件夹,在该文件夹下有一个文件名为”iSCSI portal IP,端口号”的配置参数文件, 例如“192.168.1.5,3260”。该文件中是initiator登录target时使用的参数,这些参数的设置是从/etc/iscsi/iscsi.conf中的参数设置继承来的。

 

iscsiadm是用来管理iSCSI配置数据库文件的命令行工具,用户能够通过它对iSCSI nodes, sessions, connections和discovery records进行一系列操作。

iSCSI定义了三种探测类型:send targets, SLP, iSNS。此处介绍send targets方法。

 

输入以下探测命令:

iscsiadm –mode discovery –type sendtargets –portal <IP_ADDRESS>

这里IP_ADDRESS指target端iSCSI业务IP地址,默认端口是3260。–mode指可用-m代替,–type可用-t代替,–portal可用-p代替。此命令返回iqn和target portal。

 

举例2

iscsiadm -m discovery -t sendtargets -p 10.13.32.171

执行以后看到如下内容:

10.13.32.171:3260,1 iqn.2001-07.com.isilon:iscsi-beta:target1

也就是找到了target和它的iqn。

 

执行以下命令查看之前探测到的所有targets:

iscsiadm -m node

登录target:

 

找到target的iqn之后,就可以登入了。输入以下命令:

iscsiadm –mode node -T <IQN> –portal <node> –login

这里<IQN>指target的iqn名,node指target端iSCSI业务IP地址,默认端口是3260。–mode指可用-m代替, –portal可用-p代替,–login可用-l代替。

 

举例3

iscsiadm -m node -T iqn.2001-07.com.isilon:iscsi-beta:target1 -p 10.13.32.171:3260 –l

要通过指定节点,登入指定target,输入:

iscsiadm -m node -T <IQN> -p <node> -l

 

举例4

iscsiadm -m node -T iqn.2001-07.com.isilon:iscsi-beta:target1 –p 10.13.32.171:3260 -l

 

登出Target:

 

输入以下命令登出所有targets:

iscsiadm -m node –logoutall=all

 

输入以下命令登出指定节点的所有targets:

iscsiadm -m node -p <node> -u

 

举例5

iscsiadm -m node -p 10.13.32.171:3260 –u

 

输入以下命令在指定节点登出指定target:

iscsiadm -m node -T <IQN> -p <node> -u

 

举例6

iscsiadm -m node -T iqn.2001-07.com.isilon:iscsi-beta:target1 -p 10.13.32.171:3260 -u

发表回复