25.17. 重新调整在线逻辑单元的大小


在大多数情况下,全面调整在线 逻辑单元 的大小涉及到两件事:调整逻辑单元本身的大小,并在相应的多路径设备中反映大小的变化(如果系统上启用了多路径)。
要调整在线逻辑单元的大小,请首先通过存储设备的阵列管理界面修改逻辑单元的大小。这个流程因每个阵列而有所不同,因此,请查阅您的存储阵列厂商文档来了解详情。
注意
为了调整在线文件系统的大小,文件系统不能在分区的设备上。

25.17.1. 重新调整光纤通道逻辑单元的大小

修改在线逻辑单元的大小后,重新扫描逻辑单元以确保系统可以检测到更新的大小。要为光纤通道逻辑单元执行此操作,请使用以下命令:
$ echo 1 > /sys/block/sdX/device/rescan
重要
要在使用多路径的系统上重新扫描光纤通道逻辑单元,请对代表多路径逻辑单元的路径的每个 sd 设备(如 sd1、sd2 等)执行上述命令。要确定哪个设备是多路径逻辑单元的路径,请使用 multipath -ll ;然后,找到与正在调整大小的逻辑单元匹配的条目。建议您参考每个条目的 WWID,以便更轻松地找到哪一个与正在调整大小的逻辑单元相匹配。

25.17.2. 重新调整 iSCSI 逻辑单元的大小

修改在线逻辑单元的大小后,重新扫描逻辑单元以确保系统可以检测到更新的大小。要为 iSCSI 设备执行此操作,请使用以下命令:
# iscsiadm -m node --targetname target_name -R
[5]
使用设备所在的目标的名称替换 target_name
备注
您还可以使用以下命令重新扫描 iSCSI 逻辑单元:
# iscsiadm -m node -R -I interface
使用调整大小的逻辑单元的对应接口名称(如 iface0)替换 interface。此命令执行两个操作:
  • 它使用与命令 echo "- - -" > /sys/class/scsi_host/host/scan 相同的方式扫描新设备(请参阅 第 25.15 节 “扫描 iSCSI Interconnects”)。
  • 它使用与命令 echo 1 > /sys/block/sdX/device/rescan 相同的方式重新扫描新的/ 修改逻辑单元。请注意,这个命令与重新扫描光纤通道逻辑单元的命令相同。

25.17.3. 更新多路径设备的大小

如果系统上启用了多路径,您还需要将逻辑单元大小的变化反映到逻辑单元对应的多路径设备上(在调整逻辑单元的大小之后)。这可以通过 multipathd 完成。为此,首先使用 service multipathd status 确保 multipathd 正在运行。验证 multipathd 正常工作后,运行以下命令:
# multipathd -k"resize map multipath_device"
multipath_device 变量是 /dev/mapper 中设备的对应多路径条目。根据多路径在您的系统上是如何设置的,multipath_device 可以是两种格式之一:
  • mpathX,其中 X 是设备的对应条目(例如 mpath0)
  • WWID;例如 3600508b400105e210000900000490000
要确定哪个多路径条目对应于您调整了大小的逻辑单元,请运行 multipath -ll。这将显示系统中所有现有的多路径条目的列表,以及对应设备的主号和次号。
重要的
如果有任何命令排队到 multipath_device,则不要使用 multipathd -k"resize map multipath_device "。也就是说,当 no_path_retry 参数(在 /etc/multipath.conf中)设置为 "queue" 时,不要使用此命令,且设备没有主动路径。
有关多路径的更多信息,请参阅 Red Hat Enterprise Linux 7 DM 多路径 指南。

25.17.4. 更改在线逻辑单元的读/写状态

某些存储设备允许用户将设备状态从读/写(R/W)更改为只读(RO),从 RO 更改为 R/W。这通常是通过存储设备上的管理界面来完成的。在进行更改时,操作系统不会自动更新其关于设备状态的视图。按照本章中所述的流程,让操作系统知道这些更改。
运行以下命令,将 XYZ 替换为所需的设备指示器,以确定操作系统对设备的 R/W 状态的当前视图:
# blockdev --getro /dev/sdXYZ
以下命令可用于 Red Hat Enterprise Linux 7:
# cat /sys/block/sdXYZ/ro 1 = read-only 0 = read-write
使用多路径时,请参考 multipath -ll 命令的输出的第二行中的 rorw 字段。例如:
36001438005deb4710000500000640000 dm-8 GZ,GZ500
[size=20G][features=0][hwhandler=0][ro]
\_ round-robin 0 [prio=200][active]
 \_ 6:0:4:1  sdax 67:16  [active][ready]
 \_ 6:0:5:1  sday 67:32  [active][ready]
\_ round-robin 0 [prio=40][enabled]
 \_ 6:0:6:1  sdaz 67:48  [active][ready]
 \_ 6:0:7:1  sdba 67:64  [active][ready]
要更改 R/W 状态,请使用以下流程:

过程 25.14. 更改 R/W 状态

  1. 要将设备从 RO 移到 R/W,请参阅第 2 步。
    要将设备从 R/W 移到 RO,请确保不再发出写操作。通过停止应用程序,或使用合适的、特定于应用的操作来完成此操作。
    使用以下命令确保所有未完成的写 I/O 都完成了:
    # blockdev --flushbufs /dev/device
    使用所需的设计器替换 device ;对于设备映射器多路径,这是 dev/mapper 中您设备的条目。例如: /dev/mapper/mpath3
  2. 使用存储设备的管理界面,将逻辑单元的状态从 R/W 改为 RO,或者从 RO 改为 R/W。其流程因每个阵列而异。如需更多信息,请参阅适用的存储阵列供应商文档。
  3. 执行设备的重新扫描,以更新操作系统的设备 R/W 状态视图。如果使用设备映射器多路径,请对设备的每个路径执行此重新扫描,然后再发出命令告诉多路径重新加载其设备映射。
    这一过程在 第 25.17.4.1 节 “重新扫描逻辑单元” 中进行了更详细的说明。

25.17.4.1. 重新扫描逻辑单元

修改在线逻辑单元读/写状态后,如 第 25.17.4 节 “更改在线逻辑单元的读/写状态” 所述,重新扫描逻辑单元以确保系统使用以下命令检测到更新的状态:
# echo 1 > /sys/block/sdX/device/rescan
要在使用多路径的系统上重新扫描逻辑单元,请对代表多路径逻辑单元路径的每个 sd 设备执行上述命令。例如,在 sd1、sd2 和所有其他 sd 设备上运行命令。要确定哪个设备是多路径单元的路径,请使用 multipath -11,然后找到与要更改的逻辑单元匹配的条目。

例 25.15. 使用 multipath -11 命令

例如,上面的 多路径 -11 显示 WWID 为 36001438005deb4710000500000640000 的 LUN 的路径。在这种情况下,请输入:
# echo 1 > /sys/block/sdax/device/rescan
# echo 1 > /sys/block/sday/device/rescan
# echo 1 > /sys/block/sdaz/device/rescan
# echo 1 > /sys/block/sdba/device/rescan

25.17.4.2. 更新多路径设备的 R/W 状态

如果启用了多路径,则重新扫描逻辑单元后,其状态的变化将需要反映在逻辑单元相应的多路径驱动器中。为此,请使用以下命令重新载入多路径设备映射:
# multipath -r
然后,可使用 multipath -11 命令确认更改。

25.17.4.3. Documentation

如需更多信息,请参阅红帽知识库。若要对此进行访问,请导航到 https://www.redhat.com/wapps/sso/login.html?redirect=https://access.redhat.com/knowledge/ ,并登录。然后在 https://access.redhat.com/kb/docs/DOC-32850 处访问文章。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.