配置ISCSI服务端(target)
环境准备
操作系统:Centos7
ip:192.168.0.45
开始配置
- 准备存储空间
在这里我们添加两个不同类型的:以硬盘形式存在的(/dev/sdb)、以文件形式存在的(dd if=/dev/zero of=/opt/disk.img bs=1024k count=512)
- 安装ISCSI服务端:targetd(服务端程序)、targetcli(服务端管理程序)
yum -y install targetd targetcli
- 使用targetcli进入管理程序交互式命令行,使用ls查看当前ISCSI配置
targetcli
backstores/block: 块设备形式的ISCSI存储 backstores/fileio: 文件形式存在的ISCSI存储 backstores/pscsi: 物理的ISCSI设备的ISCSI存储(使用比较少) backstores/ramdisk: 基于内存的ISCSI存储(重启后数据会丢失)
- 创建块设备的ISCSI存储
/backstores/block create idisk1 /dev/sdb
/backstores/block:指定在此目录下创建
idisk:ISCSI存储名称
/dev/sdb: 块设备路径
- 创建文件形式的ISCSI存储
/backstores/fileio create idisk2 /opt/disk.img
同上,只是这里最后一个参数为文件(已创建)的路径
创建好后使用 ls 命令,可以看到如下界面
- 创建服务端程序
我们在 /iscsi 这个路径(这个路径是在targetcli交互命令行下,而非系统路径)下创建一个服务端程序/iscsi create iqn.2021-11.mulang.com:server
命名规则:**iqn.yyyy-mm.naming-authority:unique name** “**iqn**”指定使用 iSCSI 限定名称作为机构。 “**YYYY-MM**”是命名机构获取此 iSCSI 名称中使用的域名的年份和月份。 “**naming-authority** ” 通常是命名机构的 Internet 域名的反向语法。 “**unique name**”是要使用的任何名称,例如,主机名。 命名机构必须确保在冒号后面分配的任何名称都是唯一的 通过ls查看,可以看到如下目录结构 ![image-20211123180333732.png](https://upload-images.jianshu.io/upload_images/14074996-09a9ad488b75d932.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 我们可以看到创建好的服务端程序下tpg1下有三个目录: 1. acls:此目录下创建客户端连接器 2. luns:创建服务卷 3. portals:客户端访问的端口
创建服务卷
/iscsi/iqn.2021-11.mulang.com:server/tpg1/luns/ create /backstores/block/idisk1 ```bash /iscsi/iqn.2021-11.mulang.com:server/tpg1/luns/ create /backstores/fileio/idisk2
在/iscsi/iqn.2021-11.mulang.com:server/tpg1/luns目录下创建服务卷 后面的参数为之前添加的ISCSI存储。 成功创建后,我们通过ls查看
创建客户端连接器(启用chap认证)
chap认证:可以对客户端连接的身份进行验证
/iscsi/iqn.2021-11.mulang.com:server/tpg1/acls create iqn.2021-11.mulang.com:client
创建客户端连接器 然后我们进入刚刚创建的客户端连接器目录下
cd /iscsi/iqn.2021-11.mulang.com:server/tpg1/acls/iqn.2021-11.mulang.com:client/
设置账户名密码
set auth userid=test
set auth password=123456654321
然后执行exit退出并保存target设置
- 启动target服务,并设置为开机自启
systemctl start targetd
systemctl enable targetd
成功启动后,我们可以通过命令查看3260的监听情况查看服务状态
ss -napt | grep 3260
配置客户端(initiator)
- 安装iscsi客户端程序:iscsi-initiator-utils
yum -y install iscsi-initiator-utils
- 修改isics配置文件
在/etc/iscsi/下有两个配置文件,分别是:
initiatorname.iscsi:定义客户端连接器的名称,这里不是随便填写,而是填写上述服务器配置步骤8中创建的客户端连接器名
vim /etc/iscsi/initiatorname.iscsi
iscsid.conf:客户端配置文件,配置账户,密码,对应上述服务器配置步骤8中定义的authid、password
vim /etc/iscsi/iscsid.conf
- 启动客户端程序
systemctl start iscsid
启动成功后,我们可以通过命令查看客户端程序状态
systemctl status iscsid
- 发现iscsi存储服务器
iscsiadm -m discovery -t st -p 192.168.0.45
如果显示出服务端定义的发起名,则表示配置正确
- 登录iscsi存储服务器
iscsiadm -m node -T iqn.2021-11.mulang.com:server -p 192.168.0.45 --login
- 查看iscsi块设备
lsblk
参考资料
Chapter 7. Configuring an iSCSI target Red Hat Enterprise Linux 8 | Red Hat Customer Portal