thlm0 2019-12-20
网络存储服务ip-san搭建
一.简介
SAN (存储区域网络 storage area network and SAN protocols ,简称SAN),它是一种高速网络实现计算机与存储系统之间的数据传输。常见的分类是FC-SAN和IP-SAN两种。
FC-SAN通过光纤通道协议转发scsi协议;IP-SAN通过TCP协议转发scsi协议,也就是IP 地址。存储设备是指一台或多台用以存储计算机数据的磁盘设备,通常指磁盘阵列,主要厂商EMC、日立等。
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属于端到端的会话层协议,它定义的是SCSI到TCP/IP的映射(如下图),即Initiator将SCSI指令和数据封装成iSCSI协议数据单元,向下提交给TCP层,最后封装成IP数据包在IP网络上传输,到达Target后通过解封装还原成SCSI指令和数据,再由存储控制器发送到指定的驱动器,从而实现SCSI命令和数据在IP网络上的透明传输。它整合了现有的存储协议SCSI和网络协议TCP/IP,实现了存储与TCP/IP网络的无缝融合。
二.实验环境
1. 安装配置iSCSI Target服务端
[ ~]# yum install -y scsi-target-utils
2 . 启动target服务
[ ~]# systemctl enable tgtd
3. 放通防火墙
[ ~]# iptables -I INPUT 1 -p tcp --dport 3260 -j ACCEPT
[ ~]# service iptables save
4. 新建存储分区,在这里我们通过在vmvare新增加一个块10G大小的磁盘 /dev/sdb,重启服务器
[ ~]# fdisk -l |grep "Disk"
Disk /dev/sda: 21.5 GB, 21474836480 bytes
Disk identifier: 0x0004a1ec
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
Disk identifier: 0x00000000
[ ~]# fdisk /dev/sdb
5. 共享存储分区,修改/etc/tgt/targets.conf 文件
[ ~]# vim /etc/tgt/targets.conf
<target iqn.2016-08.cn.node01.www:target4_scan> #命名
backing-store /dev/sdb1 #共享的分区
initiator-address 192.168.117.11 #允许访问的地址
vendor_id node #标示
product_id target4 #产品编号
</target>
[ ~]# systemctl restart tgtd
[ ~]# yum -y install iscsi-initiator-utils
[ ~]systemctl restart iscsi
[ ~]systemctl enable iscsi
2.修改配置文件/etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2016-06.com.iscsi-host:iscsi-host
3. 通过IP发现存储节点
InitiatorName=iqn.2016-06.com.iscsi-host:iscsi-host
[ ~]# iscsiadm -m discovery -t sendtargets -p 192.168.56.20
192.168.56.20:3260,1 iqn.2016-06.com.iscsi-disks:iscsi-disks
[ ~]# iscsiadm -m node -o show
# BEGIN RECORD 6.2.0.874-2
node.name = iqn.2016-06.com.iscsi-disks:iscsi-disks
node.tpgt = 1
node.startup = automatic
node.leading_login = No.. .
# END RECORD
4. 从主机发起iscsi登陆
[ ~]# systemctl start iscsi && systemctl enable iscsi
5.发现新存储设备
[ ~]# fdisk - l
Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 126976 byte
6. 使用新存储设备
[ ~]# mkfs.xfs /dev/sdb
meta-data=/dev/sdb isize=512 agcount=4, agsize=65536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=262144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[ ~]# mount /dev/sdb /mnt
[ ~]# cd /mnt
[ mnt]# ls
[ mnt]# touch abcd
[ mnt]# ls
Abcd