实验环境:
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创建成一个分区,设置磁盘格式为逻辑卷格式。
备注:我们这里也可以不用分区直接使用整块磁盘来,这里分区是为了将磁盘创建成逻辑卷让它支持动态扩展
将新的分区创建成LVM格式
使用targetcli配置命令进行配置
targetcli
此时初始状态没有任何卷组及其它配置信息
接下来我们进行ISCSI服务端的配置
创建一个块存储
>/backstore/block create iscsi_vol /dev/ISCSI/test_iscsi
为ISCSI-Target命名
备注:命名格式为:iqn.yyyy-mm.<主机名反写>:自定义主机名
>/iscsi create iqn.2018-12.com.server-iscsi:server
创建ACL允许ISCSI客户机连接
>cd iscsi/iqn.2018-12.com.server-iscsi:server/tpg
>ls
>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
查看配置信息
当设置完毕后,查看配置信息会出现上图所示信息。
设置防火墙规则放行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
配置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
重启一下iscsi服务
systemctl restart iscsid
查找ISCIS设备
在查找之前先看一下系统的磁盘设备
lsblk
发现只有sda以及sr0两个存储设备
iscsiadm -m discovery -t st -p iscsi-server.com -l
注意要将IP与对应的主机名写到/etc/hosts中
当执行完命令后继续查看lsblk发现多了一块20G的sdb磁盘
设置开机自动挂载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
创建文件系统,设置开机自动挂载到/mnt/data目录下
mkfs.ext4 /dev/sdb1
mkdir /mnt/data
vim /etc/fstab
mount -a
df -Th
到此配置单个启动器作为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
同样进行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
当我们创建完成后会发祥有两块块设备以及两个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
此时我们查看一下target总体的配置信息
配置ISCSI Initiator(客户端)配置
查看一下/etc/iscsi/initiatorname.iscsi文件
服务器虽然有两个ISCSI-Target名称但是下面的acls创建的wwn号是一样的同时用同一个IP及端口共享出去,所以这里不做任何改动
检索服务器端共享的设备文件
iscsiadm -m discovery -t st -p iscsi-server.com -l
查看一下客户端本地存储磁盘发现多个一块/dev/sdc的10G硬盘
分区格式化挂载后即可正常使用,这就是为一个ISCSI客户端配置多个卷组的步骤
这里因为我们使用一块网卡配置所以不需要在客户端配置多路径映射