金鱼哥RHCA回忆录:RH358访问基于块的网络存储--访问iSCSI存储

举报
金鱼哥 发表于 2022/05/17 17:49:47 2022/05/17
【摘要】 第十一章 访问基于块的网络存储--访问iSCSI存储

本章节介绍如何访问iSCSI存储。

🎹 个人简介:大家好,我是 金鱼哥,CSDN运维领域新星创作者,华为云·云享专家,阿里云社区·专家博主
📚个人资质:CCNA、HCNP、CSNA(网络分析师),软考初级、中级网络工程师、RHCSA、RHCE、RHCA、RHCI、ITIL😜
💬格言:努力不一定成功,但要想成功就必须努力🔥


1. 配置 iSCSI initiator

在Red Hat Enterprise Linux中,iSCSI initiator通常是在软件中实现的。使用基于软件的iSCSI initiator需要连接到现有的以太网网络,有足够的带宽来承载存储流量。

注意:作为本节中介绍的软件实现的替代方案,可以使用在专用主机总线适配器(HBA)中包含所需协议的硬件initiators。这可以将以太网、TCP和iSCSI处理转移到硬件上,从而减少其他系统资源的负载。


系统准备

配置iSCSI客户端启动器需要安装iscsi-initiator-utis包,其中包含iscsi和iscsid服务,以及/etc/iscsi/iscsid.conf和/etc/iscsi/initiatorname.iscsi配置文件。

[root@host ~]# yum install iscsi-initiator-utils

作为iSCSI启动器,客户端需要自己唯一的IQN (iSCSI Qualified Name)。在安装iscsi-initiator-utils的过程中,该包会使用Red Hat的DNS域生成一个唯一的IQN,并将该IQN保存到/etc/iscsi/initiatorname.iscsi中。管理员通常将该文件中的IQN更改为他们的DNS域,除了适当的客户端名称字符串。

/etc/iscsi/iscsid.conf文件包含连接的targets的默认设置。这些设置包括iscsi超时时间、重试参数以及用于身份验证的用户名和密码。

安装包会自动配置iscsi和iscsid服务,以便启动器在系统启动时自动重新连接任何已经发现的targets。当修改启动器的配置文件时,请重新启动iscsid服务。


连接 iSCSI target

在连接和使用远端设备之前,首先需要发现target.。发现过程将目标信息和设置保存在/var/ib/iscsi/nodes/目录下,默认为/etc/iscsi/iscsid.conf。

使用如下命令发现远程目标:

[root@host ~]# iscsiadm -m discovery -t st -p portal_ip[:port]
192.168.0.10:3260,1 iqn.2014-06.com.example:disk1
192.168.0.10:3260,1 iqn.2014-06.com.example:disk2
192.168.0.10:3260,1 iqn.2014-06.com.example:target1

portal_ip为目标portal的IP地址。如果不指定端口参数,则使用默认端口3260。该命令返回可用目标器的iqn。

要使用列出的目标之一,请使用以下命令登录:

[root@host ~]# iscsiadm -m node -T iqn.2014-06.com.example:disk1 -p portal_ip[:port] -l

此时,系统会检测到一个新的SCSI块设备,就像它是一个本地连接的硬盘驱动器一样。您可以使用iscsiadm -m session -P 3命令识别新设备,该命令将在打印级别3显示当前iSCSI登录会话的信息。

[root@host ~]# iscsiadm -m session -P 3
iSCSI Transport Class version 2.0-870
version 6.2.0.877-0
Target: iqn.2014-06.com.example:disk1 (non-flash)
Current Portal: 192.168.0.10:3260,1
...output omitted...
Attached scsi disk sdc State: running

也可以查看 dmesg、tail /var/log/messages 或 ls -l /dev/disk/bypath/iscsi 命令的输出

登录过程在重新引导时是持久的。因此,块设备在启动后自动可用。


格式化iSCSI设备

如果发现的块设备已经有分区、文件系统或LVM卷,那么可以使用常用命令(如mount)访问这些数据。可以使用Isblk --fs命令检查设备来发现这样的结构。

[root@host ~]# lsblk --fs
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs f7614c41-2835-4125-bb13-50772dc2f30c /boot
├─sda2 swap 78a5f1eb-a593-4db3-b15a-f49042e182a2 [SWAP]
└─sda3 xsf ac2790c4-cfbb-409e-88a9-fe8c963fcd00 /
sdb LVM2_member 4ALe1y-oEXe-XLer-PjYW-n5ud-Ryko-XZZ2PM
├─dbdata-log ext4 bd566c1f-01a1-404d-8f01-9495004f327c /data/db/log
└─dbdata-data ext4 5640b4ae-5868-4bf5-8715-51fc18d8656b /data/db/data
sdc

其中,/dev/sda有三个分区,/dev/sdb是LVM的物理卷,/dev/sdc没有数据。

如果磁盘是空的,可以格式化它、创建分区或将它用作LVM物理卷。

当在/etc/fstab中的iSCSl目标上持久化挂载文件系统时,请确保遵循以下建议:

  • 使用带有 --fs选项的lsblk命令来确定文件系统UUID,然后使用该UUID挂载文件系统。不要使用设备名(/dev/sd*),因为它会在boot和boot之间发生变化。设备的名称取决于iSCSl设备通过网络响应的顺序。如果您使用/etc/fstab中的设备名称,并且该名称在重新引导后更改,那么系统可能会将设备挂载在错误的挂载点下。

  • 使用/etc/fstab中的_netdev挂载选项。因为iSCSl依赖于网络来访问远端设备,所以该选项确保系统不会尝试挂载文件系统,直到网络和启动器启动为止。


2. 断开与 target 的连接

如果需要停止使用iSCSI目标,请执行以下步骤。

  • 确保目标提供的设备都没有在使用中。例如,卸载文件系统。

  • 从/etc/fstab等位置删除对目标的所有持久化引用。

  • 注销 iSCSI target。

[root@host ~]# iscsiadm -m node -T iqn.2014-06.com.example:disk1 -p 192.168.0.10:3260 -u

  • 删除iSCSI目标器的本地记录,避免启动器在启动时自动登录该目标器。

[root@host ~]# iscsiadm -m node -T iqn.2014-06.com.example:disk1 -p 192.168.0.10:3260 -o delete


3. 课本练习

[student@workstation ~]$ lab iscsi-initiator start

在serverd配置iSCSl target。将使用servera的initiator连接到该target。


1. 安装iscsi-initiator-utils软件包。

[root@servera ~]# yum -y install iscsi-initiator-utils

2. 设置客户端initiator。

[root@servera ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2014-06.com.example:servera
[root@servera ~]# systemctl restart iscsid

3. 发现并登录配置的target。

[root@servera ~]# iscsiadm -m discovery -t st -p 172.25.250.13
172.25.250.13:3260,1 iqn.2014-06.com.example:serverd
[root@servera ~]# iscsiadm -m node -T iqn.2014-06.com.example:serverd -p 172.25.250.13 -l
Logging in to [iface: default, target: iqn.2014-06.com.example:serverd, portal:
172.25.250.13,3260]
Login to [iface: default, target: iqn.2014-06.com.example:serverd, portal:
172.25.250.13,3260] successful.
[root@servera ~]# iscsiadm -m session -P 3
iSCSI Transport Class version 2.0-870
version 6.2.0.877-0
Target: iqn.2014-06.com.example:serverd (non-flash)
Current Portal: 172.25.250.13:3260,1
...output omitted...
Attached scsi disk sda State: running

4. 请确认新块设备没有分区和文件系统。将设备格式化为XFS,然后将其配置为在引导时持久地挂载在/data上。

[root@servera ~]# lsblk --fs
sda                                                      
vda                                                      
└─vda1 xfs          f7614c41-2835-4125-bb13-50772dc2f30c /
vdb     
[root@servera ~]# mkfs.xfs /dev/sda
meta-data=/dev/sda               isize=512    agcount=4, agsize=327680 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=1310720, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@servera ~]# mkdir /data
[root@servera ~]# lsblk --fs /dev/sda
NAME FSTYPE LABEL UUID                                 MOUNTPOINT
sda  xfs          d3da0d6a-a00f-4132-b539-5b26802ddcf5
[root@servera ~]# echo "UUID=d3da0d6a-a00f-4132-b539-5b26802ddcf5 /data xfs _netdev 0 0" >> /etc/fstab
[root@servera ~]# mount -a
[root@servera ~]# df /data
Filesystem     1K-blocks  Used Available Use% Mounted on
/dev/sda         5232640 69616   5163024   2% /data

5. 把实验清理干净。

卸载文件系统,注销iSCSI目标器,然后删除目标器的所有记录。

[root@servera ~]# umount /data
[root@servera ~]# cat /etc/fstab  # 删除挂载/data 条目
UUID=f7614c41-2835-4125-bb13-50772dc2f30c /                       xfs     defaults        0 0
[root@servera ~]# iscsiadm -m node -T iqn.2014-06.com.example:serverd -p 172.25.250.13 -u
Logging out of session [sid: 1, target: iqn.2014-06.com.example:serverd, portal: 172.25.250.13,3260]
Logout of [sid: 1, target: iqn.2014-06.com.example:serverd, portal: 172.25.250.13,3260] successful.
[root@servera ~]# iscsiadm -m node -T iqn.2014-06.com.example:serverd -p 172.25.250.13 -o delete

完成实验

[student@workstation ~]$ lab iscsi-initiator finish


总结

  • 介绍如何配置 iSCSI initiator。
  • 介绍如何连接和断开 iSCSI target。

RHCA认证需要经历5门的学习与考试,还是需要花不少时间去学习与备考的,好好加油,可以噶🤪。

以上就是【金鱼哥】对 第十一章 访问基于块的网络存储–访问iSCSI存储 的简述和讲解。希望能对看到此文章的小伙伴有所帮助。

💾红帽认证专栏系列:
RHCSA专栏:戏说 RHCSA 认证
RHCE专栏:戏说 RHCE 认证
此文章收录在RHCA专栏:RHCA 回忆录

如果这篇【文章】有帮助到你,希望可以给【金鱼哥】点个赞👍,创作不易,相比官方的陈述,我更喜欢用【通俗易懂】的文笔去讲解每一个知识点。

如果有对【运维技术】感兴趣,也欢迎关注❤️❤️❤️ 【金鱼哥】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💕💕!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。