iSCSI的架设与使用

来源:互联网 发布:医疗大数据面临的问题 编辑:程序博客网 时间:2024/05/21 18:29
一、iSCSI技术

  SAN(Storage Area Network的缩写)意为存储区域网络,是真正的专注于企业级的存储。SAN采用一个分离的网络(从传统的局域网中分离)连接所有的存储器和服务器,这个网络可以采用高性能的实现技术,如光纤通道(Fiber Channel),可以容纳SCSI等协议,使数据块的移动更为有效,也便于用户自由增加磁盘阵列、磁带库或服务器等设备。现在的SAN基本都是通过Fibre Channel来实现的,Fibre Channel,简称FIBRE CHANNEL,又称光纤通道,是利用专用设备进行数据高速传输的一种网络标准,主要用于连接服务器的干线(backbones),并把服务器连接到存储设备上。采用高速的FIBRE CHANNEL作为传输媒介的SAN具有光纤信道在距离、性能和连接性等方面的优势,如果结合光纤通道交换机,则可以提供高达2Gb/s的数据传输速率,使独立于应用服务器网络系统之外的SAN几乎拥有了无限的存储能力。 但是利用FIBRE CHANNEL实现的SAN虽然性能优越,扩展性极佳,但价格却贵得惊人,管理起来也非常困难,让一般用户难以承受。也是许多企业不得不忍痛放弃SAN的原因。iSCSI(互联网小型计算机系统接口)是一种在Internet协议网络上,特别是以太网上进行数据块传输的标准,是一种集成了IP和SCSI的技术。它最大的特点就是让标准的SCSI命令能够在TCP/IP网络上的主机系统(启动器)和存储设备(目标)之间传送。与光纤通道相比,iSCSI具有许多优势,用‘iSCSI=低廉+高性能’这个等式来表示再恰当不过了。iSCSI是基于IP协议的技术标准,实现了SCSI和TCP/IP协议的连接,那些以局域网为网络环境的用户只需要少量的投入,就可以方便、快捷地对信息和数据进行交互式传输和管理。相对于以往的网络接入存储,iSCSI的产生解决了开放性、容量、传输速度以及兼容性等许多问题,让用户可以通过现有的TCP/IP网络来构建存储区域网,能够更容易地管理SAN存储。

二、Ubuntu上iscsi的部署(使用9.04版本)
iscsi中target是提供磁盘的一端,而initiator是使用磁盘的一端!

Ubuntu下部署比较简单,直接apt-get installl即可。

sudo apt-get install iscsitarget
编辑配置文件:
sudo vim /etc/ietd.conf
默认的配置文件,有详细的配置说明和示例,就修改了部分(最好做好注释或者备份)
iSNSServer 192.168.0.200(提供iSCSI服务网卡的IP地址)
iSNSAccessControl No
Target iqn.2012-06.com.renyuan:storage.disk2.sys1.abc
    Lun 0 Path=/home/renyuan/iscsi,Type=fileio
    Alias renyuan_iscsi

Target iqn.2012-06.com.renyuan:storage.disk2.sys1.abc:开启一个Target,并且这个Target命名为:iqn.2012-06.com.renyuan:storage.disk2.sys1.abc

Lun 0 Path=/home/renyuan/iscsi,Type=fileio:给刚才那个命名为iqn.2012-06.com.renyuan:storage.disk2.sys1.abc的Target分配一个卷,测试就以本地目录作为存储设备,正式使用推荐使用单独的硬盘,类型为fileio
Alias renyuan_iscsi:设置一个别名:renyuan_iscsi;
保存并重启iscsi target:
sudo /etc/init.d/iscsitarget restart
会出现如下的提示:
Removing iSCSI enterprise target devices: succeeded.
Stopping iSCSI enterprise target service: succeeded.
Removing iSCSI enterprise target modules: succeeded.
Starting iSCSI enterprise target service: succeeded.

说明iscsi服务已经启动成功,可以供客户机使用了。

三、ubuntu客户机上iscsi的挂载使用

ubuntu下比较方便好用的initiator是open iscsi

1.安装:sudo apt-get install open-iscsi

2.chap设置

如果iscsi的服务器端设置了chap(没有设置chap的话,可以略去这一步),则要修改/etc/iscsi/iscsid.conf,找到以下内容,去掉前面的#,然后将用户名、密码改为san上设置好的密码

node.session.auth.authmethod = CHAP
node.session.auth.username = username
node.session.auth.password = password

3.搜索局域网内的target:

iscsiadm -m discovery -t sendtargets -p 192.168.0.200:3260 

其中 192.168.0.200 为target的ip,3260为iscsi服务的端口号,执行后可以看到如下内容:

192.168.0.200:3260,1 iqn.2012-06.com.renyuan:storage.disk2.sys1.abc

也就是找到了target和它的iqn了。注意只有红色的部分是iqn

另外,在搜索完target后,还可以用

iscsiadm -m node

来查看target的iqn

4.查看initiator端的iqn:

在终端中输入 cat /etc/iscsi/initiatorname.iscsi |grep InitiatorName

通常会显示如下信息:

InitiatorName=iqn.1993-08.org.debian:01:54df13fa873e

即可看到本机对应的iqn号了。某些盘阵在创建lun的时候,需要输入initiator端的iqn

5.登入target:

找到了target的iqn,我们就可以登入了,运行

iscsiadm -m node --targetname iqn.2012-06.com.renyuan:storage.disk2.sys1.abc --login

执行后,可以看到结果:

Logging in to [iface: default, target:iqn.2012-06.com.renyuan:storage.disk2.sys1.abc, portal:192.168.0.200,3260]
这时候,在另一个终端中运行

dmesg|tail

既可以看到

[28387.007043] sd 4:0:0:0: [sdb] Attached SCSI disk
[28387.020253] sd 4:0:0:1: [sdc] Attached SCSI disk
[28387.027187] sd 4:0:0:2: [sdd] Attached SCSI disk
[28387.033962] sd 4:0:0:3: [sde] Attached SCSI disk

说明挂载成功了。

接下来,就可以用

fdisk /dev/sdb

mkfs.ext3 /dev/sdb

对磁盘进行分区、格式化了

之后,可以执行以下命令进行I/O速度测试。

hdparm -tT /dev/sdb
这里有一个问题,每次重启电脑通过iscsi挂载的磁盘信息都会丢失,所以要在/etc/init.d/下加入一个重新挂载盘阵的脚本。

6.注销target

iscsiadm -m node --targetname iqn.2012-06.com.renyuan:storage.disk2.sys1.abc --logout

7.删除target

iscsiadm -m node --op delete --targetname iqn.2012-06.com.renyuan:storage.disk2.sys1.abc

可能会报错:

iscsiadm: This command will remove the record [iface: default, target:iqn.2012-06.com.renyuan:storage.disk2.sys1.abc, portal: 192.168.0.200,3260], but a session is using it. Logout session then rerun command to remove record.
iscsiadm: Could not execute operation on all records. Err 22.

执行

/etc/init.d/open-iscsi restart

重启open-iscsi服务,再fdisk -l就可以看到刚才挂载的iscsi盘都被卸掉了

四、windows上iscsi的挂载使用

Windows7,中默认已经安装了Microsoft iSCSI  Initiator,如果是在WindowsXP、2003下使用,则需要单独安装。到Discovery里添加192.168.0.200这个Target Portals,到Tragets里刷新,立刻发现了“ iqn.2012-06.com.renyuan:storage.disk2.sys1.abc”,马上log On,Windows发现新的磁盘,分区、格式化,投入使用。


注:如果在iscsi target步骤出现iscsitarget not enabled in "/etc/default/iscsitarget",只需到将此文件的false改为true即可。