简介
iSCSI(Internet Small Computer System Interface),Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。与传统的SCSI技术比较起来,iSCSI技术有以下三个革命性的变化:
1.把原来只用于本机的SCSI协议透过TCP/IP网络发送,使连接距离可作无限的地域延伸;
2.连接的服务器数量无限(原来的SCSI-3的上限是15);
3.由于是服务器架构,因此也可以实现在线扩容以至动态部署。
功能
iSCSI利用了TCP/IP的port 860 和 3260 作为沟通的渠道。透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机可以透过高速的局域网集线来把SAN模拟成为本地的储存装置。
iSCSI使用 TCP/IP 协议(一般使用TCP端口860和3260)。本质上,iSCSI 让两个主机通过 IP 网络相互协商然后交换SCSI命令。这样一来,iSCSI 就是用广域网仿真了一个常用的高性能本地存储总线,从而创建了一个存储局域网(SAN)。不像某些 SAN 协议,iSCSI 不需要专用的电缆;它可以在已有的交换和 IP 基础架构上运行。然而,如果不使用专用的网络或者子网( LAN 或者 VLAN ),iSCSI SAN 的部署性能可能会严重下降。于是,iSCSI 常常被认为是光纤通道(Fiber Channel)的一个低成本替代方法,而光纤通道是需要专用的基础架构的。但是,基于以太网的光纤通道(FCoE)则不需要专用的基础架构。
虽然 iSCSI 可以与任意类型的 SCSI 设备进行通信,系统管理员几乎总是使用它来连接服务器计算机 (例如,数据库服务器) 和磁盘卷上存储阵列。 使用iSCSI SAN 的目的通常有以下两个:
1.存储集成公司希望将不同的存储资源从分散在网络上的服务器移动到统一的位置(常常是数据中心); 这可以让存储的分配变得更为有效。 SAN 环境中的服务器无需任何更改硬件或电缆连接就可以得到新分配的磁盘卷。
2.灾难恢复公司希望把存储资源从一个数据中心镜像到另一个远程的数据中心上,后者在出现长时间停电的情况下可以用作热备份。 特别是,iSCSI SAN 使我们只需要用最小的配置更改就可以在 WAN 上面迁移整个磁盘阵列,实质上就是,把存储变成了“可路由的”,就像普通的网络通信一样。
原理
SCSI层
1.接受客户端请求建立SCSI CDB,并传输给ISCSI层。
2.接受来自ISCSI层的CDB,并向应用返回数据。
iSCSI层
对SCSI CDB进行封装,以便能够在tcp/ip网络上传输。
TCP/IP层
对ip报文进行路由和转发,并提供端到端的透明可靠传输
名词解释
iSCSI Initiator 客户端
1.软件形式
在iscsi服务器上安装initiator软件后,initiator软件将以太网卡虚拟成ISCSI卡,从而实现主机和iscsi存储设备之间的iscsi和tcp/ip协议传输功能。
成本低,但iscsi报文转换需要消耗服务器cpu资源,高io和高性能环境下不适用。
2.硬件形式
使用HBA Host Bus Adapter,initiator的硬件设备,安装在ISCSI服务器上。
无需占用iscsi服务器的cpu资源,更好的性能。
iSCSI Target 服务端
一个可以用于存储数据的有ISCSI功能的设备都可以被称为' iSCSI Target' linux下的开源软件 ISCSI Enterprirse Target
实践
1.客户端安装iscsi的相关安装包,并启动iscsi服务:
yum -y install iscsi-initiator-utils-devel iscsi-initiator-utils
systemctl enable iscsi
systemctl start iscsi
2.使用命令发现target,iscsi发起方和目标方之间默认通过端口3260连接,假设已知iscsi的目标方IP是192.168.101.165,如下所示显示发现3个target:
[root@center ~]# iscsiadm -m discovery -t sendtargets -p 192.168.101.165:3260
192.168.101.165:3260,1 iqn.2005-10.org.freenas.ctl:center
192.168.101.165:3260,1 iqn.2005-10.org.freenas.ctl:game
192.168.101.165:3260,1 iqn.2005-10.org.freenas.ctl:tmp
3.以iqn.2005-10.org.freenas.ctl:center为例使用命令登录节点,iqn.2005-10.org.freenas.ctl:center是目标名:
iscsiadm -m node -T iqn.2005-10.org.freenas.ctl:tmp -p 192.168.101.165:3260 -l
4.通过lsblk命令发现是否挂载成功,下图中出现的sdb是刚刚使用iscsiadm命令映射上来的磁盘,使用mkfs格式化后将磁盘挂载到系统/tmp目录(开机自动映射和挂载不在此讨论):
5.需要解除映射时需要先使用umount命令卸载磁盘,卸载完后使用iscsiadm命令再解除映射:
至此,iSCSI映射、挂载磁盘和卸载、解除映射磁盘的简单应用已经介绍完。
文章评论