在 RHEL_CentOS 7 上使用 iSCSI 目标器_启动器创建集中式安全存储

linuxoperating systemopen source更新于 2026/1/29 9:52:17

iSCSI(Internet 小型计算机系统接口)是一种存储网络技术,允许通过 IP 网络传输块级数据。它是使用专用线缆将存储设备连接到服务器的传统光纤通道 SAN(存储区域网络)的替代方案。iSCSI 可以提供一种经济高效且灵活的方法来创建集中式存储基础架构。

在本教程中,我们将在一台 RHEL/CentOS 7 服务器上设置 iSCSI 目标器,并使用另一台 RHEL/CentOS 7 服务器上的 iSCSI 启动器连接到该目标器。我们将配置 CHAP(挑战握手身份验证协议)身份验证,以确保目标服务器和启动器之间的安全通信。

步骤 1:安装所需软件包

首先,我们需要在目标服务器和启动器服务器上安装所需的软件包。在目标服务器上,输入以下命令 -

sudo yum install scsi-target-utils -y

这将安装"scsi-target-utils"软件包,该软件包提供配置 iSCSI 目标所需的工具。在启动器服务器上,输入以下命令 -

sudo yum install iscsi-initiator-utils -y

这将安装"iscsi-initiator-utils"软件包,该软件包提供连接到 iSCSI 目标所需的工具。

步骤 2:配置 iSCSI 目标

现在,我们将在目标服务器上配置 iSCSI 目标。目标服务器将为启动器服务器提供存储。目标服务器将充当 iSCSI 目标。

要配置 iSCSI 目标,请按照以下步骤操作 -

  • 创建一个将与启动器服务器共享的新 LUN(逻辑单元号)。在此示例中,我们将创建一个 10 GB 的 LUN。

sudo dd if=/dev/zero of=/var/lib/iscsi_disks/lun01 bs=1M count=10000

    这将在"/var/lib/iscsi_disks"目录中创建一个名为"lun01"的 10 GB 文件。

  • 创建一个新的 iSCSI 目标配置文件 −

sudo nano /etc/tgt/conf.d/iscsi.conf

    将以下行添加到文件 −

<target iqn.2021-05.example.com:lun01>
  backing-store /var/lib/iscsi_disks/lun01
  incominguser chap_user secret_password
</target>

    将"iqn.2021-05.example.com:lun01"替换为目标的唯一标识符。将"chap_user"替换为用于 CHAP 身份验证的用户名,并将"secret_password"替换为用于 CHAP 身份验证的安全密码。

  • 重启 tgtd 服务以应用更改 −

sudo systemctl restart tgtd

步骤 3:配置 iSCSI 启动器

现在,我们将在启动器服务器上配置 iSCSI 启动器。启动器服务器将连接到目标服务器上的 iSCSI 目标器。要配置 iSCSI 启动器,请按照以下步骤操作 -

  • 输入以下命令发现 iSCSI 目标 -

sudo iscsiadm -m discovery -t sendtargets -p target_ip_address

    将"target_ip_address"替换为目标服务器的 IP 地址。

  • 输入以下命令登录 iSCSI 目标 -

sudo iscsiadm -m node -T iqn.2021-05.example.com:lun01 -p target_ip_address -l

    将将"iqn.2021-05.example.com:lun01"替换为目标的唯一标识符,并将"target_ip_address"替换为目标服务器的 IP 地址。

  • 输入以下命令验证 iSCSI 目标是否已连接 -

sudo lsblk

    此命令列出了启动器计算机上可用的块设备。您应该会看到新连接的 iSCSI 目标设备。

步骤 4:在 iSCSI 目标上创建文件系统

现在 iSCSI 目标已连接到启动器计算机,我们可以在其上创建文件系统。在本例中,我们将在 iSCSI 目标上创建一个 ext4 文件系统。要在 iSCSI 目标上创建文件系统,请按照以下步骤操作 -

  • 输入以下命令在 iSCSI 目标上创建新分区 -

sudo fdisk /dev/sdb

    注意:将"/dev/sdb"替换为您系统上 iSCSI 目标的块设备名称。

  • 在 fdisk 提示符下,按顺序输入以下命令 -

    • 输入"n"创建新分区。

    • 输入"p"创建主分区。

    • 输入"1"分配分区号。

    • 按两次"Enter"键接受分区第一个和最后一个扇区的默认值。

    • 输入"w"写入更改并退出 fdisk。

  • 接下来,输入以下命令将新分区格式化为 ext4 文件系统 -

sudo mkfs.ext4 /dev/sdb1

    注意:将"/dev/sdb1"替换为您在上一步中创建的分区名称。

步骤 5:挂载 iSCSI 目标文件系统

要将新创建的文件系统挂载到 iSCSI 目标上,请按照以下步骤操作 -

  • 输入以下命令为文件系统创建挂载点 -

sudo mkdir /mnt/iscsi_target
  • 输入以下命令挂载文件系统 -

sudo mount /dev/sdb1 /mnt/iscsi_target
  • 输入以下命令验证文件系统是否已挂载 -

df -h

    此命令列出系统上当前挂载的文件系统。您应该会看到新挂载的 iSCSI 目标文件系统。

步骤 6:配置 iSCSI 目标文件系统的自动挂载

为了确保 iSCSI 目标文件系统在重启后自动挂载到启动器计算机上,我们需要将系统配置为在启动时挂载它。请按照以下步骤操作:-

  • 在文本编辑器中打开 /etc/fstab 文件 -

sudo nano /etc/fstab
  • 在文件末尾添加以下行以自动挂载 iSCSI 目标文件系统 -

/dev/sdb1 /mnt/iscsi_target ext4 defaults 0 0

    保存并退出文件。

步骤 7:测试 iSCSI 目标文件系统

要测试 iSCSI 目标文件系统,请在挂载点上创建一个测试文件,并验证是否可以从启动器和目标机器。

  • 要创建测试文件,请输入以下命令 -

sudo touch /mnt/iscsi_target/testfile.txt
  • 要验证测试文件是否存在于 iSCSI 目标上,请在目标机器上输入以下命令 -

sudo ls /mnt/iscsi_target
  • 要验证测试文件是否可以从启动器机器访问,请输入以下命令 -

sudo ls /mnt/iscsi_target

如果两种情况下都列出了测试文件,则表示 iSCSI 目标文件系统已成功配置,并且可从两台计算机访问。

结论

在本教程中,我们展示了如何在 RHEL/CentOS 7 上使用 iSCSI 目标和启动器配置集中式安全存储系统。通过在一台计算机上创建 iSCSI 目标并将其连接到另一台计算机上的启动器,我们可以创建一个可从多台计算机安全访问的集中式存储系统。


相关文章


有用资源