2008/12/18

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.confinitiator 参数的定义,这是核心配置文件

  /etc/initiatorname.iscsiinitiator 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的配置完成

没有评论:

发表评论