4.iSCSI 服务器
4.iSCSI 服务器
iSCSI 服务介绍
SCSI(Small Computer System Interface,小型计算机系统接口),一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)连接标准。
iSCSI(Internet Small Computer System Interface,Internet 小型计算机系统接口),又称为IP-SAN,是IBM公司研究开发的IP SAN技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,基于TCP/IP的协议连接iSCSI服务端(Target)和客户端(Initiator),使得封装后的SCSI数据包可以在互联网传输,最终实现iSCSI服务端提供存储给客户端。
通常,iSCSI使用专用的10 Gb以太网或更好的网络,以最大程度地提高性能。
从物理服务器到存储的电缆通常封闭在数据中心内,并且理想情况下不直接连接到LAN网络,所以SAN流量通常不加密,以最大程度地提高性能。 为了实现WAN安全,iSCSI管理员可以使用IPsec加密流量。
iSCSI 架构
iSCSI服务是C/S架构。访问的iSCSI目标在客户端系统上显示为本地且未格式化的SCSI快设备,等同于通过SCSI布线、FC直连或FC交换光线连接的设备。

-
Initiator,iSCSI客户端,通常以软件方式部署,也可以使用iSCSI Host Bus Adapters (HBAs) (HBA)硬件。 Initiator必须具有唯一的名称(请参见IQN)。
-
Target,iSCSI服务器上的iSCSI存储资源。 Target必须具有唯一的名称(请参见IQN)。 每个目标都提供一个或多个块设备或逻辑单元(LUN-logical units)。 在大多数情况下,Target只提供一个设备,但一台服务器可以提供多个目标。
-
IQN(iSCSI Qualified Name)全球唯一的名称,用于标识发起者和目标。 IQN具有以下格式:
iqn.YYYY-MM.com.reversed.domain:name_string- YYYY-MM,年和月。示例,2020年6月为2020-06。该日期有助于确保IQN唯一性。
- com.reversed.domain,反向域名。 例如,
server.redhat.fun的反向域名为cloud.zhang.www。 - name_string,用于标识您管理的特定目标。 如果服务器只具有一个目标,则有时会省略此名称。
-
Portal,指定服务器监听的地址和端口,例如,172.25.250.50:3260。
-
LUN(Logical Unit Number),代表Target提供的块设备。 每个目标可以提供一个或多个LUN。
-
ACL(Access Control List),使用Initiator的IQN限制客户端访问Target。
-
TPG(Target Portal Group),是目标的完整配置,包括Portal,LUN和ACL。 几乎所有目标都使用一个TPG,但是高级配置有时可能会定义多个TPG。
-
discovery,查询服务器上有Target列表。
-
login,向Target验证,验证通过后即可以使用Target服务器提供的块设备。
配置 iSCSI Targets
配置 iSCSI Targets需要安装以下软件:
- targetd,服务端软件。
- targetcli,targetd服务配置工具。
#安装
[root@storage ~ 13:41:29]# yum install -y targetcli targetd
#启动服务
[root@storage ~ 13:44:07]# systemctl enable target --now
Created symlink from /etc/systemd/system/multi-user.target.wants/target.service to /usr/lib/systemd/system/target.service.
[root@storage ~ 13:44:18]# systemctl status target
● target.service - Restore LIO kernel target configuration
Loaded: loaded (/usr/lib/systemd/system/target.service; enabled; vendor preset: disabled)
Active: active (exited) since Fri 2025-11-21 13:43:45 CST; 34s ago
Main PID: 1449 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/target.service
配置 backstore 对象
backstore类型:
**block:**服务器中的块设备,例如磁盘驱动器,磁盘分区或逻辑卷。
**fileio:**本地文件系统中的常规文件。targetcli将该文件用作磁盘映像。
pscsi:物理SCSI设备。 这种类型的存储允许客户端通过网络访问服务器上的物理SCSI设备。
ramdisk:内存中的磁盘设备。 这种类型的存储不会持久存储数据。 服务器重新启动后,数据将丢失。
要使用targetcli创建后备存储,请使用其create命令。 该命令的行为取决于您在配置树中的当前位置。
交互式使用targetcli
#创建卷组
[root@storage ~ 13:47:05]# vgcreate webapp /dev/sdb
#创建逻辑卷
[root@storage ~ 13:47:35]# lvcreate -n webapp01 -L 50G webapp
#创建后备存储
[root@storage ~ 13:44:20]# 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'.
/> ls
#后端存储
o- / ....................................... [...]
o- backstores ............................ [...]
#块设备
| o- block ................ [Storage Objects: 0]
#文件
| o- fileio ............... [Storage Objects: 0]
#物理scsi
| o- pscsi ................ [Storage Objects: 0]
#内存空间
| o- ramdisk ....









