ISCSI存储之Target、LUN、IQN、TGP

2022-6-11 353 6/11

ISCSI通信原理

我们知道,ISCSI是SCSI封装TCP/IP的结果,可以实现在IP网络上运行SCSI协议,本质上是iSCSI就是用广域网仿真了一个常用的高性能本地存储总线,从而创建了一个存储局域网(SAN)。

ISCSI通信过程

ISCSI存储之Target、LUN、IQN、TGP

一些概念:

iSCSI Client/Host:系统中的iSCSI客户端或主机(也称为iSCSI initiator),诸如服务器,连接在IP网络并对iSCSI target,发起请求以及接收响应。每一个iSCSIE主机通过唯一的IQN来识别,类似于光纤通道的WWN。要在IP网络上传递SCSI块命令,必须在iSCS主机上安装iSCSI驱动。

iSCSI Target:是接收iSCSI命令的设备。此设备可以是终端节点,如整个磁盘阵列,或是中间设备,如IP和光纤设备之间的连接桥。每一个iSCSI target通过唯一的IQN来标识,存储阵列控制器上(或桥接器上)的各端口通过一个或多个IP地址来标识。

IQN:iSCSI限定名称,全球唯一名称,用于以强制命名格式来识别启动器和目标,可以理解为ISCSI存储块的一个身份标识,类似于MAC,使用FC时则为WWN。

TPG:共享存储组,某个特定iSCSI设备要侦听的接口IP地址和TCP端口的集合。可以将目标配置添加到TPG以协调多个LUN的设置。

LUN:Logical Unit Number,即逻辑单元号,将IQN划分出不同的LUN,最终将LUN分配给主机挂载使用,每个LUN拥有一个寻址LUN ID,作用是扩充Target ID,磁盘阵列一个LUN对应一个LV,通过LUN灵活的分配存储空间给前端主机。

ACL访问权限控制列表,一种使用节点IQN(通常是启动器名称)来验证启动器的访问权限的访问限制。

Portals入口目标或启动器上用于建立的IP地址和端口,默认为3260。

如图,前端服务器为ISCSI客户端(ISCSI initiator),通过以太网交换机建立逻辑SAN通道,连接到后端SAN存储,即ISCSI Target,在Target下,需要对存储做IQN标记,再配置TPG,在TPG组下,需要创建LUN、ACL、Portals,其中LUN为前端主机提供存储服务,Portals指定与LUN建立连接的IP和端口,ACL为访问存储块的控制策略。

操作示例

1.使用一台CentOS 7.6主机,挂载2块300G云盘:

ISCSI存储之Target、LUN、IQN、TGP

 

2.进入主机,查看挂载成功:

[root@ localhost ~] # lsscsi

[0:0:1:0] cd/dvd    QEMU    QEMU DVD-ROM           2.5+           /dev/sr0
[2:0:0:1]   disk      QEMU    QEMU HARDDISK          2.5+          /dev/sda   #磁盘1
[2:0:0:3]   disk       QEMU    QEMU HARDDISK          2.5+         /dev/sdb   #磁盘2

 

3.使用targetcli配置iSCSI存储

#进入targetcli

[root@ localhost ~] # systemctl enable target

[root@ localhost ~] # systemctl start target

[root@ localhost ~] # targetcli

 

磁盘1 sda

#添加块设备sda

/> /backstores/block create blksda /dev/sda

Created block storage object blksda using /dev/sda.

 

#create为块设备创建iqn

/> cd /iscsi

/ iscsi> create

Created target iqn.2003-01.org.linux-iscsi.shareblock.x8664:sn.4ffd6721fa56

Created TPG 1.

Global pref auto_add_default_portal=true

Created default portal listening on all IPs (0.0.0.0), port 3260.

 

#配置访问控制

/ iscsi> cd iqn.2003-01.org.linux-iscsi.shareblock.x8664:sn.4ffd6721fa56/tpg1

/iscsi/iqn.20...fd6721fa56/tpg1> set attribute authentication=0 demo_mode_write_protect=0 generate_node_acls=1 cache_dynamic_acls=1

#四个选项分别是 关闭认证 关闭写保护 开启自动生成节点acl 开启动态缓存acl 

 

#创建LUN

/iscsi/iqn.20...fd6721fa56/tpg1>cd luns

/ iscsi/iqn.20...a56/tpg1/luns> create /backstores/block/blksda

Created LUN 0.

 

至此,磁盘1 sda配置完成,同样的步骤,配置sdb。

配置完成后ls查看配置详情:

ISCSI存储之Target、LUN、IQN、TGP

可以看到,配置了两块ISCSI设备,两个IQN下各一个TPG,也各一个lUN,使用默认IP(此主机IP)的3260端口通信。

 

※:也可以修改通信配置,操作为

/ iscsi/iqn.20...a56/tpg1/luns>cd ..

/ iscsi/iqn.20...a56/tpg1>cd portals/

/ iscsi/iqn.20...a56/tpg1/portals>delete 0.0.0.0 3260

/ iscsi/iqn.20...a56/tpg1/portals>create X.X.X.X  X

 

4.在云平台添加ISCSI存储

ISCSI存储之Target、LUN、IQN、TGP

通过IP/端口添加后,可以正常读取到块设备。

 

 

 

 

 

 

- THE END -

Tenkms

12月01日00:08

最后修改:2023年12月1日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论