第 10 章 限制 LVM 设备可见性和用法
您可以通过控制 LVM 可扫描的设备来限制逻辑卷管理器(LVM)可用的设备。
使用 LVM 命令控制 LVM 设备扫描。LVM 命令与名为 system.devices
文件的文件交互,该文件列出了可见和可用的设备。这此功能在 Red Hat Enterprise Linux 10 中默认启用。
如果您禁用设备文件功能,则 LVM 设备过滤器会自动启用。
要调整 LVM 设备扫描的配置,请编辑 /etc/lvm/lvm.conf
文件中的 LVM 设备过滤器设置。lvm.conf
文件中的过滤器由一系列简单的正则表达式组成。系统会将这些表达式应用于 /dev
目录中的每个设备名称,以确定是否接受或拒绝每个检测到的块设备。
10.1. LVM 设备文件 复制链接链接已复制到粘贴板!
Logical Volume Manager (LVM) system.devices
文件控制 LVM 设备可见性和可用性。您可以在 /etc/lvm/devices/
目录中找到设备文件。使用 LVM 命令管理设备文件。不要直接编辑 system.devices
文件。
默认情况下,system.devices
文件特性已在 Red Hat Enterprise Linux 10 中启用。当激活时,它会替换 LVM 设备过滤器。要启用 LVM 设备过滤器,请禁用 system.devices
文件。如需更多信息,请参阅禁用 system.devices 文件。
10.1.1. 在 system.devices 文件中添加设备 复制链接链接已复制到粘贴板!
要将设备与逻辑卷管理器(LVM)一起使用,system.devices
文件必须包含设备 ID 列表,否则 LVM 会忽略它们。操作系统 (OS) 安装程序在安装过程中将设备添加到 system.devices
文件中。新安装的系统会自动将 root 设备自动包含在设备文件中。在操作系统安装期间附加到系统的任何物理卷 (PV) 也包含在设备文件中。您还可以在设备文件中具体添加设备。LVM 会检测并使用在设备文件中存储的设备列表。
流程
使用以下方法之一在
system.devices
文件中添加设备:通过在设备文件中包括名称来添加设备:
lvmdevices --adddev <device_name>
$ lvmdevices --adddev <device_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在设备文件中添加卷组 (VG) 中的所有设备:
vgimportdevices <vg_name>
$ vgimportdevices <vg_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在设备文件中添加所有可见的 VG 中的所有设备:
vgimportdevices --all
$ vgimportdevices --all
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
要隐式将新设备包含到
system.devices
文件中,请使用以下命令之一:使用
pvcreate
命令初始化新设备:pvcreate <device_name>
$ pvcreate <device_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这个操作会自动将新物理卷 (PV) 添加到
system.devices
文件中。初始化新设备并在设备文件中自动添加新设备参数:
vgcreate <vg_name> <device_names>
$ vgcreate <vg_name> <device_names>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 <vg_name> 替换为您要在其中添加设备的 VG 的名称。将 <device_names> 替换为您要添加的设备列表。
使用
vgextend
命令初始化新设备:vgextend <vg_name> <device_names>
$ vgextend <vg_name> <device_names>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 <vg_name> 替换为您要在其中添加设备的 VG 的名称。将 <device_names> 替换为您要添加的设备名称。这会在设备文件中自动添加新设备参数。
验证
只有在您需要将新设备明确添加到 system.devices
文件中时,才使用以下验证。
显示
system.devices
文件,检查设备列表:cat /etc/lvm/devices/system.devices
$ cat /etc/lvm/devices/system.devices
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新
system.devices
文件以匹配最新的设备信息:lvmdevices --update
$ lvmdevices --update
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.1.2. 从 system.devices 文件中删除设备 复制链接链接已复制到粘贴板!
删除设备以防止逻辑卷管理器 (LVM) 检测或使用该设备。
流程
根据您有关该设备的信息,使用以下方法之一删除设备:
按名称删除设备:
lvmdevices --deldev <device_name>
$ lvmdevices --deldev <device_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过该设备的物理卷 ID (PVID) 删除设备:
lvmdevices --delpvid <PV_UUID>
$ lvmdevices --delpvid <PV_UUID>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
显示
system.devices
文件进行验证,是否不再存在删除的设备:cat /etc/lvm/devices/system.devices
$ cat /etc/lvm/devices/system.devices
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新
system.devices
文件以匹配最新的设备信息:lvmdevices --update
$ lvmdevices --update
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.1.3. 创建自定义设备文件 复制链接链接已复制到粘贴板!
逻辑卷管理器 (LVM) 命令使用系统的默认 system.devices
文件。您还可以通过在 LVM 命令中指定新文件名来创建和使用自定义设备文件。当只有某些应用程序需要使用某些设备时,自定义设备文件很有用。
流程
-
在
/etc/lvm/devices/
目录中创建自定义设备文件。 在 LVM 命令中包括新设备文件名:
lvmdevices --devicesfile <devices_file_name>
$ lvmdevices --devicesfile <devices_file_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:显示新设备文件,以验证新设备的名称是否存在:
cat /etc/lvm/devices/<devices_file_name>
$ cat /etc/lvm/devices/<devices_file_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.1.4. 访问系统中的所有设备 复制链接链接已复制到粘贴板!
您可以启用逻辑卷管理器(LVM)访问和使用系统中的所有设备,这将覆盖 system.devices
文件中列出的设备所造成的限制。
流程
指定空设备文件:
lvmdevices --devicesfile ""
$ lvmdevices --devicesfile ""
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.1.5. 禁用 system.devices 文件 复制链接链接已复制到粘贴板!
您可以禁用 system.devices
文件功能。这个操作会自动启用逻辑卷管理器 (LVM) 设备过滤器。
如果您删除 system.devices
文件,则此操作会有效禁用它。即使您在 lvm.conf
配置文件中启用 system.devices
文件,通过在 devices 部分中设置 use_devicesfile=1
,也会应用它。禁用设备文件会自动启用 lvm.conf
设备过滤器。
流程
-
打开
lvm.conf
文件。 在 devices 部分中设置以下值:
use_devicesfile=0
use_devicesfile=0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow