RH358访问基于块的网络存储--访问iSCSI存储

RH358访问基于块的网络存储–访问iSCSI存储

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

RH358专栏地址:https://blog.csdn.net/qq_41765918/category_11532281.html

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。
  • 若喜欢金鱼哥的文章,顺手点个赞。也可点个关注,因为后续会不断上干货。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT民工金鱼哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值