1. 简述
为了进一步提升硬盘存储设备的读写速度和性能,人们一直在努力改进物理硬盘设备的接口协议。当前的硬盘接口类型主要有 IDE、 SCSI 和 SATA 这 3 种。
- IDE 是一种成熟稳定、价格便宜的并行传输接口。
- SATA 是一种传输速度更快、数据校验更完整的串行传输接口。
- SCSI 是一种用于计算机和硬盘、光驱等设备之间系统级接口的通用标准,具有系统资源占用率低、转速高、传输速度快等优点。
不论使用什么类型的硬盘接口,硬盘上的数据总是要通过计算机主板上的总线与CPU、 内存设备进行数据交换,这种物理环境上的限制给硬盘资源的共享带来了各种不便。后来, IBM 公司开始动手研发基于 TCP/IP 协议和 SCSI 接口协议的新型存储技术,这也就是互联网小型计算机系统接口(iSCSI, Internet Small Computer System Interface)。
既然要通过以太网来传输硬盘设备上的数据,那么数据是通过网卡传入到计算机中的。这就有必要向大家介绍iSCSI-HBA卡了。与一般的网卡不同,iSCSI-HBA卡连接的则是SCSI接口或FC(光纤通道)总线和内存,专门用于在主机之间交换存储数据,其使用的协议也与一般网卡有本质的不同。
运行Linux系统的服务器会基于iSCSI协议把硬盘设备命令与数据打包成标准的TCP/IP数据包,然后通过以太网传输到目标存储设备,而当目标存储设备接收到这些数据包后,还需要基于iSCSI协议把TCP/IP数据包解压成硬盘设备命令与数据。
2.创建RAID
既然要使用 iSCSI 存储技术为远程用户提供共享存储资源,首先要保障存放资源的服务器的稳定性,否则一旦在使用过程中出现故障,则维护的难度相较于本地硬盘设备更加复杂。
mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde
3.配置iSCSI服务端
安装并运行:
apt install targetcli-fb
targetcli
创建block和iscsi
/backstores/block create block1 /dev/md0
创建iSCSI target名称及配置共享资源,创建LUN和ACL。
create /backstores/block/block1
create iqn.2003-01.org.linux-iscsi.ubuntu.x8664:sn.a4ecaca56eea:client
设置 iSCSI 服务端的监听 IP 地址和端口号。
设置完毕后,如下
防火墙设置
firewall-cmd --permanent --add-port=3260/tcp
firewall-cmd --reload
4.配置iSCSI客户端
使得只有客户端名称与 ACL 策略中的名称保持一致时才能使用远程存储资源,因此需要在“配置”选项卡中单击“更改”按钮。
访问 iSCSI 远程共享存储资源。右键单击桌面上的“计算机”图标,打开计算机管理程序。