我目前有几个自定义 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 环境,因此我根据自己的头脑和链接来编写它,因此请尝试一下并告诉我它是否适合您。