效果预览:


具体操作流程
1.先打开自带iSCSI
1.1 用户组创建(用自带UI)
wmuhl-g01 iqn.1991-05.com.microsoft:wmuhl-g01
wmuhl-g02 iqn.1991-05.com.microsoft:wmuhl-g02
wmuhl-g03 iqn.1991-05.com.microsoft:wmuhl-g03
1.2 Target创建只填名字. # 把iqn复制出来
Target-wmuhl-g01-1 iqn.2026-04.com.fnnas:target-1.qrioxj4bfdko
Target-wmuhl-g02-1 iqn.2026-04.com.fnnas:target-2.shpbeyt4ae7y
Target-wmuhl-g03-1 iqn.2026-04.com.fnnas:target-3.jb8jhvgg8fjq
2.手动zvol
#用已有zvol的就跳过 rpool为池子名字
#zfs create rpool/zvol_iscsi #创建一个数据集当文件夹
#zfs create rpool/zvol_iscsi/wmuhl-g01-1 -V 4tb
#zfs create rpool/zvol_iscsi/wmuhl-g02-1 -V 4tb
#zfs create rpool/zvol_iscsi/wmuhl-g03-1 -V 4tb
#不想预留的空间的话(只是数字好看.本来zvol也没实际占用)
#zfs set reservation=0 rpool/xxxx/vol
#改名或者移动位置
#zfs rename xxxx xxxx
3.先到应用设置里 停用 iSCSI
这一步主要避免交叉改写
4.手动创建lun
SSH登入
sudo -s #输密码先提权root
#执行
/usr/local/apps/@appcenter/trim.iscsi/server/targetcli
#关联lun和zvol. lun名字尽量满足下fnos
/backstores/block create name=LUN-wmuhl-g01-1 dev=/dev/zvol/rpool/zvol_iscsi/wmuhl-g01-1
/backstores/block create name=LUN-wmuhl-g02-1 dev=/dev/zvol/rpool/zvol_iscsi/wmuhl-g02-1
/backstores/block create name=LUN-wmuhl-g03-1 dev=/dev/zvol/rpool/zvol_iscsi/wmuhl-g03-1
#/>状态
#查看一下
ls /
#退出(自动保存)
exit
会显示 Configuration saved to /usr/local/apps/@appconf/trim.iscsi/target_saveconfig.json
5.修正UI的lun文件
打开 /usr/local/apps/@appconf/trim.iscsi/target_saveconfig.json
5.1找到刚刚添加的3个lun 记好wwn
"dev": "/dev/zvol/rpool/zvol_iscsi/wmuhl-g01-1",
"name": "LUN-wmuhl-g01-1",
"wwn": "5b34d20a-a2ba-4dde-a359-394447b1a234"
"dev": "/dev/zvol/rpool/zvol_iscsi/wmuhl-g02-1",
"name": "LUN-wmuhl-g02-1",
"wwn": "a40beac0-9054-4f25-b6c7-6376d9e6f13a"
"dev": "/dev/zvol/rpool/zvol_iscsi/wmuhl-g03-1",
"name": "LUN-wmuhl-g03-1",
"wwn": "c44246a2-46ca-4d9b-9507-4f5ffcc688e7"
5.2 同时,找到3处上方的block_size
飞牛内置的tagetcli版本有精简,创建默认block_size是512,不支持创建4096
!! 官方说不要创建2T以上的BUG就在这。
但是zvol默认是4096,并且要支持2T以上的磁盘只能4096才能开启GPT分区
可以全文替换 "block_size": 512, 改成 "block_size": 4096,
保存
5.3修改 iscsimgr.json
文件位置在 /usr/local/apps/@appconf/trim.iscsi/iscsimgr.json
插入 lun_options
在"mutual_password": "", 和"target_options": [] 之间插入
这里面 容量是关系显示值。"sparse": false 是假装完整分配,省的UI去读文件大小报错。
"mutual_password": "",
##########不要把#写进去######sparse:false假装满额分配#####
"lun_options": [
{
"wwn": "5b34d20a-a2ba-4dde-a359-394447b1a234",
"nickname": "LUN-wmuhl-g01-1",
"name": "LUN-wmuhl-g01-1",
"storage_name": "存储空间1",
"storage_fs": "zfs",
"desc": "",
"stor_id": 1,
"size": 4,
"size_unit": "TB",
"path": "/dev/zvol/rpool/zvol_iscsi/wmuhl-g01-1",
"sparse": false,
"state": 1,
"perm_state": 2
},
{
"wwn": "a40beac0-9054-4f25-b6c7-6376d9e6f13a",
"nickname": "LUN-wmuhl-g02-1",
"name": "LUN-wmuhl-g02-1",
"storage_name": "存储空间1",
"storage_fs": "zfs",
"desc": "",
"stor_id": 1,
"size": 4,
"size_unit": "TB",
"path": "/dev/zvol/rpool/zvol_iscsi/wmuhl-g02-1",
"sparse": false,
"state": 1,
"perm_state": 2
},
{
"wwn": "c44246a2-46ca-4d9b-9507-4f5ffcc688e7",
"nickname": "LUN-wmuhl-g03-1",
"name": "LUN-wmuhl-g03-1",
"storage_name": "存储空间1",
"storage_fs": "zfs",
"desc": "",
"stor_id": 1,
"size": 4,
"size_unit": "TB",
"path": "/dev/zvol/rpool/zvol_iscsi/wmuhl-g03-1",
"sparse": false,
"state": 1,
"perm_state": 2
}
],
##########不要把#写进去###########
"target_options": []
6.关联target 和 lun 和 acl
需要用到 上面复制的target-iqn 和 用户组iqn
ssh执行执行
/usr/local/apps/@appcenter/trim.iscsi/server/targetcli
cd /iscsi/iqn.2026-04.com.fnnas:target-1.qrioxj4bfdko
tpg1/luns create /backstores/block/LUN-wmuhl-g01-1 lun=0
tpg1/acls create iqn.1991-05.com.microsoft:wmuhl-g01
cd /iscsi/iqn.2026-04.com.fnnas:target-2.shpbeyt4ae7y
tpg1/luns create /backstores/block/LUN-wmuhl-g02-1 lun=0
tpg1/acls create iqn.1991-05.com.microsoft:wmuhl-g02
cd /iscsi/iqn.2026-04.com.fnnas:target-3.jb8jhvgg8fjq
tpg1/luns create /backstores/block/LUN-wmuhl-g03-1 lun=0
tpg1/acls create iqn.1991-05.com.microsoft:wmuhl-g03
#如果需要删除紫色节点
#路径 delete xxxxxxxxx
# 回到外部
cd /
ls /
exit
#这里4T变成32T是因为上面的block_size被我们从512改成4096了,
#iscsi客户端会正常识别成4T,不用担心容量会越界。

7. 启动ISCSI应用
如题,就是最顶上的效果了