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

1

Atualmente, tenho algumas regras personalizadas do udev para ativar volumes LVM quando volumes de raid tornam-se disponíveis com a seguinte aparência:

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

é possível fazer algo semelhante para montar em um ponto de montagem fixo para os volumes LVM quando eles estiverem disponíveis. Eu estou supondo que devo coincidir com um evento de mapeador de dispositivo, mas não consigo encontrar qualquer documentação sobre como fazer isso, então eu estou querendo saber se é mesmo possível.

Por favor, forneça links para documentação de uma forma ou de outra

    
por nwaltham 12.08.2017 / 16:03

1 resposta

0

Você não mencionou a sua distribuição, então eu farei o mais geral possível.

Primeiro, deixe-me citar a documentação do udisk2 api docs ( udisk2 api MDRaid ):

The "Id" property

Id readable s

A unique and persistent identifier for the device or blank if no such identifier is available.

For devices with fixed media, this identifier is derived from vital product data / UUIDs / serial numbers of the drive or construct (e.g. LVM or MD-RAID) the block device is part of. For devices with removable media, this identifier is derived from the medium currently inserted.

This identifier is guaranteed to not include the slash character '/' (U+002F SOLIDUS) which means it can be used as a filename.

Examples: “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”.

Since 2.0.0

Primeiro, você precisa ter 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" para o dispositivo mais em udev man

Para o udev & udisk2 Eu usei wiki do udev arch linux

Eu não tenho acesso a um RAID DEV env, então estou escrevendo da minha cabeça e links, então, por favor, experimente e deixe-me saber se funciona para você.

    
por 21.08.2017 / 10:55