iSCSI实践图解:Linux 下iSCSI详细配置攻略

该文档简单描述了如何在Red Flag 4.1 系列和RedFlag 5.0系列配置iSCSI的initiator端,并于第三方厂商的iSCSI target端连接。这里以IBM DS300为target端例子。

什么是iSCSI

iSCSI(internet SCSI)是一套定义在TCP/IP网络上传输SCSI协议的命令。他将SCSI定义的发起方(initiator)和目标方(target)由原来的SCSI总线连接扩展到internet上,打破了SCSI定义中的存储距离的限制。下面的图示能简单说明iSCSI的工作原理。

前红旗产品只包含发起方驱动,他能连接支持iSCSI协议标准的任何目标方设备。

在红旗产品上配置iSCSI发起方

红旗4.1系列默认没有包含iSCSI发起方驱动,但是你可以到红旗的官方支持网站下载其相关驱动。对于红旗5.0系列,默认是包含了iSCSI发起方驱动的。下面的配置均以红旗DC5.0为例。配置时,我们需要使用到下面的三个文件:













文件 描述
/etc/iscsi.conf initiator 参数的定义,这是核心配置文件
/etc/initiatorname.iscsi initiator name 定义文件, 用于和target 通信,某些target 必需指定initiator name
/etc/fstab.iscsi 定义自动挂载文件,类似系统/etc/fstab 文件,这是可选配置


下面我们一步一步来配置

首先,打开/etc/iscsi.conf文件,找到大约69行,类似下面的这行

#DiscoveryAddress=172.16.81.195

去掉前面的#注释,填写target端的IP地址footnote{这里默认采用的端口是iSCSI协议中定义的3260,如果使用其他端口,请使用ip:port的方式来定义}。

接下来打开/etc/initiatorname.iscsi文件,注释下面的这行

InitiatorName=/sbin/iscsi-iname

并加上下面的这行

InitiatorName=iqn.192.168.5.1.iscsi.1

iSCSI节点名称有两种格式,iqn(iSCSI 核实符名称) 格式和 符合IEEE-EUI格式。iqn的iSCSI名称如下:

iqn.yyyy-mm.backward_naming_authority:unique_device_name

比如

iqn.2006-02.com.redflag-linux:e2d4edf37

通过上面的两个步骤,iSCSI发起方的配置基本完成。接下来需要配置目标方,下面我们以IBM DS300为例。

首先,你需要将DS300的基本配置完成,包括RAID的配置,LVM的配置等。

打开IBM ServeRAID管理,切换到下面的界面


点击添加按钮,弹出的对换框中需要填写两行,一行是发起方IQN,就是我们在配置iSCSI initiator时配置的iCSI Name,即iqn.192.168.5.1.iscsi.1;在发起方别名中填写iSCSI initiator的主机名称,这里的主机名不是全名,比如你的主机名称是ora1.redflag-linux.com,那么只需要填写ora1。


点击确定,完成一个发起方的配置,你可以使用同样的方法加入其他的发起方。

点击下一步,出现下面的界面


下图中左栏是配置好的可以使用的有效存储设备名称,选择一个你需要添加的设备名称,右栏中选中ora1,表示将这个设备分配给ora1使用.点击按钮,将其添加到右栏,结果如下图所示


可以重复上述步骤,将其他存储设备添加进来,点击下一步按钮,出现下面界面


点击应用按钮,ServRAID将修改DS300的配置。修改之前,会给出一次确定对话框,点击是按钮。


ServRAID开始应用新的配置


最后的界面如下


到这里为止,DC300的配置完成,再回到iSCSI 发起方主机,在命令行输入下面的命令来启动iSCSI服务

/etc/init.d/iscsi start

过大约30秒,使用dmesg命令查看系统日志,你应该可以看到类似下面的信息

*****************************************************************

Vendor: SEAGATE Model: ST39103FC Rev: 0002

Type: Direct-Access ANSI SCSI revision: 02

Detected scsi disk sda at scsi0, channel 0, id 0, lun 0

SCSI device sda: hdwr sector= 512 bytes.

Sectors= 17783240 [8683 MB] [8.7 GB]

sda: sda1

*****************************************************************

能看到上面的信息,表示你的iSCSI配置成功,如果没有看到,那么使用下面的命令来调试iSCSI,看看是哪个步骤出了问题:

/etc/init.d/iscsi debug7

如果希望系统启动时,就能启动iSCSI,并将对应的分区挂载上来,这个时候,需要编辑/etc/fstab.iscsi。打开该文件,添加你需要挂载的分区,格式和/etc/fstab的格式一样,比如你可以增加下面的一行来自动将/dev/sda1挂载到/opt下面

/dev/sda1 /opt ext3 defaults 0 0


最后要做的一件事情就是将iSCSI服务设置为自启动,使用下面命令:

chkconfig iscsi on

到此,iSCSI的配置完成。