1.安装iSCSI服务端程序
apt update
apt install targetcli
2.配置iSCSI服务端的共享资源
其中targetcli是管理iscsi的控制台,直接终端执行targetcli即可进入
targetcli
ls
cd /backstores/block
创建一个名为disk0的iSCSi共享磁盘
create disk0 /dev/md0
这里请把md0
换成你想要共享的磁盘设备,比如sda,sdb等
然后查看是否成功
cd /
ls
这一步完成,可以先使用exit先退出targetcli控制台
exit
3.创建iSCSI target名称及配置共享资源
再次进入targetcli控制台
targetcli
cd /iscsi
create
此时会输出几行字符,例如下图
这是iSCSI Qualified Name(称为IQN),把这几行字符记录下来。
ls
这里输出了创建的iqn目录,例如
进入图中以iqn开头的一个子目录
cd iqn.xxxx
然后继续进入子目录
cd tpg1
cd luns
创建一个iSCSI共享盘
create /backstores/block/disk0
4.配置访问控制列表
由于iSCSI协议是通过客户端名称进行验证的,也就是说,用户在访问存储共享资源时不需要输入密码,只要 iSCSI 客户端的名称与服务端中设置的访问控制列表中的某一名称条目一致即可,因此需要在 iSCSI 服务端的配置文件中写入一串能够验证用户信息的名称。
这里进入acls目录配置规则
cd ../acls
创建acl访问控制规则(这里我以iqn为基础接了个.client在后面,不一定需要这样命名,但推荐使用这种方式)
create iqn.xxxx.client
5.配置iSCSI服务端的监听地址
这里进入portals目录配置监听地址和端口
cd ../portals
create 0.0.0.0:3216
配置完成后使用exit保存退出,然后重启iscsi服务,如果在直接Ctrl+C会导致丢失配置。如果有防火墙,还需要配置防火墙放行端口,这里不再概述。
6.验证
Windows可以使用自带的“iSCSI 发起程序”来连接到iSCSI服务端
第一次启动需要开启iSCSI服务,这里请点击“是”
在目标处输入iSCSI服务端的IP地址,然后点击快速连接
如果配置iSCSi没问题,那就能发现一个iSCSi目标
然后需要修改iSCSi发起程序的IQN配置为刚才在iSCSI服务端配置的IQN
iqn.xxxx.client
然后返回“目标”界面点击连接即可连接到iSCSI服务端
在“卷和目录”点击自动配置即可自动加载iSCSI磁盘
然后在磁盘管理软件进行分区即可