lvm 卷激活时设备映射器的 udev 规则

lvm 卷激活时设备映射器的 udev 规则

我目前有几个自定义 udev 规则,用于在 raid 卷可用时激活 LVM 卷,如下所示:

KERNEL=="md0", RUN+="/sbin/pvscan --cache -aay"
KERNEL=="md1", RUN+="/sbin/pvscan --cache -aay"

当 LVM 卷可用时,是否可以执行类似操作以将其挂载到固定挂载点。我假设我必须匹配设备映射器事件,但我找不到有关如何执行此操作的任何文档,因此我想知道这是否可行。

请以某种方式提供文档链接

答案1

您没有提到您的分布,因此我会尽可能笼统地介绍一下。

首先让我引用文档udisk2 API 文档udisk2 api MDRaid):

“Id” 属性

Id 可读

设备的唯一且持久的标识符,如果没有可用的标识符,则为空白。

对于具有固定介质的设备,此标识符来自块设备所属的驱动器或构造(例如 LVM 或 MD-RAID)的重要产品数据 / UUID / 序列号。对于具有可移动介质的设备,此标识符来自当前插入的介质。

该标识符保证不包含斜杠字符“/”(U+002F SOLIDUS),这意味着它可以用作文件名。

示例:“by-id-ata-INTEL_SSDSA2MH080G1GC_CVEM842101HD080DGN”、“by-id-ata-ST1000LM024_HN-M101MBB_S2TBJA0C230233-part3”、“by-id-usb-Kingston_DataTraveler_2.0_0013729940C4F9A166250D3E-0:0”、“by-id-dm-name-luks-6d81fe85-26b1-4f8b-b834-405454c1cd46”、“by-id-dm-name-vg_thinkpad-lv_swap”、“by-label-HARRY_POTTER_SORCERERS_STONE-”、“by-uuid-D22D-08B8”。

自 2.0.0 起

首先你必须让所有 ID 运行:udevadm info /dev/sr0 | grep ID

此类挂载的示例:/etc/udev/rules.d/99-mount_raid.rules

 # to create mount-points and mount devices
  KERNEL=="md0", ENV{ID}=="by-id-dm-name-luks-6d81fe85-26b1-4f8b-b834-405454c1cd46", ACTION=="add", ENV{mount_options}="relatime", RUN+="/bin/mkdir -p /media/md0_raid", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/md0_raid"

注意:%k- 设备的“内核名称”更多信息请参见udev 人

对于我使用的 udev 和 udisk2udev arch linux 维基

我现在无法访问 RAID DEV 环境,因此我根据自己的头脑和链接来编写它,因此请尝试一下并告诉我它是否适合您。

相关内容