O que é lvmetad e por que eu iria querer ou precisar usá-lo?

23

Eu tenho um servidor Gentoo com LVM rodando sobre uma matriz RAID que eu tenho usado há vários anos. Recentemente eu atualizei o LVM para 2.02.109 (não lembro qual versão era antes) e recebi uma mensagem durante a atualização:

* Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want
* to enable lvm autoactivation and metadata caching.

Entendo que posso ativá-lo definindo use_lvmetad = 1 em /etc/lvm/lvm.conf .

Mas por que eu precisaria desse recurso? Meu entendimento é que ele funciona com as regras do udev para manter o estado do LVM em um cache, para que as ferramentas do LVM não precisem varrer volumes para obter essas informações. É só que minha pequena matriz não pode se beneficiar desse tipo de recurso? Em que circunstâncias posso querer / precisar usá-lo?

    
por Steve Kalemkiewicz 08.11.2014 / 19:09

2 respostas

1

Descrição

Na página de manual do lvmetad :

lvmetad is a metadata caching daemon for LVM. The daemon receives notifications from udev rules (which must be installed for LVM to work correctly when lvmetad is in use). Through these notifications, lvmetad has an up-to-date and consistent image of the volume groups available in the system. By default, lvmetad, even if running, is not used by LVM. See lvm.conf(5).

Olhando para isto um pouco mais de perto merece outra definição. Wikipedia afirma:

A journaling file system is a file system that keeps track of the changes that will be made in a journal (usually a circular log in a dedicated area of the file system) before committing them to the main file system. In the event of a system crash or power failure, such file systems are quicker to bring back online and less likely to become corrupted.

Raciocínio

Eu não vou entrar em uma explicação detalhada do LVM, já que o OP já entende os benefícios. Como tal, apenas explicarei porque o diário foi adicionado. As versões mais antigas do LVM não tinham um daemon de registro no diário, o que significa que, se o sistema travasse, o único diário que poderia ser usado era o volume físico (disco rígido). Isso cria um problema quando o volume lógico abrange várias extensões nos Grupos de volumes lógicos que abrangem vários volumes físicos.

Se metade de uma transação de diário existir em um volume físico e a outra metade existir em outro volume físico, o diário transacional não poderá confirmar alterações em ambos os volumes físicos, porque os volumes físicos não entendem que são parte de um volume físico. grupo de volumes , porque o log de transações existe apenas no volume físico.

É aí que o novo daemon entra em jogo. Agora, em vez de um log de diário para cada volume físico, o LVM pode criar um log de diário e criar uma seção para ele no grupo de volumes, que é reservado apenas para o diário. Depois de fazer isso, todo o log de transações pode ser encontrado e reproduzido no nível do Grupo de Volumes.

    
por 05.12.2014 / 22:12
23

De este link :

Normally, each LVM command issues a disk scan to find all relevant physical volumes and to read volume group metadata. However, if the metadata daemon is running and enabled, this expensive scan can be skipped ... This can save a significant amount of I/O and reduce the time required to complete LVM operations, particularly on systems with many disks.

Assim, você o executaria para aumentar o desempenho das operações de gerenciamento e status do LVM, com o custo de desempenho de inicialização e maior complexidade. O nível de aumento de desempenho é maior quando há mais discos no sistema.

    
por 18.06.2015 / 14:30

Tags