实验环境:

        iscsi-server:

                Redhat 7主机,IP地址:192.168.32.144,主机名:iscsi-server.com

        iscsi-client:

                Redhat 7主机, IP地址:192.168.32.145,  主机名:iscsi-client.com

            

实验一:使用targetcli配置单个启动器作为iscsi客户端的存储设备


iscsi-Server配置过程

实验环境全部准备完毕后,首先在服务器端安装targetcli工具,并设置target服务开机自启

yum install  -y targetcli

systemctl restart target

systemctl enable target

我们将新添加的一块大小为20G的虚拟磁盘/dev/sdb作为iscis卷组来使用

将/dev/sdb创建成一个分区,设置磁盘格式为逻辑卷格式。

备注:我们这里也可以不用分区直接使用整块磁盘来,这里分区是为了将磁盘创建成逻辑卷让它支持动态扩展

image.png

将新的分区创建成LVM格式

image.png

使用targetcli配置命令进行配置

targetcli

image.png

此时初始状态没有任何卷组及其它配置信息

接下来我们进行ISCSI服务端的配置

创建一个块存储

>/backstore/block create  iscsi_vol  /dev/ISCSI/test_iscsi

为ISCSI-Target命名

备注:命名格式为:iqn.yyyy-mm.<主机名反写>:自定义主机名

>/iscsi create iqn.2018-12.com.server-iscsi:server

image.png

创建ACL允许ISCSI客户机连接

>cd iscsi/iqn.2018-12.com.server-iscsi:server/tpg

>ls

image.png

>acls/ create iqn.2018-12.com.server-iscsi:server:xx

创建lun(target块设备的逻辑单元)

>luns/ create /backstores/block/iscsi_vol

创建ip与端口

>portals 192.168.32.144 3260

查看配置信息

image.png

当设置完毕后,查看配置信息会出现上图所示信息。

设置防火墙规则放行IP及端口号

firewall-cmd --add-rich-rule ' rule family="ipv4" sorurce address="192.168.32.0/24" port port="3260" protocol="tcp" accept'

firewall-cmd --add-rich-rule ' rule family="ipv4" sorurce address="192.168.32.0/24" port port="3260" protocol="tcp" accept' --permanent

image.png

配置ISCSI  Initiator(客户端)

在iscis-client主机上安装ISCSIInitiator,并设置开机自启

yum install iscsi-initiator-utils

systemctl restart iscsid

systemctl enable  iscisd

配置ISCSIInitiator名称

备注:此时InitiatorName必须与服务器的ACL允许ISCSI客户机连接的名称一致。

vim /etc/iscsi/initiatorname.iscis

image.png

重启一下iscsi服务

systemctl restart iscsid

查找ISCIS设备

在查找之前先看一下系统的磁盘设备

lsblk

image.png

发现只有sda以及sr0两个存储设备

iscsiadm -m discovery -t st -p iscsi-server.com -l

注意要将IP与对应的主机名写到/etc/hosts中

当执行完命令后继续查看lsblk发现多了一块20G的sdb磁盘

image.png

设置开机自动挂载ISCSI设备

iscsiadm -m node   T iqn.2018-12.com.server-iscis  -p 192.168.32.144:3260 -o update -n node.startup -v automatic

给新添加的网络设备sdb创建文件系统,设置开机自动挂载

fdisk /dev/sdb

image.png

创建文件系统,设置开机自动挂载到/mnt/data目录下

mkfs.ext4  /dev/sdb1

mkdir /mnt/data

vim /etc/fstab

image.png

mount -a

df -Th

image.png

到此配置单个启动器作为iscsi客户端的存储设备配置完毕

实验二:使用targetcli为多个启动器配置ISCSI访问控制

我们在上一个实验中继续扩展

再创建一个LUN卷组,让已经挂载了sdb设备的iscsi-client作为扩展使用,

在iscsi-server主机上再添加一块10G的磁盘,并创建成逻辑卷格式

fdisk  /dev/sdc

将/dev/sdc1设置成逻辑卷

pvcreate /dev/sdc1

vgcreate ISCSI-2 /dev/sdc1

lvcreate  -l 100%VG -n test_iscsi-2 ISCSI-2

image.png

同样进行ISCSI服务端的配置

targetcli

创建一个块存储

>/backstore/block create  iscsi_vol-2  /dev/ISCSI-2/test_iscsi-2

为ISCSI-Target命名

>/iscsi create iqn.2018-12.com.server-iscsi:server-2

image.png

当我们创建完成后会发祥有两块块设备以及两个iscsi-tpg1

创建ACL允许ISCSI客户机连接

>cd iscsi/iqn.2018-12.com.server-iscsi:server-2

>acls/ create iqn.2018-12.com.server-iscsi:server:xx

备注:这里一定要注意第二个iscsi-tpg1在创建acls的时候一定要跟第一个acls创建的名称一致,然后将这个名称写到iscsi-client的客户端的/etc/iscsi/initiatorname.iscsi文件中

创建lun(target块设备的逻辑单元)

>luns/ create /backstores/block/iscsi_vol-2

创建ip与端口

>portals 192.168.32.144 3260

image.png

此时我们查看一下target总体的配置信息

image.png配置ISCSI  Initiator(客户端)配置

查看一下/etc/iscsi/initiatorname.iscsi文件

image.png

服务器虽然有两个ISCSI-Target名称但是下面的acls创建的wwn号是一样的同时用同一个IP及端口共享出去,所以这里不做任何改动

检索服务器端共享的设备文件

iscsiadm -m discovery -t st -p  iscsi-server.com -l

image.png

查看一下客户端本地存储磁盘发现多个一块/dev/sdc的10G硬盘

image.png

分区格式化挂载后即可正常使用,这就是为一个ISCSI客户端配置多个卷组的步骤

这里因为我们使用一块网卡配置所以不需要在客户端配置多路径映射