iSCSI(Internet Small Computer System Interface),Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。
iSCSI使用 TCP/IP 协议(一般使用TCP端口860和3260)。 本质上,iSCSI 让两个主机通过 IP 网络相互协商然后交换SCSI命令。这样一来,iSCSI 就是用广域网仿真了一个常用的高性能本地存储总线,从而创建了一个存储局域网(SAN)。不像某些 SAN 协议,iSCSI 不需要专用的电缆;它可以在已有的交换和 IP 基础架构上运行。然而,如果不使用专用的网络或者子网( LAN 或者 VLAN ),iSCSI SAN 的部署性能可能会严重下降。
ISCSI主要是利用TCP/IP技术,将存储设备端透过iscsi target(iscsi目标端)功能,做成可以提供磁盘的服务器端,再透过iscsi initiator(iscsi初始化用户)功能,做成能够挂载使用使用iscsi设置来进行磁盘的应用了。也就是说,iscsi这个架构主要将存储装置与使用的主机分为两部分,分别是:
(1)iscsi target:就是存储设备端,存放磁盘或RAID的设备。
(2)iscsi initiator:就是能够使用target的用户端,通常是服务器。也就是说,想要连接到iscsi target
的服务器,也必须要安装iscsi initistor 的相关功能后才能使用iscsi target 提供的磁盘
服务端(共享端)相关配置:
1)安装软件
yum install targetcli -y
fdisk -l ##查看设备
fdisk /dev/vdb ##创建分区并修改标签为8e
partprobe ##一定记着同步分区表
pvcreate /dev/vdb2
vgcreate iscsi_vg0 /dev/vdb2
vgdisplay iscsi_vg0
lvcreate -l 255 -n iscsi_lv0 iscsi_vg0 ##创建一个要共享的设备
lvdisplay iscsi_vg0
3)共享设备
targetcli
/backstores/block create westos:storage1 /dev/iscsi_vg0/iscsi_lv0 ##命名设备块
/iscsi create iqn.2019-03.com.westos:storage1 ##生成共享设备
/iscsi/iqn.2019-03.com.westos:storage1/tpg1/luns create /backstores/block/westos:storage1
##创造共享设备指向本地设备的链接
/iscsi/iqn.2019-03.com.westos:storage1/tpg1/acls create iqn.2019-03.com.westos:storagekey
##生成共享设备的钥匙
/iscsi/iqn.2019-03.com.westos:storage1/tpg1/portals create 172.25.6.106
##添加共享设备的的端口
exit ##退出
打开火墙中的共享端口
firewall-cmd --permanent --add-port=3260/tcp
firewall-cmd --reload
客户端
客户端与服务端及相关服务的版本应一致
yum search iscsi
yum install iscsi-initiator-utils.x86_64 -y
iscsiadm -m discovery -t st -p 172.25.6.106 ##寻找服务端分享的设备
-m 表示模式,方式
-t 表示类型(sendtargets发送目标)
-p 表示端口
vim /etc/iscsi/initiatorname.iscsi ##写入下面的内容
InitiatorName=iqn.2019-03.com.westos:storage1key
systemctl restart iscsid
登入共享设备
iscsiadm -m node -T iqn.2019-03.com.westos:storage1 -p 172.25.6.106 -l
fdisk -l ##查看设备
-m mode表示模式,方式
-T 表示targetname(目标名称)
-p表示端口
-l表示login登陆
登出设备——设备/dev/sda消失
iscsiadm -m node -T iqn.2019-03.com.westos:storage1 -p 172.25.6.106 -u
fdisk -l ##查看设备
挂载之前需要先登入设备对设备进行分区,再进行格式化
格式化:
mkfs.xfs /dev/sda1
mount /dev/sda1 /mnt
vim /etc/fstab
/dev/sda1 /mnt xfs defaults,_netdev 0 0
注意:
使用 _netdev 作为挂载选项(这将确保客户端不会尝试挂载文件系统,直至启用联网,否则,在引导时系统将出错 )
在第一次重启系统的时候,系统会卡住重起不了的,这是因为主机根本未关闭,这时候需要手动rht-vmctl poweroff desktop关闭主机,以后不会再出现这种问题
这是在bug-lists中的正常bug
如果忘记共享设备的名称,我们可以通过软件【tree】来进行查看
yum install tree -y
tree /var/lib/iscsi ##树形图显示
先卸载,退出登录
umount /mnt
iscsiadm -m node -T iqn.2019-03.com.westos:storage1 -p 172.25.6.106 -u
删除服务的配置文件
iscsiadm -m node -T iqn.2019-03.com.westos:storage1 -p 172.25.6.106 -o delete
5)共享设备的拓展
当共享设备的容量不够时,我们可以在服务端进行拓展
在服务端/dev/vdb中建立新的分区(同步分区表),再进行逻辑卷/dev/iscsi_vg0/iscsi_lv0的拓展
<1>建立新的分区
fdisk /dev/vdb
partprobe
<2>添加物理卷PV
pvcreate /dev/vdb3
<2>拉伸物理卷组iscsi_vg0
vgextend iscsi_vg0 /dev/vdb3
lvextend -l 510 /dev/iscsi_vg0/iscsi_lv0 ##拓展逻辑卷大小到510个PE(lvm设备的最小储存单元)
客户端:
iscsiadm -m node -T iqn.2019-03.com.westos:storage1 -p 172.25.6.106 -l ##登入设备
fdisk -l
iscsiadm -m node -T iqn.2019-03.com.westos:storage1 -p 172.25.6.106 -u ##登出设备
拓展前: