1 先决条件
1-1 实验需求
- 部署targetcli服务(包括:安装服务、开机自启动和防火墙放行必要端口);
- 发布两个lun,容量分别为5GB和10GB;
- 允许所有initiator端接入。
1-2 实验环境
准备两台主机,
- 服务器
- 客户端
服务端:
- 系统:Centos 7 2009
- IP:10.0.20.45/24
- 主机名:iscsi-svr.xiaobei.local
- 磁盘:sdb 5G ,sdc 10G
- yum源:tsinghua.edu.cn (随意)
客户端:
- 系统:Win11
- IP:10.0.20.46/24
2 实验步骤
2-1 部署targetcli
1、使用yum安装targetcli
# yum install -y targetcli
2、启动服务
# systemctl start target
3、设置开启自动启动
# systemctl enable target
4、放行防火墙
# firewall-cmd --permanent --add-port=3260/tcp success # firewall-cmd --reload success
2-2 设置后端存储
targetcli后端存储支持多种多样,支持块设备(lvm卷、分区和整个硬盘)、fileio、pscsi 和ramdisk后端存储类型。本实验中采用整个硬盘的块设备作为后端存储。
1、进入target控制台
# targetcli //进入控制台 Warning: Could not load preferences file /root/.targetcli/prefs.bin. targetcli shell version 2.1.53 Copyright 2011-2013 by Datera, Inc and others. For help on commands, type 'help'. />
2、导航到块设备目录
/> cd backstores/block /backstores/block>
3、创建后端存储(基于整个磁盘)
/backstores/block> create name=mylun1 dev=/dev/sdb //创建基于sdb磁盘的后端存储 Created block storage object mylun1 using /dev/sdb. /backstores/block> create name=mylun2 dev=/dev/sdc //创建基于sdc磁盘的后端存储 Created block storage object mylun2 using /dev/sdc.
4、查看效果
/backstores/block> ls o- block ........................................... [Storage Objects: 2] o- mylun1 .................. [/dev/sdb (5.0GiB) write-thru deactivated] | o- alua ............................................ [ALUA Groups: 1] | o- default_tg_pt_gp ................ [ALUA state: Active/optimized] o- mylun2 ................. [/dev/sdc (10.0GiB) write-thru deactivated] o- alua ............................................ [ALUA Groups: 1] o- default_tg_pt_gp ................ [ALUA state: Active/optimized] /backstores/block>
2-3创建iSCSI target
1、切换到ISCSI目录
/backstores/block> cd /iscsi
2、创建iSCSI target
/iscsi> create Created target iqn.2003-01.org.linux-iscsi.iscsi-svr.x8664:sn.9d2d7bec358d. Created TPG 1. Global pref auto_add_default_portal=true Created default portal listening on all IPs (0.0.0.0), port 3260. /iscsi>
2-4 绑定LUN
1、导航到指定iSCSI Target >TPG 下的luns目录中
/> cd /iscsi/iqn.2003-01.org.linux-iscsi.iscsi-svr.x8664:sn.9d2d7bec358d/tpg1/luns
2、绑定LUN
/iscsi/iqn.20...58d/tpg1/luns> create /backstores/block/mylun1 Created LUN 0. /iscsi/iqn.20...58d/tpg1/luns> create /backstores/block/mylun2 Created LUN 1.
3、查看
/iscsi/iqn.20...58d/tpg1/luns> ls o- luns ....................................................... [LUNs: 2] o- lun0 .................. [block/mylun1 (/dev/sdb) (default_tg_pt_gp)] o- lun1 .................. [block/mylun2 (/dev/sdc) (default_tg_pt_gp)] /iscsi/iqn.20...58d/tpg1/luns>
2-5 设置访问权限
1、本实验采用开启Demo模式并关闭demo模式写保护,来实现允许所有initiator端连接且不需要鉴权。(注:因没有权限管理,此操作仅适用测试使用,生产环境建议开启权限管理)
2、切换目录
/> cd /iscsi/iqn.2003-01.org.linux-iscsi.iscsi-svr.x8664:sn.9d2d7bec358d/tpg1/
3、设置参数
/iscsi/iqn.20...7bec358d/tpg1> set attribute generate_node_acls=1 Parameter generate_node_acls is now '1'. /iscsi/iqn.20...7bec358d/tpg1> /iscsi/iqn.20...7bec358d/tpg1> set attribute demo_mode_write_protect=0 Parameter demo_mode_write_protect is now '0'.
2-6 其他操作
1、推出控制台
/iscsi/iqn.20...7bec358d/tpg1> exit Global pref auto_save_on_exit=true Last 10 configs saved in /etc/target/backup/. Configuration saved to /etc/target/saveconfig.json
2、配置过程中如果修改参数生效慢可以尝试重启服务
# systemctl restart target
3测试
1、打开ISCSI发起程序
2、切换到第二个选项卡(发现)>点击“发现门户”按钮
3、输入target IP地址
4、回到第一个选项卡(目标)>在已发现的目标中选择iSCSI服务器的 iqn并点”连接”按钮
5、再次确认目标
7、查看状态显示已经连接
8、此时打开磁盘工具,可看到两块待初始化的硬盘
9、初始化后可以得到两块正常使用的硬盘