4.5. 使用过滤器控制 LVM 设备扫描


在启动时,会运行 vgscan 命令扫描系统上的块设备查找 LVM 标签,以确定哪些是物理卷,读取元数据并构建卷组列表。物理卷的名称存储在系统中每个节点的 LVM 缓存文件中,即 /etc/lvm/cache/.cache。后续命令可以读取该文件以避免重新扫描。
您可以通过在 lvm.conf 配置文件中设置过滤器来控制 LVM 扫描哪些设备。lvm.conf 文件中的过滤器由一系列简单的正则表达式组成,这些表达式应用到 /dev 目录中的设备名称,以决定是否接受或拒绝找到的每个块设备。
下面的例子显示使用过滤器控制 LVM 扫描设备的过滤器。请注意,其中一些示例不一定代表推荐的做法,因为正则表达式可以自由匹配完整的路径名。例如,a/loop/ 等同于 a/ normalloop mdadm/,并匹配 /dev/solooperation/lvol1
下面的过滤器会添加所有发现的设备,这是默认行为,因为配置文件中没有配置过滤器:
filter = [ "a/.*/" ]
Copy to Clipboard Toggle word wrap
以下过滤器删除了 cdrom 设备,以避免在驱动器没有介质时的延迟:
filter = [ "r|/dev/cdrom|" ]
Copy to Clipboard Toggle word wrap
下面的过滤器添加了所有 loop,并删除了所有其他块设备:
filter = [ "a/loop.*/", "r/.*/" ]
Copy to Clipboard Toggle word wrap
下面的过滤器添加了所有 loop 和 IDE,并删除了所有其他块设备:
filter =[ "a|loop.*|", "a|/dev/hd.*|", "r|.*|" ]
Copy to Clipboard Toggle word wrap
下面的过滤器只添加第一个 IDE 驱动器中的分区 8,同时删除所有其它块设备:
filter = [ "a|^/dev/hda8$|", "r/.*/" ]
Copy to Clipboard Toggle word wrap
注意
lvmetad 守护进程运行时,/etc/lvm/lvm.conf 文件中的 filter = 设置不会在执行 pvscan --cache device 命令时应用。要过滤设备,您需要使用 global_filter = 设置。未通过全局筛选,且不会被 LVM 打开的设备,永远不会被扫描。例如,您可能需要使用全局过滤器,例如,当在虚拟机中使用 LVM 设备,且您不希望虚拟机中设备的内容被物理主机扫描时。
有关 lvm.conf 文件的详情,请参考 附录 B, LVM 配置文件lvm.conf(5) man page。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat