如何在CentOS 8 / RHEL 8上配置iSCSI目标和启动器

前言

如何在CentOS 8 / RHEL 8上设置iSCSI目标?有了CentOS 8,您的组织或实验室就可以充分利用CentOS 8了,它可以提供有价值的重要服务。在这里,我们将在CentOS 8 / RHEL 8 Linux服务器上安装并配置iSCSI目标和启动器。设置是将一台服务器作为目标服务器,将另一台服务器作为发起服务器,如下图所示。让我们开始吧

步骤1:更新CentOS / RHEL服务器

确保您使用更新的CentOS / RHEL服务器进行此设置。

$ sudo dnf update
 CentOS-8 - AppStream                                                                                                       588 kB/s | 6.3 MB     00:10    
 CentOS-8 - Base                                                                                                            578 kB/s | 7.9 MB     00:13    
 CentOS-8 - Extras                                                                                                          511  B/s | 2.1 kB     00:04    
 Dependencies resolved.
 =========================================================================================================================================================== Package                                       Arch                      Version                                           Repository                 Size 
 ===========================================================================================================================================================Installing:
  kernel                                        x86_64                    4.18.0-80.11.2.el8_0                              BaseOS                    424 k 
  kernel-core                                   x86_64                    4.18.0-80.11.2.el8_0                              BaseOS                     24 M 
  kernel-modules                                x86_64                    4.18.0-80.11.2.el8_0                              BaseOS                     20 M

步骤2:确保SELinux处于强制模式。

检查SELinux状态

$ getenforce
Enforcing

此设置将继续以强制模式运行,以涵盖SELinux配置。

步骤3:在CentOS 8 / RHEL 8上安装targetcli软件包

iSCSI目标软件包可在CentOS 8 / RHEL 8上的默认AppStream存储库中用作targetcli。执行以下命令进行安装。

sudo dnf -y install targetcli

步骤4:检查系统上的可用空间

这是为了确保有足够的磁盘空间或块可用于分配。建议您设置一个单独的分区,以使其易于管理而不会干扰CentOS核心文件和系统。

$ df -hT
 Filesystem          Type      Size  Used Avail Use% Mounted on
 devtmpfs            devtmpfs  365M     0  365M   0% /dev
 tmpfs               tmpfs     380M     0  380M   0% /dev/shm
 tmpfs               tmpfs     380M   10M  370M   3% /run
 tmpfs               tmpfs     380M     0  380M   0% /sys/fs/cgroup
 /dev/mapper/cl-root xfs        27G  1.6G   26G   6% /
 /dev/sda1           ext4      976M  159M  751M  18% /boot
 tmpfs               tmpfs      76M     0   76M   0% /run/user/1000

如果您的服务器具有辅助磁盘,则建议您使用它。

步骤5:在CentOS 8 / RHEL 8上配置iSCSI Target

例如,在配置的磁盘上创建一个文件夹 / var / 或辅助磁盘或RAID设备的安装点。

sudo mkdir /var/targetdisk01

访问targetcli管理控制台并创建目标

$ sudo su -
# targetcli
targetcli shell version 2.1.fb49
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/>

运行ls检查其内容

/> ls
 o- / …………………………………………………………………………………………………… […]
   o- backstores …………………………………………………………………………………………. […]
   | o- block ……………………………………………………………………………………………. [Storage Objects: 0]
   | o- fileio …………………………………………………………………………………………… [Storage Objects: 0]
   | o- pscsi ……………………………………………………………………………………………. [Storage Objects: 0]
   | o- ramdisk ………………………………………………………………………………………….. [Storage Objects: 0]
   o- iscsi ……………………………………………………………………………………………… [Targets: 0]
   o- loopback …………………………………………………………………………………………… [Targets: 0]

一切都是空的。除此之外,第一部分内容是后台存储。此处的后备存储有助于提供多种方式,以保持数据本地导出或以后供启动程序之类的外部系统使用。可用于backstore的选项为block,fileio,pscsi和ramdisk。

一个容易猜到的块后存储是Linux块设备,例如/ dev / sda等硬盘驱动器。如果目标有磁盘,则此选项可用。另一方面,fileio backstore是使用预定义大小创建的文件系统上的常规文件。 W在设置中使用此选项。通常,Blockback存储的性能优于单个文件。

让我们创建一个5GB的文件存储库。

在targetcli控制台中转到backstores / fileio并创建一个Backstore。

/> cd backstores/fileio
/backstores/fileio> create targetdisk1 /var/targetdisk01/targetdisk1.img 5G                                                                                
Created fileio targetdisk1 with size 5368709120

发出ls命令以确认它已创建

/backstores/fileio> ls
 o- fileio ……………………………………………………………………………………….. [Storage Objects: 1]
   o- targetdisk1 …………………… [/var/targetdisk01/targetdisk1.img (5.0GiB) write-back deactivated]
     o- alua …………………………………………………………………………………………. [ALUA Groups: 1]
       o- default_tg_pt_gp ……………………………………………………. [ALUA state: Active/optimized]

创建iSCSI目标

要创建iSCSI目标,您必须导航到服务器的iSCSI路径。

/backstores/fileio> cd /iscsi
/iscsi>

现在,您可以在iscsi路径中按名称创建iscsi目标。命名约定是标准的,如下所示:

 [ iqn.(year)-(month).(reverse of domain name):(any name you prefer) ]. 

相反,是com.computingforgeeks,因为我们的域是computeforgeeks.com。为您做同样的事情。让我们继续命名目标。

iqn.2019-11.computingforgeeks.com:GeeksTarget1

建立目标

/iscsi> create iqn.2019-11.computingforgeeks.com:GeeksTarget1
 Created target iqn.2019-11.computingforgeeks.com:geekstarget1.
 Created TPG 1.
 Global pref auto_add_default_portal=true
 Created default portal listening on all IPs (0.0.0.0), port 3260.

发出ls命令以查看所做的更改

/iscsi> ls
 o- iscsi ……………………………………………………………………………………………….. [Targets: 1]
 o- iqn.2019-11.computingforgeeks.com:geekstarget1 ………………………. [TPGs: 1]
 o- tpg1 ……………………………………………………………………………………. [no-gen-acls, no-auth]
 o- acls ……………………………………………………………………………………………… [ACLs: 0]
 o- luns ……………………………………………………………………………………………… [LUNs: 1]
 | o- lun0 …………………. [fileio/targetdisk1 (/var/targetdisk01/targetdisk1.img) (default_tg_pt_gp)]
  o- portals ………………………………………………………………………………………… [Portals: 1]
  o- 0.0.0.0:3260 …………………………………………………………………………………………. [OK]

创建LUN

iSCSI LUN是存储的逻辑单元。目标可以向启动与iSCSI服务器的连接的iSCSI客户端提供一个或多个LUN。转到上一条命令创建的目标门户网站组(TPG)。 ”创建TPG 1“从上面。

/iscsi> cd iqn.2019-11.computingforgeeks.com:geekstarget1/tpg1/luns 
/iscsi/iqn.20…et1/tpg1/luns>

接下来,从先前创建的targetdisk1创建LUN。在此步骤中使用您的。

/iscsi/iqn.20…et1/tpg1/luns> create /backstores/fileio/targetdisk1 
Created LUN 0.

发出ls命令进行确认

/iscsi/iqn.20…et1/tpg1/luns> ls

o- luns …………………………………………………………………………………………………… [LUNs: 1]
  o- lun0 ………………………………………. [fileio/targetdisk1 (/var/targetdisk01/targetdisk1.img) (default_tg_pt_gp)]

配置访问控制列表(ACL)

访问控制列表可确保只有已知的启动器才能连接到目标。为此,客户机/启动器上的/etc/iscsi/initiatorname.iscsi文件具有类似于以下内容的行:在ACL中使用它。您可以编辑名称以适合您的环境。

## This is file in your initiator
$ sudo vi /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2019-11.com.computingforgeeks:initiator1 

使用与上述相同的路径转到ACL。

/iscsi/iqn.20…starget1/tpg1> cd acls
/iscsi/iqn.20…et1/tpg1/acls>

然后在ACLS路径中的启动器iqn上执行以下操作

/iscsi/iqn.20…et1/tpg1/acls> create iqn.2019-11.com.computingforgeeks:initiator1
Created Node ACL for iqn.2019-11.com.computingforgeeks:initiator1
Created mapped LUN 0.

设置用户名和密码

在向目标发送请求时,转到由acls创建的新iqn,设置用户名和密码并验证启动程序。

/iscsi/iqn.20…et1/tpg1/acls> cd iqn.2019-11.com.computingforgeeks:initiator1
/iscsi/iqn.20…ks:initiator1>
/iscsi/iqn.20…ks:initiator1> set auth userid=initiator1
 Parameter userid is now 'initiator1'.
/iscsi/iqn.20…ks:initiator1> set auth password=gai0daeNgu ##Use strong password here
 Parameter password is now 'gai0daeNgu'.
/iscsi/iqn.20…ks:initiator1>

转到/ iscsi以确保所有设置正确完成,然后退出并保存。

/iscsi/iqn.20…ks:initiator1> cd /iscsi/
 /iscsi> ls
 o- iscsi ……………………………………………………………………………………………….. [Targets: 1]
 o- iqn.2019-11.computingforgeeks.com:geekstarget1 ………………………………………………. [TPGs: 1]
 o- tpg1 ……………………………………………………………………………………. [no-gen-acls, no-auth]
 o- acls ……………………………………………………………………………………………… [ACLs: 1]
 | o- iqn.2019-11.com.computingforgeeks:initiator1 ………………………………………………….. [Mapped LUNs: 1]
 | o- mapped_lun0 …………………………………………………………………. [lun0 fileio/targetdisk1 (rw)]
  o- luns ……………………………………………………………………………………………… [LUNs: 1]
 | o- lun0 …………………………………. [fileio/targetdisk1 (/var/targetdisk01/targetdisk1.img) (default_tg_pt_gp)]
 o- portals ………………………………………………………………………………………… [Portals: 1]
 o- 0.0.0.0:3260 …………………………………………………………………………………………. [OK]

可以证明,一切都很好。退出并保存

/iscsi> exit
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup/.
Configuration saved to /etc/target/saveconfig.json

如果防火墙正在运行,请启用目标并配置防火墙规则。

$ sudo systemctl enable target
Created symlink /etc/systemd/system/multi-user.target.wants/target.service → /usr/lib/systemd/system/target.service.
## Set the firewall rules as below
$ sudo firewall-cmd --add-service=iscsi-target --permanent
success
$ sudo firewall-cmd --reload
success

步骤6:配置iSCSI启动器

我们可以走了。剩下的唯一事情就是配置启动器并消耗这些资源。请遵循以下指南。

如何在CentOS 8 / RHEL 8上配置iSCSI启动器

结论

现在,就定位而言,一切都已设置好。服务器准备好服务添加到ACL中的启动器,并开始服务于用例。在下一个指南中,我们将与发起者一起使每个人都高兴。

我很高兴能访问此站点。感谢您的参与。请参阅下面概述的与CentOS 8 / RHEL 8相关的指南。

在CentOS 8 / RHEL 8上为Apache / Nginx安装Varnish Cache 6

在CentOS 8 / RHEL 8上安装FreeRADIUS和Daloradius

如何使用Rsync和Nginx创建CentOS 8本地存储库镜像

在CentOS 8 / CentOS 7上使用Heketi设置GlusterFS存储

如何将CentOS 8储存库与Satellite / Katello / Foreman同步

如何在OpenStack中创建CentOS 8 KVM映像模板

在CentOS 8 / RHEL 8上安装Apache Subversion(SVN)

在RHEL 8 / CentOS 8上安装Apache OpenOffice

如何将CentOS 8 / RHEL 8系统加入Active Directory(AD)域

在CentOS 8 / RHEL 8上启用自动软件更新

Sidebar