1

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

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

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

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

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

Я просто нарисовал эту блок-схему. Я обнаружил, что использовал 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 было неправильно маркировано, предполагая, что оно было на другом физическом диске, чем оно было на самом деле!

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

0