ISCSI网络存储服务
一、理论部分
iSCSI的概念
iSCSI,即internetSCSI,是IETF制订的一项标准,用于将SCSI数据块映射为以太网数据包。从根本上说,它是一种基于IP Storage理论的新型存储技术,该技术将存储行业广泛应用的SCSI接口技术与IP网络技术相结合,可以在IP网络上构建SAN。简单地说,iSCSI就是在IP网络上运行SCSI协议的一种网络存储技术。iSCSI技术最初由Cisco和IBM两家开发,并且得到了广大IP存储技术爱好者的大力支持,这几年得到迅速的发展壮大。
对于中小企业的存储网络来说,iSCSI是个非常好的选择。首先,从技术实现上来讲,iSCSI是基于IP协议的技术标准,它允许网络在TCP/IP协议上传输SCSI命令,实现SCSI和TCP/IP协议的连接,这样用户就可以通过TCP/IP网络来构建SAN,只需要不多的投资,就可以方便、快捷地对信息和数据进行交互式传输和管理。但是,在iSCSI出现之前,构建SAN的唯一技术是利用光纤通道,这要花费很大的建设成本,一般中小企业无法承担。其次,iSCSI技术解决了传输效率、存储容量、兼容性、开放性、安全性等方面的诸多问题,在使用性能上绝对不输给商业的存储系统或光纤存储网络。
iSCSI的优势主要表现为:首先,iSCSI沿用TCP/IP协议,而TCP/IP是在网络方面最通用、最成熟的协议,且IP网络的基础建设非常完善,同时,SCSI技术是被磁盘和磁带等设备广泛采用的存储标准,这两点使iSCSI的建设费用和维护成本非常低廉;其次,iSCSI支持一般的以太网交换机而不是特殊的光纤通道交换机,从而减少了异构网络带来的麻烦;还有,iSCSI是通过IP封包传输存储命令,因此可以在整个Internet上传输数据,没有距离
的限制。
二、操作部分
1) 实验环境
准备一台ISCSI服务器CentOS7系统,IP地址192.168.1.100
一台initiator客户端CentOS7系统,IP地址192.168.1.200
2) 实验步骤
1、首先准备作为LUN发布的ISCSI的存储设备(可以是一整块磁盘,一个分区,逻辑卷或RAID阵列)。这里我们准备了/dev/sdb和/dev/sdc
cat /proc/partitions
2、安装target软件
yum -y install targetd targetcli
3、启动target服务
systemctl enable target systemctl start target
4、设置firewalld防火墙允许3260服务
firewall-cmd --premanet --add-prt=3260/tcp firewall-cmd --reload
5、执行targetcli工具
targetcli
6、输入help可以查看targetcli的帮助,ls查看结构
targetcli所支持的命令
7、创建块(给要发布的逻辑卷起个名字)
/backstores/block create server0.disk1 /dev/sdb
可以理解为给/dev/sdb起个名字为server0.disk1,给/dev/sdc起个名字为server0.disk2
用ls查看块
8、创建iqn名字即创建ISCSI对象
/iscsi create iqn.2017-01.com.benet:disk1
查看ISCSI对象
9、设置ACL将ISCSI对象与客户端IP或主机名绑定(注:后面的名字是initiator的名字,需要在客户端中设置)
/iscsi/iqn.2017-01.com.benet:disk/tpg1/acls create iqn.2017-01.com.benet:client
10、创建LUN并绑定块
/iscsi/iqn.2017-01.com.benet:disk1/tpg1/luns create /backstores/block/server0.disk1
(一个ISCSI对象可以创建多个LUN)
执行ls查看
11、可以看到portals选项中默认启动了0.0.0.0:3260,如果想启用指定端口可以输入下命令
/iscsi/iqn.2017-01.com.benet:disk1/tpg1/portals create 192.168.1.100 3260
在initiator端的配置:
1、安装软件
yum -y install iscsi-initlator-utils
2、给initiator起个名字输入以下内容
vim /etc/iscsi/initiatorname.iscsi
3、启动iscsi服务
systemctl enable iscsi systemctl start iscsi
4、发现存储
iscsiadm -m discovery -t st -p 192.168.1.100
5、登入存储(注:-l表示连接ISCSI目标;-u表示断开和ISCSI目标的连接)
iscsiadm -m node -T iqn.2017-01.com.benet:disk1 -p 192.168.100 -l
1、验证客户端ISCSI连接
lsscsi
剩下的操作就和操作本地硬盘一样了