• 欢迎访问小贝笔记网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入小贝笔记 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏小贝笔记吧

基于targetcli的ISCSI服务器搭建

CentOS 小贝 1年前 (2023-09-25) 2964次浏览

1 先决条件

1-1 实验需求

  1. 部署targetcli服务(包括:安装服务、开机自启动和防火墙放行必要端口);
  2. 发布两个lun,容量分别为5GB和10GB;
  3. 允许所有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、初始化后可以得到两块正常使用的硬盘

 

 

 

 

 

 


小贝笔记 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:基于targetcli的ISCSI服务器搭建
喜欢 (0)