利用iSCSI协议搭建IP-SAN

实验目的

本次实验是利用iSCSI协议来搭建一个IP-SAN系统

实验前提:
准备一个共享的设备。在实验中,可以使用分区代替一个硬盘,如果使用分区代替硬盘设备,首先需要创建分区。创建过程不在给出,在这里我使用的共享设备为/dev/sdb
实验平台为RHEL 5.8
iSCSI target所在的主机地址为:192.168.108.150
iSCSI initiator所在的主机地址有三个,分别为:192.168.108.199、192.168.108.201、192.168.108.202

IP-SAN的实现步骤

一、服务器端的配置
1、安装iSCSI服务器端
# yum -y install scsi-target-utils
在安装完成后,会生成几个文件,比较重要的文件有:
/etc/rc.d/init.d/tgtd     这个是target的守护进程
/etc/tgt/targets.conf  这个是target的配置文件,如果要想让一些配置永久生生效,需要修改其配置文件。
/usr/sbin/tgt-admin   这个是服务器端的管理工具,服务器启动后,这个程序会读取/etc/tgt/targets.conf中的信息
/usr/sbin/tgtadm   这也是一个服务器端的管理工具,不过使用这个程序来管理操作,不会让其配置永久生效,如果想让其配置永久生效,需要写到配置文件/etc/tgt/targets.conf中。

2、启动服务器端的程序
iSCSI的服务器端程序为/etc/init.d/tgtd,且该程序监听在tcp的3260端口
# service tgtd start
# chkconfig tgtd on
# netstat -tnlp | grep 3260

3、创建一个target
#tgtadm --lld iscsi --mode target --op new --tid 1  --targetname iqn.2015-03.com.xsl.www:xsl.disk1
查看所有的target的信息
# tgtadm --lld iscsi --mode target --op show
查看某个特定的target的信息,这里我创建的target的id为1,如果要查看tid为1的设备的信息,需要执行如下命令:
tgtadm --lld iscsi --mode target --op show --tid 1

4、在已有的target上创建一个LUN,LUN id为1,并指定后端存储设备的路径为/dev/sdb
# tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 --backing-store /dev/sdb
显示target上的LUN信息
#tgtadm --lld iscsi --mode target --op show
Target 1: iqn.2015-03.com.xsl.www:xsl.disk1
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Readonly: No
            Backing store type: null
            Backing store path: None
            Backing store flags:
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 53687 MB, Block size: 512
            Online: Yes
            Removable media: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdb
            Backing store flags:
    Account information:
    ACL information:

5、设定授权,只允许192.168.108.0/24这个网络中的initiator访问target
# tgtadm --lld iscsi --mode target --op bind  --tid 1 -I 192.168.108.0/24
其中的-I相当于--initiator-address
这里设置就是基于ip的认证。

如果需要设置基于用户的认证,还需要添加如下内容
创建一个新的账号和密码。这个账号是target端用来验证initiator端的
# tgtadm --lld iscsi --mode account --op new --user iscsiuser --password iscsiuser

查看以创建好的账号
# tgtadm --lld iscsi --mode account --op show
Account list:
    iscsiuser

在特定的target上添加账号
#tgtadm --lld iscsi --mode account --op bind --tid 1  --user iscsiuser
#查看target上的相关信息,是否授权以被设置
# tgtadm --lld iscsi --mode target --op show
Target 1: iqn.2015-03.com.xsl.www:xsl.disk1
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Readonly: No
            Backing store type: null
            Backing store path: None
            Backing store flags:
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 53687 MB, Block size: 512
            Online: Yes
            Removable media: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdb
            Backing store flags:
    Account information:
        iscsiuser
    ACL information:
        192.168.108.0/24

由于CHAP协议是双向认证的,因此,还需要配置一个外出账号
创建一个外出账号,这个是initiator端用来验证target端的。
# tgtadm --lld iscsi --mode account --op new --user outuser --password 123456
将这个账号添加到tid为1的target上。既然作为外出账号,需要在添加的时候,加上--outgoing选项
#tgtadm --lld iscsi --mode account --op bind --tid 1 --user outuser --outgoing
查看外出账号是否创建
# tgtadm --lld iscsi --mode target --op show
Target 1: iqn.2015-03.com.xsl.www:xsl.disk1
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Readonly: No
            Backing store type: null
            Backing store path: None
            Backing store flags:
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 53687 MB, Block size: 512
            Online: Yes
            Removable media: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sdb
            Backing store flags:
    Account information:
        iscsiuser
        outuser (outgoing)
    ACL information:
        192.168.108.0/24
  
说明:在命令行中定义的一些参数,一旦服务器重启这些参数将会丢失。因此,为了让定义的数据永久生效,需要修改配置文件/etc/tgt/targets.conf中的一些参数。关于如何修改,这里不在给出。

二、客户端的配置
1、initiator的安装
在所有的具有initiator功能的主机上安装iscsi-initiator-utils这个软件包
在这里我有三个initiator主机,因此,需要在这三台主机上安装。在这里我讲服务器端target所在的主机作为跳板机,因此,只需要执行如下命令即可:
# for I in {1..3};do  ssh ha$I\.xsl\.com  ‘yum -y install iscsi-initiator-utils‘;done
如果没有跳板机,需要在所有的主机上执行yum -y install iscsi-initiator-utils命令。
该软件包安装成功后,会生成一些文件、其中比较重要的文件有:
/etc/iscsi/iscsid.conf     这个文件将在iscsid守护进程启动和iscsiadm程序运行的时候被读取,主要是提供认证和目标指向的信息。
/etc/rc.d/init.d/iscsi   自动挂载目标设备的脚本
/etc/rc.d/init.d/iscsid   启动守护设备模块和监听程序的脚本
/sbin/iscsi-iname          这个程序可以用来修改iSCSI target设备名称的前缀,需要加上-p选项
/sbin/iscsiadm    这是一个客户端的管理工具

启动iscsi进程和iscsid进程
#service iscsi start
#service iscsid start
#chkconfig iscsi on
#chkconfig iscsid on

修改initiatorName
# echo "InitiatorName=`iscsi-iname -p iqn.2015-03.com.redhat`" > /etc/iscsi/initiatorname.iscsi
# echo "InitiatorAlias=initiator1" >> /etc/iscsi/initiatorname.iscsi

2、修改客户端的配置文件/etc/iscsi/iscsid.conf
需要在这个文件中添加如下几行:
node.session.auth.authmethod = CHAP
node.session.auth.username = iscsiuser 
node.session.auth.password = iscsiuser

3、发现iscsi设备
# iscsiadm -m discovery -t st -p 192.168.108.150:3260
192.168.108.150:3260,1 iqn.2015-03.com.xsl.www:xsl.disk1

4、登录到iSCSI设备上,并将其导入到本地
# iscsiadm -m node -T iqn.2015-03.com.xsl.www:xsl.disk1 -p 192.168.108.150:3260 -l
Logging in to [iface: default, target: iqn.2015-03.com.xsl.www:xsl.disk1, portal: 192.168.108.150,3260] (multiple)
Login to [iface: default, target: iqn.2015-03.com.xsl.www:xsl.disk1, portal: 192.168.108.150,3260] successful.

说明:
如果initiator端已经登录过此target,此时还需要先注销登录后重启iscsid服务,并在删除此前生成的database后,重新发现target,并重新登入,过程如下:
# iscsiadm -m session -r sid -u
# iscsiadm -m node -T iqn.2015-03.com.xsl.www:xsl.disk1 -p 192.168.108.150 -u
# iscsiadm -m node -T iqn.2015-03.com.xsl.www:xsl.disk1 -p 192.168.108.150  -o delete
# rm -rf /var/lib/iscsi/nodes/iqn.2015-03.com.xsl.www:xsl.disk1
# rm -rf -rf /var/lib/iscsi/send_targets/192.168.108.150,3260
# service iscsid restart

重新发现iSCSI设备,并登录

# iscsiadm -m discovery -t st -p 192.168.108.150:3260
# iscsiadm -m node -T iqn.2015-03.com.xsl.www:xsl.disk1 -p 192.168.108.150:3260 -l

5、验证iscsi设备是否导入到本地系统上
#fdisk -l
如果本地含有/dev/sdb这个硬盘,表示iscsi设备已经成功导入到本地。

6、在多个设备上进行测试是否iscsi设备都可以导入到本地
在多个initiator端上执行如下命令,查看是否iscsi设备导入到本地,这里我有3个initiator端,因此,需要在这三个initiator端执行如下命令:
# iscsiadm -m discovery -t st -p 192.168.108.150:3260
# iscsiadm -m node -T iqn.2015-03.com.xsl.www:xsl.disk1 -p 192.168.108.150:3260 -l

最后在每一个initiator端上执行fdisk -l命令,看看/dev/sdb是存在。如果存在,则说明iscsi设备都导入到了本地。因此,三个initiator端上的应用程序都可以访问iSCSI设备了。

时间: 2024-08-10 23:28:47

利用iSCSI协议搭建IP-SAN的相关文章

对于NAS,IP SAN以及iSCSCI SAN存储的一些认识和理解

一直以来用户对于在选购存储产品上有许多不清楚,市场上有NAS, FC SAN,IP SAN和iSCSCI SAN产品,到底哪种类型的产品更适合支撑企业的应用系统呢?我们经常可以听到用户讲: "NAS只能存储文件,而SAN只能存储数据库的数据,所以企业有ERP系统的一定只能购买SAN的".从用户的观念和理解来看,这句话只能描述了NAS和SAN应用的一部分,并不是完全正确的;让我们来理解一下他们间的区别和联系吧:1.    NAS和SAN存储a. NAS本身可以做为一台网络设备.通过内置采

[ZT]DAS\NAS\IP SAN\FC SAN之区别

DAS:服务器直接后挂存储设备,最经济的一种结构. NAS:网络上直接挂接的存储设备,其实就是处于以太网上的一台利用NFS.CIFS等网络文件系统的文件共享服务器. SAN是网络上的磁盘,NAS是一个网络上的文件系统. IP SAN:应用iSCSI技术的SAN(storage area network)网络,传输介质为IP网. FC SAN:是应用光纤技术的SAN网络,传输介质为光纤,性能最高,目前使用最广. 1. 直连方式存储 (Direct Attached Storage-DAS)存储设备

centos 6.5环境利用iscsi搭建SAN网络存储服务及服务端target和客户端initiator配置详解

一.简介 iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择.iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料. iSCSI是一种基于TCP/IP 的协议,用来建立和管理IP存储设备.主机和客户机等之间的相互连接,并创建存储区域网

基于ip san的iscsi操作实现过程

SAN是storage area network(存储区域网络)的简写,早期的san采用的是光纤通道技术,后期当iscsi协议出现以后,为了区分两者,就划分了IP SAN和FC SAN.FC SAN由于其昂贵的价格让许多企业退避三舍,IP SAN作为一个很好的代替产品出现在了人们的视线中.现在大部分存储设备提供支持基于TOE技术的接口,可以在硬件基础上处理TCP/IP协议.这意味着ISCSI设备可以处理速度已接近GigE.约100MB/秒的数据传输速率来处理I/O进程,其速率可与FC SAN的相

利用ISCSI存储技术构建IP存储网络

本文重点介绍如何构建一个PC构架的iSCSI存储系统,这里我们选择一个普通的.性能优良的.可支持多块磁盘的PC服务器作为iSCSI target,并且选择一个成熟稳定的iSCSI target软件iscsitarget,基本配置环境如表1所示:表1 这里将Target主机第三块硬盘(硬盘标识为/dev/sdc)作为iSCSI共享磁盘,硬盘大小为10G,分别共享给一台windows主机和一台Linux主机,基本结构如图1所示: 图1 下面开始详细介绍iSCSI网络存储的搭建过程. 一.安装iSCS

Linux ISCSI服务器搭建

Linux ISCSI服务器搭建 1. iscsi服务器简述 iSCSI技术是一种由IBM公司研究开发的,是一个供硬件设备使用的可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择.iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料. iSCSI:Internet 小型计算机系统接口 (iSCSI:Internet Sma

Cent OS 6上实现IP SAN存储

一.前提介绍 1.存储类型介绍 DAS:直接附加存储,是最为常见的存储方式,日常所见的笔记本,U盘等都是这种方式.其主要支持的硬盘类型有并行接口的IDE,SCSI;串行接口的SATA,SAS,USB等. NAS:是由文件服务协议实现的文件服务器,其主要表现为NFS,CIFS.    SAN:存储区域网络,可利用现有的成熟网络技术承载存储协议SCSI的相关报文. 2.SCSI介绍 SCSI是一种I/O技术,规范了一种并行的I/O总线的相关的协议,它的数据传输是以块的方式进行的,其具有设备无关性(t

存储学习之--通过StarWind在Windows 2008 Server模拟IP SAN

存储学习之--通过StarWind在Windows 2008 Server模拟IP SAN 一.StarWind 介绍 StarWind 与 StarPort iSCSI 一起,这个软件准许你输出任何本地 CD 和 DVD 数据到网络上,你在网络上能够虚拟硬盘,输出整体服务器储存子系统和大量的快照工作. 1.软件介绍 ISCSI软件. StarWind 是一个独立于硬件,适合网吧.企业虚拟磁盘数据管理.速度非常的快! 成本效益和可升级的存储管理解决方案,能够得到存储区域网络的好处,如:增强的灾难

linux系统上IP SAN的实现

一.几种流行的存储技术 1.NAS(Network Attached Storage,网络附加存储)基于标准网络协议实现数据传输,为网络中的各种不同操作系统的计算机提供文件共享和数据备份,NAS采用的是File Protocal存取方式:实现方案如nfs: 2.DAS(Direct Attached Storage,直接附加存储)是指将存储设备通过总线(SCSI.PCI.IDE等)接口直接连接到一台服务器上使用,是最流行的存储方式. 缺点: 服务器本身容易成为系统瓶颈: 服务器发生故障,数据不可