该文档简单描述了如何在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的配置完成。