保存配置

最后一步是使用“saveconfig”命令保存配置。
确保从“/”目录运行命令,否则会失败。

/> saveconfig
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json

将 iSCSI 磁盘添加到 TPG

  1. 现在我们需要将我们之前在这篇文章中创建的磁盘 (disk0) 添加到默认的 TPG。
/> cd /iscsi/iqn.2003-01.org.linux-iscsi.onitroad.x8664:sn.81b9fd11a721/tpg1/luns 
/iscsi/iqn.20...721/tpg1/luns> create /backstores/block/disk0 
Created LUN 0.
Created LUN 0->0 mapping in node ACL iqn.1994-05.com.redhat:aabb51a64012
  1. 验证配置。

创建新的 IQN

  1. 以下示例使用 create 命令创建具有目标的 IQN(iSCSI 限定名称)。
    使用不带任何参数的 create 命令通过使用默认目标名称创建 iSCSI 目标。
    默认情况下,目标由“iqn”标识符标识。
    这是一个 iSCSI 限定名称 (IQN),它唯一标识一个目标。
/>/> cd /iscsi 
/iscsi> create
Created target iqn.2003-01.org.linux-iscsi.onitroad.x8664:sn.81b9fd11a721.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi>
  1. 使用 /iscsi 目录下的 ls 命令验证新创建的 IQN。
查看更多教程 https://on  itroad.com

创建目标门户组 (TPG)

创建新的 IQN 时会创建默认的目标门户组 (TPG)。
网络门户是一个 IP 地址:端口对。
远程系统通过网络门户访问 iSCSI 目标。
默认门户 0.0.0.0:3260 允许 iSCSI 服务器侦听端口 3260 上的所有 IPv4 地址。
我们可以根据需要删除默认门户并配置门户。
支持 IPv4 和 IPv6 地址。

  1. 正如我们在下面的命令中看到的,默认 TGP 已经创建。
/> cd /iscsi/iqn.2003-01.org.linux-iscsi.onitroad.x8664:sn.81b9fd11a721/tpg1/portals/
/iscsi/iqn.20.../tpg1/portals> ls
  1. 要允许远程系统访问端口 3260 上的 iSCSI 目标,请禁用 iSCSI 服务器上的 firewalld 服务或者配置 firewalld 以信任 3260/tcp 端口。
    以下示例使用 firewall-cmd 为 firewalld 服务打开 3260/tcp 端口。
# firewall-cmd --permanent --add-port=3260/tcp

如果在添加端口时包含 -permanent 选项,请使用 firewall-cmd 命令重新加载配置。

# firewall-cmd -reload
如何在 CentOS/RHEL 7 中使用 targetcli 配置 iSCSI 目标

Internet 小型计算机系统接口 (iSCSI) 是一种基于 IP 的标准,用于连接存储设备。
iSCSI 使用 IP 网络封装 SCSI 命令,允许远距离传输数据。
iSCSI 在多个客户端系统之间提供共享存储。
存储设备连接到服务器(目标)。
客户端系统(启动器)通过 IP 网络访问远程存储设备。
对于客户端系统,存储设备似乎是本地连接的。
iSCSI 使用现有的 IP 基础设施,不需要任何另外的布线,就像光纤通道 (FC) 存储区域网络一样。

设置ACL

  1. 访问控制列表 (ACL) 限制从远程系统访问 LUN。
    我们可以为每个启动器创建一个 ACL,以在启动器连接到目标时强制进行身份验证。
    这允许我们授予特定发起方对特定目标的独占访问权限。

  2. 在我们可以创建 ACL 之前,我们必须从客户端 (iscsi-initiator) 中找出启动器名称。
    在客户端上使用以下命令获取启动器名称。

[root@initiator ~]# cat /etc/iscsi/initiatorname.iscsi 
InitiatorName=iqn.1994-05.com.redhat:aabb51a64012
  1. 以下示例使用create 命令为发起方创建ACL。
    在 targetcli shell 中,首先使用 cd 命令切换到 [target/TGP] 层次结构中的 acls 目录。
    使用我们刚刚从上面的命令中获得的启动器名称。
/> cd /iscsi/iqn.2003-01.org.linux-iscsi.onitroad.x8664:sn.81b9fd11a721/tpg1/acls 
/iscsi/iqn.20...721/tpg1/acls> create iqn.1994-05.com.redhat:aabb51a64012
Created Node ACL for iqn.1994-05.com.redhat:aabb51a64012
  1. 验证我们刚刚设置的新 ACL。

配置 iSCSI 启动器

  1. 在 iscsi-initiator 上针对目标运行发现以验证 iqn 是否可用。
iscsiadm --mode discoverydb --type sendtargets --portal [ip-of-target] --discover
[ip-of-target]:3260,1 iqn.2003-01.org.linux-iscsi.onitroad.x8664:sn.81b9fd11a721
  1. 登录目标
# iscsiadm --mode node --targetname iqn.2003-01.org.linux-iscsi.onitroad.x8664:sn.81b9fd11a721 --portal [ip-of-target] --login
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.onitroad.x8664:sn.81b9fd11a721, portal: [ip-of-target],3260] (multiple)
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.onitroad.x8664:sn.81b9fd11a721, portal: [ip-of-target],3260] successful.
  1. 验证我们是否可以看到新的 iSCSI 存储。
# cat /proc/scsi/scsi 
Attached devices:
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: LIO-ORG  Model: disk0            Rev: 4.0 
  Type:   Direct-Access                    ANSI  SCSI revision: 05

添加设备

  1. 在Backstores /backstores/block 下添加磁盘/dev/xvdf 作为iSCSI 设备。
    回溯存储是内核目标用来“备份”其导出的 SCSI 设备的本地存储资源。
# targetcli 
...
/> cd /backstores/block/
/backstores/block> create disk0 /dev/xvdf
Created block storage object disk0 using /dev/xvdf.

2.在targetcli命令行的/backstores/block目录下使用“ls”验证新设备。

安装 targetcli

  1. RHEL/CentOS 7 为 iSCSI 使用 Linux-IO (LIO) 内核目标子系统。
    除了 iSCSI,LIO 还支持多种存储结构,包括以太网光纤通道 (FCoE)、Mellanox InfiniBand 网络 (iSER) 上的 iSCSI 访问以及 Mellanox InfiniBand 网络 (SRP) 上的 SCSI 访问。
    在 RHEL 7 中,所有存储结构都使用 targetcli 实用程序进行管理。

要将 RHEL 系统配置为 iSCSI 服务器,请先安装 targetcli 软件包:

# yum install targetcli
  1. 安装targetcli软件包也安装了python-rtslib包,提供了/usr/lib/systemd/system/target.service文件。
    在使用 targetcli 实用程序创建、删除和查看存储目标之前,请使用 systemctl 命令在 iSCSI 服务器上启用和启动目标服务。
# systemctl enable target
Created symlink from /etc/systemd/system/multi-user.target.wants/target.service to /usr/lib/systemd/system/target.service.
# systemctl start target
日期:2020-09-17 00:13:20 来源:oir作者:oir