regras do udev para mapeador de dispositivos quando volumes lvm são ativados

regras do udev para mapeador de dispositivos quando volumes lvm são ativados

Atualmente, tenho algumas regras personalizadas do udev para ativar volumes LVM quando volumes raid ficam disponíveis, semelhantes a estas:

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

é possível montar algo semelhante em um ponto de montagem fixo para os volumes LVM quando eles estiverem disponíveis. Presumo que devo corresponder a um evento de mapeador de dispositivo, mas não consigo encontrar nenhuma documentação sobre como fazer isso, então estou me perguntando se isso é possível.

Forneça links para documentação de uma forma ou de outra

Responder1

Você não mencionou sua distribuição, então farei isso da forma mais geral possível.

Primeiro deixe-me citar a documentação dodocumentos da API udisk2(udisk2 API MDRaid):

A propriedade "Id"

Id legível

Um identificador exclusivo e persistente para o dispositivo ou em branco se tal identificador não estiver disponível.

Para dispositivos com mídia fixa, esse identificador é derivado de dados vitais do produto/UUIDs/números de série da unidade ou construção (por exemplo, LVM ou MD-RAID) da qual o dispositivo de bloco faz parte. Para dispositivos com mídia removível, esse identificador é derivado da mídia atualmente inserida.

É garantido que este identificador não inclui o caractere de barra '/' (U+002F SOLIDUS), o que significa que pode ser usado como nome de arquivo.

Exemplos: “by-id-ata-INTEL_SSDSA2MH080G1GC_CVEM842101HD080DGN”, “by-id-ata-ST1000LM024_HN-M101MBB_S2TBJA0C230233-part3”, “by-id-usb-Kingston_DataTraveler_2.0_0013729940C4F9A1662 50D3E-0:0”, “por-id-nome-dm -luks-6d81fe85-26b1-4f8b-b834-405454c1cd46”, “por-id-dm-nome-vg_thinkpad-lv_swap”, “por-rótulo-HARRY_POTTER_SORCERERS_STONE-”, “por-uuid-D22D-08B8”.

Desde 2.0.0

Primeiro você precisa colocar todos os IDs em execução:udevadm info /dev/sr0 | grep ID

Um exemplo de tal montagem: /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"

nota: %k- O "nome do kernel" do dispositivo mais emhomem udev

Para o udev e udisk2 que useiwiki do udev arch linux

Agora não tenho acesso a um ambiente RAID DEV, então estou escrevendo de cabeça e links, então experimente e deixe-me saber se funciona para você.

informação relacionada