iscsi远程块存储

iscsi概念

iSCSI(Internet Small Computer System Interface,发音为/ˈаɪskʌzi/),Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。
SCSI(Internet SCSI) 支持从客户端 ( 发起端 ) 通过 IP 向远程
服务器上的 iSCSI 存储设备 ( 目标 ) 发送 SCSI 命令。 iSCSI
限定名称用于确定发起端和目标 , 并采用 iqn.yyyy-mm.
{reverse domain}:label 的格式
默认情况下 , 网络通信是至 iSCSI 目标上的端口 3260/tcp 的明
文端口

iscsi名称设定

iSCSI 发起端 : 需要访问原始 SAN 存储的客户端
iSCSI 目标 : 从 iSCSI 服务器提供的远程硬盘磁盘 , 或“目标门
户”
iSCSI 目标门户 : 通过网络向发起端提供目标的服务器。
IQN:“iSCSI 限定名称”。每个发起端和目标需要唯一名称进
行标识最好的做法是使用一个在 Internet 上可能独一无二的名

iscsi使用场景

iscsi远程块存储

iscsi实验模拟

1.我们需要安装iscsi的服务软件targetcli
iscsi远程块存储
iscsi远程块存储
2.建立逻辑卷为共享磁盘
把逻辑卷作为共享磁盘,方便磁盘的扩容!

fdisk /dev/vdb					创建vdb2
partprobe 						刷新
pvcreate /dev/vdb2				建立物理卷
pvdisaply						
pvdisaply /dev/vdb2
vgcreate iscsi_vg0 /dev/vsb2	建立物理卷组
vgdisplay /dev/vdb2
vgdisplay iscsi_vg0
lvcreate -l 255 -n iscsi_lv0 iscsi_vg0	建立物理卷
lvdisplay /dev/iscsi_vg0/iscsi_lv0

iscsi远程块存储
iscsi远程块存储
iscsi远程块存储
关于如何建立逻辑卷的具体操作这里不做过多解释,若有需要在博主的前面博客由具体的逻辑卷的建立博文

3.部署磁盘共享

  targetcli
	
	/> /backstores/block create ljz:storage1 /dev/iscsi_vg0/iscsi_lv0 	给真实磁盘重命名
	Created block storage object ljz:storage1 using /dev/iscsi_vg0/iscsi_lv0.
	/> iscsi/ create iqn.2019-02.com.ljz:storage1	创建共享设备
	Created target iqn.2019-02.com.ljz:storage1.
	Created TPG 1.
	/> iscsi/iqn.2019-02.com.ljz:storage1/tpg1/luns create /backstores/block/ljz:storage1 		##将设备和别名关联	
	Created LUN 0.
	/> iscsi/iqn.2019-02.com.ljz:storage1/tpg1/acls create iqn.2019-02.com.ljz:storage1key	##加密
	Created Node ACL for iqn.2019-02.com.ljz:storage1key
	Created mapped LUN 0.
	/> iscsi/iqn.2019-02.com.ljz:storage1/tpg1/portals create 172.25.254.97 设置端口,使客户端可以通过端口连接
	Using default IP port 3260
	Created network portal 172.25.254.79:3260.
	/> exit
	Global pref auto_save_on_exit=true
	Last 10 configs saved in /etc/target/backup.
	Configuration saved to /etc/target/saveconfig.json

iscsi远程块存储
服务器的iscsi的共享磁盘部署完毕,接下来设置防火墙,然后开始用客户端去查看服务器共享的设备
4.设置防火墙对我们刚才开放的端口
1.查看火墙开放的端口
iscsi远程块存储
在这里我们发现并没有开启3206这个端口

2.开启3260/tcp端口
iscsi远程块存储
5.客户端访问共享磁盘
1.客户端安装iscsi所需软件:
iscsi远程块存储
如图显示我们已经安装过iscsi-initiator-utils-6.2.0.873-21.el7.x86_64
2.寻找其他主机共享的设备并且建立认证文件

iscsiadm -m discovery -t st -p 172.25.254.97	##寻找共享设备,若找不到则设置防火墙端口
vim /etc/iscsi/initiatorname.iscsi 				##密码,即建立认证文件
InitiatorName=iqn.2019-02.com.ljz:storages1key
systemctl restart iscsid						##重启iscsi服务

iscsi远程块存储
注:在这里如果发现找不到,则检查iscsi服务是否开启
iscsi远程块存储
这里的**则是我们在服务器上设置的**,必须得相同,建议通过复制的方法来书写,避免因为手打出错
iscsi远程块存储
最后重启iscsi服务
5.客户端连接共享磁盘

iscsiadm -m node -T iqn.2019-02.com.ljz:storage1 -p 172.25.254.79 -l

iscsi远程块存储
6.客户端查看共享磁盘位置,以及对磁盘进行分区挂载

fdisk -l						
fdisk /dev/sda 			##使用共享磁盘,进行分区使用
mkfs.xfs /dev/sda1		##格式化
mount /dev/sda1 /mnt	##挂载共享设备

iscsi远程块存储
iscsi远程块存储
iscsi远程块存储
7.服务端扩展共享磁盘
我们再进行共享磁盘时有一个很方便的东西,就是我们可以根据需求对磁盘的大小进行设置,这样就避免了磁盘空间的浪费,在这里我们对磁盘进行扩容处理

服务端:
fdisk /dev/vdb
partprobe 
pvcreate /dev/vdb3
vgextend iscsi_vg0 /dev/vdb3
lvextend -l 510 /dev/iscsi_vg0/iscsi_lv0
lvdisplay /dev/iscsi_vg0/iscsi_lv0

iscsi远程块存储
iscsi远程块存储
8.客户端重新登陆
再进行扩容后客户端得重新登陆

iscsiadm -m node -T iqn.2019-02.com.ljz:storage1 -p 172.25.254.97 -u	##取消登陆
iscsiadm -m node -T iqn.2019-02.com.ljz:storage1 -p 172.25.254.97 -l	##登陆

iscsi远程块存储
然后我们通过fdisk -l 查看共享磁盘大小

iscsi远程块存储
我们可以看到共享磁盘大小已经变成了2G
9.客户端永久挂载

vim /etc/fstab
/dev/sda1 /mnt xfs defaults,_netdev 0 0		##_netdev选择先连接网路服务
iscsi第一次必须得reboot,强制启动

iscsi远程块存储
iscsi远程块存储
10.客户端删除共享设备
首先取消永久挂载

iscsiadm -m node -T iqn.2019-02.com.ljz:storage1 -p 172.25.254.97 -u	##退出登陆
tree /var/lib/iscsi	##查看是否还有设备
iscsiadm -m node -T iqn.2019-02.com.ljz:storage1 -p 172.25.254.97 -o 	delete	##删除共享设备
tree /var/lib/iscsi	##查看是否还有设备

在一开始我们先安扎u安装一个可以宏观的查看磁盘的软件tree
iscsi远程块存储
iscsi远程块存储
然后再按照开始的步骤进行删除共享设备
iscsi远程块存储
iscsi远程块存储
iscsi远程块存储
我们发现只有退出登陆的话是没有删除共享设备的,它一九存在,我们必须得手动删除它。好了,关于iscsi的内容就先写到这里!