Quando vários sistemas de virtualização de armazenamento são usados ​​juntos, pode ser complicado e demorado obter uma compreensão da estrutura dos vários relacionamentos envolvidos. Quais ferramentas estão disponíveis para diagramação e resumo desses relacionamentos?

O caso em que estou particularmente interessado é no LVM e no LUKS do Linux . Eu tenho um sistema em que estes são colocados em camadas uns sobre os outros. Meu objetivo era desenhar um diagrama de blocos , com as seguintes camadas (simplificando um pouco para evitar complicações irrelevantes):

  1. Volume LVM Lógico (LV)
  2. Grupo de volumes LVM (VG)
  3. Partição LUKS == volume físico LVM (PV)
  4. Partição física
  5. Disco físico

Observe que, embora, em geral, os VGs formem um relacionamento muitos-para-muitos entre LVs e PVs, meu caso foi mais simples porque cada VGs foi associado apenas a um único PV.

O diagrama de blocos deveria ser rotulado com informações como nomes de arquivo de dispositivo de disco físico, nomes de PV, VG e LV, nomes de dispositivo de mapeador de dispositivo e UUIDs de disco, quando disponíveis.

Acabei de desenhar esse diagrama de blocos. Descobri que usava 12 fontes de informação, juntamente com o conhecimento prévio do sistema, e observava o sistema mudar com o tempo enquanto eu executava os comandos cryptsetupe mount. Desenhar isso foi um processo iterativo doloroso e demorado de construção de conhecimento, lembrando-me de um certo tipo de problema lógico . Aqui estão alguns dos comandos que eu usei:

ls -l /dev/mapper/*
ls -l /dev/disk/by-uuid/*
dmsetup info
lvdisplay
ls -l /dev/mapper/<LV name>
pvs
vgs
lvs
cat /etc/fstab
cat /etc/crypttab
fdisk -l /dev/<physical disk device name>
mount

Quais ferramentas estão disponíveis para produzir resumos desse tipo de sistema de virtualização de armazenamento e sistemas específicos para Linux, como LVM e LUKS, em particular? Eu ficaria feliz em aceitar listagens relacionais de texto sem formatação no lugar de diagramas de blocos.

No meu caso, houve algumas complicações adicionais. Vou descrevê-las apenas para ilustrar como as coisas podem ficar mais complicadas, mas observe que a situação acima foi complicada o suficiente para tornar demorado desenhar o diagrama de blocos apenas para a parte do meu sistema descrita acima. Estou ciente de que o problema pode ser simplificado com a remoção dessas complicações; portanto, não desperdice espaço nisso.

Uma complicação foi que eu também tenho várias partições antigas nas quais as camadas LUKS / LVM são opostas às descritas acima, ou seja:

(partição física == LVM PV) -> VG -> LV -> dispositivo criptografado LUKS -> dispositivo de texto simples LUKS

ao invés de:

partição física -> dispositivo criptografado LUKS -> (dispositivo de texto sem formatação LUKS == LVM PV) -> VG -> LV

Além disso, um dispositivo criptografado LUKS foi rotulado incorretamente, sugerindo que estava em um disco físico diferente do que estava na realidade!

Obviamente, também pode haver outras complicações, mais obviamente onde um único grupo de volumes está associado a vários volumes físicos. Nesse caso, eu gostaria de vários diagramas de blocos (dois no caso simples, mais se as camadas forem mais complicadas).

Croad Langshan
fonte