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实验模拟
1.我们需要安装iscsi的服务软件targetcli
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
关于如何建立逻辑卷的具体操作这里不做过多解释,若有需要在博主的前面博客由具体的逻辑卷的建立博文
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的共享磁盘部署完毕,接下来设置防火墙,然后开始用客户端去查看服务器共享的设备
4.设置防火墙对我们刚才开放的端口
1.查看火墙开放的端口
在这里我们发现并没有开启3206这个端口
2.开启3260/tcp端口
5.客户端访问共享磁盘
1.客户端安装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服务
5.客户端连接共享磁盘
iscsiadm -m node -T iqn.2019-02.com.ljz:storage1 -p 172.25.254.79 -l
6.客户端查看共享磁盘位置,以及对磁盘进行分区挂载
fdisk -l
fdisk /dev/sda ##使用共享磁盘,进行分区使用
mkfs.xfs /dev/sda1 ##格式化
mount /dev/sda1 /mnt ##挂载共享设备
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
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 ##登陆
然后我们通过fdisk -l 查看共享磁盘大小
我们可以看到共享磁盘大小已经变成了2G
9.客户端永久挂载
vim /etc/fstab
/dev/sda1 /mnt xfs defaults,_netdev 0 0 ##_netdev选择先连接网路服务
iscsi第一次必须得reboot,强制启动
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的内容就先写到这里!