在 RHEL_CentOS 7 上使用 iSCSI Target _ Initiator 创建集中式安全存储
iSCSI(互联网小型计算机系统接口)是一种存储网络技术,允许通过 IP 网络传输块级数据。它是传统光纤通道 SAN(存储区域网络)的替代方案,传统光纤通道 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 目标并将其连接到另一台计算机上的启动器,我们可以创建集中式存储可以从多台机器安全地访问系统。