@[TOC](CentOS 8/RHEL 8 Linux服务器上安装和配置iSCSI Target的方法)
本文将介绍在CentOS 8/RHEL 8 Linux服务器上安装和配置iSCSI Target的方法,该方法可用在CentOS 7/RHEL 7操作系统中。
一、更新你的CentOS/RHEL 8服务器和确保SELinux处于强制模式
1、更新你的CentOS/RHEL 8服务器
确保在更新的CentOS/RHEL 8服务器上进行此设置:
$ sudo dnf update
在CentOS 8/RHEL 8上安装和配置iSCSI Target的方法
2、确保SELinux处于强制模式:
确认你的SELinux状态:
$ getenforce
Enforcing
由于此设置涵盖了SELinux的配置,因此请使其以强制模式运行。
参考:在RHEL 8/CentOS 8系统中禁用SELinux的方法。
二、在CentOS 8/RHEL 8上安装targetcli软件包和检查系统上的可用空间
1、在CentOS 8/RHEL 8上安装targetcli软件包
iSCSI Target的软件包可在CentOS 8/RHEL 8默认AppStream存储库中作为targetcli使用,通过运行以下命令进行安装:
sudo dnf -y install targetcli
2、检查系统上的可用空间
这是为了确保有足够的磁盘空间或块可用于分配,建议为此设置一个不同的分区,以便在不干扰核心CentOS文件和系统的情况下更易于管理:
$ df -hT
在CentOS 8/RHEL 8上安装和配置iSCSI Target的方法
如果服务器上有辅助磁盘,则建议你使用它。
三、在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检查其内容:
在CentOS 8/RHEL 8上安装和配置iSCSI Target的方法
一切都是空的,除此之外,你会注意到内容中的第一件事就是后台存储,此处的Backstore有助于提供不同的方式将数据保留在本地,以后将导出该数据或将其提供给外部系统(如启动器)使用,Backstore的可用选项为block、fileio、pscsi和ramdisk。
你可以轻易猜到的块后备存储是Linux块设备,例如/dev/sda等硬盘驱动器,如果目标中有磁盘,则可以使用此选项,另一方面,fileio backstore是文件系统上已使用预定义大小创建的普通文件,将在我们的设置中使用此选项,通常,块后备存储的性能要优于单个文件。
1、让我们创建一个5GB的fileio后台存储
在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
在CentOS 8/RHEL 8上安装和配置iSCSI Target的方法
参考:不使用ls命令列出目录内容,转而使用替代命令的方法。
2、创建iSCSI目标
为了创建iSCSI Target,我们必须进入服务器中的iSCSI路径:
/backstores/fileio> cd /iscsi
/iscsi>
在iscsi路径内,现在可以使用名称创建iscsi目标,命名约定是标准的,如下所示:
[ iqn.(year)-(month).(reverse of domain name):(any name you prefer) ].
比如我们的域是computingforgeeks.com,所以相反是com.computingforgeeks,为你做同样的事情,让我们继续命名目标:
iqn.2019-11.computingforgeeks.com:GeeksTarget1
注:如果是云网牛站来操作,则把computingforgeeks改成ywnz.com,如此类推。
创建目标:
/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
在CentOS 8/RHEL 8上安装和配置iSCSI Target的方法
3、创建一个LUN
iSCSI LUN是存储的逻辑单元,目标可以向iSCSI客户端提供一个或多个LUN,iSCSI客户端启动与iSCSI服务器的连接,导航到在上一个命令中创建的目标门户网站组(TPG),注意上面的“Created 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
在CentOS 8/RHEL 8上安装和配置iSCSI Target的方法
4、配置访问控制列表(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.
5、设置用户名和密码
导航到在ACL中创建的新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
在CentOS 8/RHEL 8上安装和配置iSCSI Target的方法
可以证明,一切都很好,通过退出保存:
/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
至此,整个操作全部完成。