Инструменты для создания блок-схем/листингов многоуровневой виртуализации хранилищ с LVM и LUKS?

Инструменты для создания блок-схем/листингов многоуровневой виртуализации хранилищ с LVM и LUKS?

Когда несколько систем виртуализации хранения используются вместе, может быть сложно и долго понять структуру различных задействованных отношений. Какие инструменты доступны для диаграммирования и обобщения этих отношений?

Случай, который меня особенно интересует, это LinuxЛВМи LUKS. У меня есть система, где они накладываются друг на друга. Моя цель была нарисоватьблок-схема, со следующими слоями (немного упрощая, чтобы исключить ненужные осложнения):

  1. Логический том LVM (LV)
  2. Группа томов LVM (VG)
  3. Раздел LUKS == Физический том LVM (PV)
  4. Физический раздел
  5. Физический диск

Обратите внимание, что хотя в целом VG образуют связь «многие ко многим» между LV и PV, мой случай был проще, поскольку каждый VG был связан только с одним PV.

Блок-схема должна была быть помечена такой информацией, как имена файлов физических дисковых устройств, имена PV, VG и LV, имена устройств сопоставления устройств и универсальные уникальные идентификаторы дисков, если таковые имелись.

Я только что нарисовал эту блок-схему. Я обнаружил, что использовал 12 источников информации, а также предыдущие знания о системе и наблюдение за изменениями системы с течением времени, когда я запускал команды cryptsetupи mount. Рисование было болезненным и трудоемким итеративным процессом накопления знаний, напоминавшим мне оопределенный вид логической проблемы. Вот некоторые из команд, которые я использовал:

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

Какие инструменты доступны для создания сводок по этому виду системы виртуализации хранения данных, и Linux-специфичным системам, таким как LVM и LUKS в частности? Я бы с радостью согласился на простые текстовые реляционные списки вместо блок-схем.

В моем случае были некоторые дополнительные осложнения. Я опишу их просто для того, чтобы проиллюстрировать, как это может усложниться, но учтите, что ситуация выше была достаточно сложной, чтобы потребовалось много времени, чтобы нарисовать блок-схему только для той части моей системы, которая описана выше. Я знаю, что проблему можно упростить, убрав эти осложнения, поэтому давайте не будем тратить на это место.

Одной из сложностей было то, что у меня также имелось несколько старых разделов, в которых слои LUKS/LVM были противоположны описанным выше, а именно:

(физический раздел == LVM PV) -> VG -> LV -> зашифрованное устройство LUKS -> устройство с открытым текстом LUKS

вместо:

физический раздел -> зашифрованное устройство LUKS -> (устройство открытого текста LUKS == LVM PV) -> VG -> LV

Кроме того, одно зашифрованное устройство LUKS было неправильно маркировано, что позволяет предположить, что оно находилось на другом физическом диске, чем на самом деле!

Очевидно, могут быть и другие осложнения, наиболее очевидные, когда одна группа томов связана с несколькими физическими томами. В этом случае я бы хотел несколько блок-схем (две в простом случае, больше, если наслоение более сложное).

Связанный контент