iSCSI是通过TCP / IP网络管理存储设备,特别是长距离一个块级协议。 iSCSI目标是从远程iSCSI服务器(或)目标提供的远程硬盘。 另一方面,iSCSI客户端被称为发起者 ,并且将访问在目标机器共享的存储。
本文中使用了以下机器:
服务器(目标):
Operating System – Red Hat Enterprise Linux 7 iSCSI Target IP – 192.168.0.29 Ports Used : TCP 860, 3260
客户端(启动器):
Operating System – Red Hat Enterprise Linux 7 iSCSI Target IP – 192.168.0.30 Ports Used : TCP 3260
第1步:在iSCSI目标上安装软件包
要安装目标所需的包(我们稍后将处理客户端),请执行:
# yum install targetcli -y
安装完成后,我们将启动并启用服务,如下所示:
# systemctl start target # systemctl enable target
最后,我们需要允许在firewalld中的服务:
# firewall-cmd --add-service=iscsi-target # firewall-cmd --add-service=iscsi-target --permanent
最后但并非最不重要的是,我们不能忘记允许iSCSI目标发现:
# firewall-cmd --add-port=860/tcp # firewall-cmd --add-port=860/tcp --permanent # firewall-cmd --reload
第2步:在目标服务器中定义LUN
在继续在目标确定的LUN,我们需要创建两个逻辑卷作为RHCSA系列(“第6部分解释了配置系统的存储 ”)。
这一次,我们将它们命名为vol_projects
和vol_backups
并把它们称为一个卷组中vg00
,如图所示。 1.随意选择分配给每个LV的空间:
图1:两个逻辑卷命名为vol_projects和vol_backups
创建的LV之后,我们已经准备好定义,以使其可用于客户机在目标的LUN。
如示于图 2,我们将打开一个targetcli
外壳并发出以下命令,将创建两个块backstores(本地存储资源代表LUN的启动将实际使用)和iSCSI限定名称 (IQN),针对目标服务器的方法。
请参阅第32页的RFC 3720的关于IQN的结构的更多细节。 尤其是,冒号后的文字(:tgt1)
指定目标的名称,而之前的文本(server:)
表示域内目标的主机名。
# targetcli # cd backstores # cd block # create server.backups /dev/vg00/vol_backups # create server.projects /dev/vg00/vol_projects # cd /iscsi # create iqn.2016-02.com.youcl.server:tgt1
图2:在目标服务器中定义LUN
随着上述步骤,一个新的TPG( 目标门户组 )与默认的门户网站(包括IP地址的对和端口是发起人的方式可以到达目标)监听所有IP地址的端口3260建立沿。
如果你要绑定您的门户网站到一个特定的IP(目标的主要IP,例如),删除默认的门户网站,并创建一个新的如下(否则,跳过以下targetcli命令。 请注意,我们已经跳过了他们作为简单好 ):
# cd /iscsi/iqn.2016-02.com.youcl.server:tgt1/tpg1/portals # delete 0.0.0.0 3260 # create 192.168.0.29 3260
现在我们准备继续创建LUN。 请注意,我们使用的是我们前面创建(backstores server.backups
和server.projects
)。 该过程在图1中示出。 3:
# cd iqn.2016-02.com.youcl.server:tgt1/tpg1/luns # create /backstores/block/server.backups # create /backstores/block/server.projects
图3:在iSCSI目标服务器中创建LUN
在目标配置中的最后一部分由创建的访问控制列表来限制访问对每个引发剂的基础。 由于我们的客户机被命名为“客户”,我们会追加文本的IQN。 参照图 4详细信息:
# cd ../acls # create iqn.2016-02.com.youcl.server:client
图4:为启动器创建访问控制列表
在这一点上,我们可以targetcli外壳显示所有配置的资源,我们可以看到图。 5:
# targetcli # cd / # ls
图5:用户targetcli检查配置的资源
要退出targetcli壳,只需键入exit,然后按Enter键 。 配置将会自动保存到/etc/target/saveconfig.json。
正如你在图看到的。 5上面,我们有一个门户监听所有IP地址的端口3260上的预期。 我们可以验证,使用netstat命令 ( 见图6):
# netstat -npltu | grep 3260
图6:验证iSCSI目标服务器端口监听
这样就完成了目标配置。 随时重新启动系统,并验证所有设置在重新启动后生存。 如果没有,请确保在防火墙配置中打开必要的端口,并在引导时启动目标服务。 我们现在准备设置启动器并连接到客户端。
第3步:设置客户端启动器
在客户端,我们需要安装的iSCSI initiator-utils程序包,它提供了对iSCSI协议(iscsid),以及使用iscsiadm,管理实用程序服务器守护程序:
# yum update && yum install iscsi-initiator-utils
安装完成后,打开/etc/iscsi/initiatorname.iscsi和替换默认的启动器名称(评论图7)与先前在ACL中设置服务器上的名称(iqn.2016-02.com.youcl .server:客户端 )。
然后保存文件,并在发现模式指向目标运行的iscsiadm。 如果成功,该命令将返回如图目标信息。 7:
# iscsiadm -m discovery -t st -p 192.168.0.29
图7:设置客户端启动器
接下来的步骤包括重新启动及启用iscsid服务,:
# systemctl start iscsid # systemctl enable iscsid
以及以节点模式联系所述目标。 这应导致内核级消息,其中,当通过dmesg的显示捕获的设备识别远程的LUN已在本地系统给予(SDE和SDF在图8):
# iscsiadm -m node -T iqn.2016-02.com.youcl.server:tgt1 -p 192.168.0.29 -l # dmesg | tail
图8:以节点模式连接到iSCSCI目标服务器
从这一点开始,您可以像使用任何其他存储设备一样创建分区,甚至是LV(以及其上的文件系统)。 为了简单起见,我们将在每个磁盘上创建一个主分区,这将占用其整个可用空间,并使用ext4格式化。
最后,让我们设置/ dev / SDE1和/ dev / SDF1上/项目 /备份 ,分别为(请注意,这些目录必须创建在前):
# mount /dev/sde1 /projects # mount /dev/sdf1 /backups
此外,还可以添加在/ etc / fstab中的两个条目,以便这两个文件系统能够自动在开机使用每个文件系统的UUID通过的BLKID-返回的安装。
注意 ,_netdev安装选项必须按顺序推迟这些文件系统的安装,直到网络服务已启动用于:
图9:查找文件系统UUID
您现在可以像使用任何其他存储介质一样使用这些设备。
概要
在这篇文章中,我们已经介绍了如何设置和配置iSCSI目标,并在RHEL / CentOS 7 disitributions启动器。 虽然第一个任务是不是EX300(RHCE)考试所需的能力的一部分,它是必要的,以实现第二个话题。
如果您对本文有任何问题或意见,请随时通知我们,随时可以使用下面的评论表单。
展望安装iSCSI目标和客户端发起的RHEL / CentOS 6的,按照本指南: 设置集中式iSCSI存储与客户端发起 。