一、常见存储技术
SCSI 小型计算机系统接口
DAS 直连式存储
NAS 网络技术存储
SAN 存储区域网络
FC 光纤通道
1、SCSI
Small Computer System Interface的简称
作为输入/输出接口
主要用于硬盘、光盘、磁带机等设备
2、DAS
Direct-Attached Storage的简称
将存储设备通过SCSI接口或光纤通道直接连接到计算机上
不能实现数据与其他主机的共享
占用服务器操作系统资源,如CPU、IO等
数据量越大,性能越差
3、NAS
Network-Attached Storage的简称
通过网络交换机连接存储系统和服务器,建立专门用于数据存储的私有网络
用户通过TCP/IP协议访问数据,采用标准的NFS/HTTTP/CIFS等
4、SAN
Storage Area Network的简称
通过光纤交换机、光纤路由器、光纤集线器等设备将磁盘阵列、磁带等存储设备与相关服务器 连接起来,形成高速专网网络
组成部分
连接设备。如路由器、光纤交换机
– 接口。如SCSI、FC
– 通信协议。如IP、SCSI
5、FC
Fibre Channel的简称
一种适合于千兆数据传输的、成熟而安全解决方案
与传统的SCSI相比,FC提供更高的数据传输速率、更远的传输距离、更多的设备连接支持以及 更稳定的性能、更简易的安装
6、FC主要组件
光纤
HBA(主机总线适配置器)
– 用于连接主机到光纤通道网络
– 主机中显示为SCSI适配器
– 减轻IO数据对处理器的负载
– 支持多路径
FC交换机
– 提供高速、无阻塞的设备连接
– 为扩展性提供更多端口
7、FC交换机交换拓扑
点到点:point-to-point
– 简单将两个设备互连
已裁定的环路:arbitratedloop
– 可多达126个设备共享一段信道或环路
交换式拓扑:switchedfabric
– 所有设备通过光纤交换机互连
8、iSCSI
Internet SCSI
IETF制定的标准,用于将SCSI数据块映射为以太网数据包
是一种基于IPStorage理论的新型存储技术
将存储行业广泛应用的SCSI接口技术与IP网络相结合
可以IP网络上构建SAN
最初由Cisco和IBM开发
9、iSCSI优势
基于IP协议技术的标准
允许网络在TCP/IP协议上传输SCSI命令
相对FC SAN,iSCSI实现的IP SAN投资更低
解决了传输效率、存储容量、兼容性、开放性、安全性等方面的问题
没有距离限制
10、iSCSI组成
客户端
– iSCSI Initiator:软件实现,成本低、性能较低
– iSCSI HBA:硬件实现,性能好,成本较高
存储设备端
– iSCSI Target
以太网交换机
iSCSI 是一种基于TCP/IP的协议,用来建立和管理IP存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。SAN 使得 SCSI 协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。
通常应用环境是:设备互相靠近,并且这些设备由 SCSI 总线连接。iSCSI 的主要功能在 TCP/IP网络上的主机系统(启动器 initiator)和存储设备(目标器 target)之间进行大量数据的封装和可靠传输过程。此外,iSCSI 提供了在 IP 网络封装 SCSI 命令,且运行在TCP上。
二、ISCSI配置 (TCP端口号3260)
1、Target端配置步骤(服务器端配置软存储)
选择target名称
安装iSCSI target
准备用于target的存储
配置target
启用服务
1.1、选择target名称
建议采用IQN(iSCSI限定名称)
全称必须全局唯一
IQN格式:iqn.
iqn.日期.域名.
命名示例:iqn.2013-01.com.tarena.tech:sata.rack2.disk1
1.2、安装iSCSI target
查询yum仓库
– [root@svr1 ~]# yum list | grep target
安装
– [root@svr1 ~]# yum -y install scsi-target-utils
查看iSCSItarget信息
– [root@svr1 ~]# yum info scsi-target-utils
1.3、iSCSI target 命令行
配置临时生效,命令复杂
创建target
[root@svr1 ~]# tgtadm --lld iscsi --op new --mode \
> target --tid 1 -Tiqn.2013-01.com.tarena.tech:disk1
导入本地块设备
[root@svr1 ~]# tgtadm --lld iscsi --op new --mode \
>logicalunit --tid 1 --lun 1 -b /dev/vol0/iscsi1
配置ACL
[root@svr1 ~]# tgtadm --lld iscsi --op bind --mode \
> target --tid 1 -I 192.168.100.200
1.4 iSCSi target 配置 (提供存储服务器端配置)
配置文件 /etc/tgt/targets.conf
1)# yum -y install scsi-target-utils //服务器端安装该软件包
2)给服务器存储设备加硬盘,然后进行分区
# fdisk -cu /dev/sdb //给该添加的硬盘分区,注意:分区结束不格式化
分区的大小,会决定客户端使用的大小
# fdisk -l //fdisk只支持≤2T的磁盘分区,用parted分2T以上的分区
Device Boot Start End Blocks Id System
/dev/sdb1 1 3080 10485760 83 Linux
3)配置永久生效,配置相对简单 # vi /etc/tgt/targets.conf
# List of files to export as LUNs
backing-store /dev/sdb1 // 写要用存储的分区或逻辑卷或dd创建的文件
initiator-address 172.17.120.1
initiator-address 172.17.120.2 //写客户端IP
initiator-address 172.17.120.3
1.5、验证Target端配置
控制服务
– [root@svr1 ~]# service tgtd {start|restart|stop|status}
设置服务开机运行
– [root@svr1 ~]# chkconfig tgtd on
查看生效信息
– [root@svr1 ~]# tgt-admin -s
1.6、配置防火墙
#iptables -I INPUT -s 192.168.1.10 -p tcp --dport 3260 -j ACCEPT
192.168.194.10是存储服务器的IP地址
三、initiator端配置 (客户端配置)
1、安装iSCSI initiator
查询yum仓库
– [root@svr1 ~]# yum list | grep initiator
安装
– [root@svr1 ~]# yum -y install iscsi-initiator-utils
查看iSCSItarget信息
– [root@svr1 ~]# yum info iscsi-initiator-utils
2、配置iSCSI initiator
启动服务
[root@svr1 ~]# service iscsi start
发现可用的target
[root@svr1 ~]# iscsiadm -m discovery -t sendtargets -p 172.16.36.1:3260 //服务器端IP
192.168.100.200:3260,1 iqn.2016-10.com.dave.tech:sata.rack2.disk1
登陆target
[root@svr1 ~]# iscsiadm -m node -T iqn.2016-10.com.dave.tech:sata.rack2.disk1 \
>-p 172.16.36.1:3260 –l //服务器端IP
Logging in to [iface: default, target: iqn.2016-10.com.dave.tech:sata.rack2.disk1, portal: 192.168.100.200,3260] (multiple)
Login to [iface: default, target: iqn.2016-10.com.dave.tech:sata.rack2.disk1, portal: 192.168.100.200,3260] successful.
3、验证initiator配置
[root@svr1~]# iscsiadm -m node -P N //(N的值=0,1)
如[root@svr1 ~]# iscsiadm -m node -P 1
[root@svr1 ~]# iscsiadm -m session -P N //(N=0-3)
[root@svr1 ~]# iscsiadm -m discovery -P N // (N=0,1)
[root@localhost ~]# iscsiadm -m node -P 1
Target: iqn.2016-10.com.dave.tech:sata.rack2.disk1
Portal: 192.168.100.200:3260,1
Iface Name: default
4、将网络存储进行分区、格式化
[root@localhost桌面]# ls /dev/sd* //查看客户端会出现一个服务器端的/dev/sdb盘
/dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sdb
[root@localhost 桌面]# fdisk -cu /dev/sdb //给/dev/sdb分区并格式化
[root@localhost 桌面]# mkfs.ext4 /dev/sdb1 //格式化该创建的分区
[root@localhost 桌面]# mkdir /idata //创建一个目录
[root@localhost 桌面]# mount /dev/sdb1 /idata //临时挂载
5、为了能够开机自动挂载文件系统,需要将其写入到/etc/fstab中
# blkid /dev/sdb1 //给/dev/sdb1分区生成一个UUID
# vi /etc/fstab //设置永久挂载
UUID=XXXXXXXX /idata ext4 defaults,_netdev 0 0
6、测试刚建立的存储
# echo "hello boy" > /idata/iscsi.txt
# cat /idata/iscsi.txt
hello boy
这样iscsi存储搭建完成了,我们就可以在目录/idata下共享或存放数据了】
6、如果有更多的主机需要挂载验证,注意后续的主机就不用再进行分区、格式化操作了。Ext4不支持 多个节点同时挂载。
7、如果继续进行对磁盘分区,虽然fdisk已经分完了,但是在/dev目录下找不到新建的分区,则执行 命令:
# partx -a /dev/sdb