黑帽联盟

标题: centos 6.5环境利用iscsi搭建SAN网络存储服务及服务端target和客户端initiator配置 [打印本页]

作者: 定位    时间: 2017-6-20 13:48
标题: centos 6.5环境利用iscsi搭建SAN网络存储服务及服务端target和客户端initiator配置
一、简介
iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的、可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料。

iSCSI是一种基于TCP/IP 的协议,用来建立和管理IP存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。SAN 使得SCSI 协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。SCSI 结构基于C/S模式,其通常应用环境是:设备互相靠近,并且这些设备由SCSI 总线连接。


iSCSI 的主要功能是在TCP/IP 网络上的主机系统(启动器 initiator)和存储设备(目标器 target)之间进行大量数据的封装和可靠传输过程。
完整的iSCSI系统的拓扑结构如下:

1.png


iSCSI简单来说,就是把SCSI指令通过TCP/IP协议封装起来,在以太网中传输。iSCSI 可以实现在IP网络上传递和运行SCSI协议,使其能够在诸如高速千兆以太网上进行数据存取,实现了数据的网际传递和管理。基于iSCSI建立的存储区域网(SAN)与基于光纤的FC-SAN相比,具有很好的性价比。

iSCSI属于端到端的会话层协议,它定义的是SCSI到TCP/IP的映射(如下图),即Initiator将SCSI指令和数据封装成iSCSI协议数据单元,向下提交给TCP层,最后封装成IP数据包在IP网络上传输,到达Target后通过解封装还原成SCSI指令和数据,再由存储控制器发送到指定的驱动器,从而实现SCSI命令和数据在IP网络上的透明传输。它整合了现有的存储协议SCSI和网络协议TCP/IP,实现了存储与TCP/IP网络的无缝融合。在本文中,将把发起器Initiator称为客户端,将目标器Target称为服务端以方便理解。

2.png



二、环境准备
3.png

操作系统:CentOS release 6.5

iSCSI Target:192.168.8.42 / scsi-target-utils-1.0.24-12.el6_5.i686

iSCSI Initiator:192.168.8.39 / iscsi-initiator-utils-6.2.0.873-10.el6.i686

防火墙、selinux已关闭
# service iptables status
iptables: Firewall is not running.

# getenforce
Disabled


三、安装配置iSCSI Target服务端
# yum install -y scsi-target-utils

添加一块硬盘sdb,并新建两个分区:sdb1、sdb2 模拟san存储,在initiator看来是两块硬盘

[plain] view plain copy




使配置生效
[plain] view plain copy




启动target服务,通过ss -tnl可以看到3260端口已开启
# service tgtd start
5.png


四、服务端配置管理工具tgtadm的使用
1、创建一个target id 为1 name为iqn.2016-04.com.chinasoft.san:1d
# tgtadm -L iscsi -o new -m target -t 1 -T iqn.2016-04.com.chinasoft.san:1

2、显示所有target
# tgtadm -L iscsi -o show -m target

3、向某ID为1的设备上添加一个新的LUN,其号码为1,且此设备提供给initiator使用。/dev/sdb1是某“块设备”的路径,此块设备也可以是raid或lvm设备。lun0已经被系统预留
# tgtadm -L iscsi -o new -m logicalunit -t 1 -l 1 -b /dev/sdb1
6.png

4、定义某target的基于主机的访问控制列表,192.168.8.0/24表示允许访问此target的initiator客户端的列表:
如开放给192.168.8.0/24网络中的主机访问:
# tgtadm -L iscsi -o bind -m target -t 1 -I 192.168.8.0/24


再次向ID为1的设备上添加一个新的LUN,号码为2
# tgtadm -L iscsi -o new -m logicalunit -t 1 -l 2 -b /dev/sdb2
# tgtadm -L iscsi -o show -m target
7.png

5、解除target的基于主机的访问控制列表权限
# tgtadm -L iscsi -o unbind -m target -t 1 -I 192.168.8.0/24
# tgtadm -L iscsi -o show -m target

6、删除target中的LUN
# tgtadm -L iscsi -o delete -m target -t 1
# tgtadm -L iscsi -o show -m target


五、客户端initiator配置iscsiadm工具的使用
安装iscsi-initiator-utils工具
[plain] view plain copy




[plain] view plain copy




iscsiadm是个模式化的工具,其模式可通过-m或--mode选项指定,常见的模式有discovery、node、fw、session、host、iface几个,如果没有额外指定其它选项,则discovery和node会显示其相关的所有记录;session用于显示所有的活动会话和连接,fw显示所有的启动固件值,host显示所有的iSCSI主机,iface显示/var/lib/iscsi/ifaces目录中的所有ifaces设定。


[plain] view plain copy




发现设备
[plain] view plain copy




验证能否看到服务端设备
# fdisk -l /dev/sd[a-z]

8.png

对设备sdc分区
[plain] view plain copy




[plain] view plain copy




格式化
[plain] view plain copy





此时通过查看服务端target的分区情况并没有发生改变

9.png

关闭iSCSI服务器端
关闭iSCSI在开机重启或重启iscsi服务时自动对target进行重新连接,就需要在该客户机彻底将该target条目信息删除:
登出target会话:
# iscsiadm -m node -T iqn.2016-04.com.chinasoft.san:1 -p 192.168.8.42 -u
Logging out of session [sid: 1, target: iqn.2016-04.com.chinasoft.san:1, portal: 192.168.8.42,3260]
Logout of [sid: 1, target: iqn.2016-04.com.chinasoft.san:1, portal: 192.168.8.42,3260] successful.

删除target条目的记录:
# iscsiadm -m node -T iqn.2016-04.com.chinasoft.san:1 -p 192.168.8.42 -o delete

在客户端删除了之前discovery发现的可用的target条目,则重启或重启服务后将不会自动进行重连接。
# ls /var/lib/iscsi/send_targets/
192.168.8.42,3260
# ls /var/lib/iscsi/
ifaces  isns  nodes  send_targets  slp  static
# rm -rf /var/lib/iscsi/*
# ls /var/lib/iscsi/


六、通过编辑文件的方式定义target服务端
# cd /etc/tgt/
[# ls
targets.conf
[root@node4 tgt]# vim targets.conf
添加定义:
<target iqn.2016-04.com.chinasoft.san:2>
    backing-store /dev/sdb2
    initiator-address 192.168.8.0/24
</target>
10.png

# service tgtd restart
Stopping SCSI target daemon:                               [  OK  ]
Starting SCSI target daemon:                               [  OK  ]


# tgtadm -L iscsi -o show -m target
11.png

至此iscsi服务端target及客户端initiator工具常用配置已讲解完毕





欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/) Powered by Discuz! X2.5