本文将介绍在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
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 在配置的磁盘中创建一个文件夹,例如在/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检查其内容:
一切都是空的,除此之外,你会注意到内容中的第一件事就是后台存储,此处的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
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
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
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
可以证明,一切都很好,通过退出保存: /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 至此,整个操作全部完成。
相关主题 |