一、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分配一个卷,测试就以本地目录作为存储设备,正式使用推荐使用单独的硬盘,类型为fileioAlias 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 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 说明挂载成功了。 接下来,就可以用 fdisk /dev/sdb mkfs.ext3 /dev/sdb 对磁盘进行分区、格式化了 之后,可以执行以下命令进行I/O速度测试。
hdparm -tT /dev/sdb 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. 执行 /etc/init.d/open-iscsi restart 重启open-iscsi服务,再fdisk -l就可以看到刚才挂载的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即可。 (责任编辑:IT) |