ISCSI服务器端
比如现在ISCSI服务器端有两块硬盘,我们想把第二块硬盘(sdb)共享出去。
- 下载软件
1
| yum install -y targetcli
|
- 开始进行服务端的配置
1 2
| cd /backstores/block/ create disk1 /dev/sdb
|
disk1
代表起的一个名字,/dev/sdb
是真实机器里存在的设备。
1 2
| cd /iscsi/ create iqn.2023-07.com.liuxp:san1
|
iqn.2023-07.com.liuxp:san1
是可以被客户端的识别到的名字,客户端可以凭这个名字挂载到自身。
- 创建iqn里的卷,刚刚创建的iqn只是一个名字,里面现在还没有存储设备,现在要在里面添加存储设备
1 2
| cd iqn.2023-07.com.liuxp:san1/tpg1/luns/ create /backstores/block/disk1
|
- 创建好iqn里的存储设备,然后就该设置iqn设备的访问权限了
1 2
| cd ../acls/ create iqn.2023-07.com.liuxp:web1
|
不要奇怪这个新创建的iqn是一个识别秘钥,客户端需要拿着这个秘钥来连接,以此来达到访问控制的目的。具体的操作是将这个acls
里的iqn
名字复制下来待会粘贴到客户端的一个配置文件里面。
- 设置门户,这个我也解释不清楚含义,就是想在这里介绍一下删除命令,还有如果要设置的话,要设置为本机的IP
1 2 3
| cd ../portals/ delele 0.0.0.0 3260 create 10.8.7.41 3260
|
到这里就设置完成了键入exit
退出设置。
启动服务
1
| systemctl start target.service
|
ISCSI客户端
- 下载软件
1
| yum install -y iscsi-initiator-utils
|
- 修改配置文件
/etc/iscsi/initiatorname.iscsi
1
| InitiatorName=iqn.2023-07.com.liuxp:web1
|
把这里的iqn设置为服务器端acls
里的那个iqn,上面也说过一嘴。
- 然后开始扫描iqn设备
1
| iscsiadm -m discovery -t st -p 10.8.7.41
|
p选项后面接上服务器端的IP地址。
- 扫描到之后接着开始最后一步挂载
1
| iscsiadm -m node -T iqn.2023-07.com.liuxp:san1 -p 10.8.7.41 -l
|
T选项后面接上面刚刚扫描出来的iqn设备,p选项接ISCSI服务器的IP
- 可以通过下面的命令查看挂载成功的会话信息
- 如果需要的话可以了解一下,卸载本地已挂载的全部ISCSI存储设备
1
| iscsiadm -m node --logoutall=all
|
- 写在最后的话
如果遇到第4步无法挂载,一是要检查配置文件的iqn是否和服务器acls设置一致,二是要检查IP地址时候填写正确,客户端如果检查都无误了,因为之前会产生缓存,一般后面几次也不会成功,可以通过删除/var/lib/iscsi/nodes
及/var/lib/iscsi/send_targets
下的内容之后再次尝试。如果还是不行,就只能重启了。如果对服务器端进行了修改,一定要记得重启服务生效。