Где LVM хранит свою конфигурацию?

17

Я пытаюсь понять, как / где LVM хранит свои данные конфигурации.

  • Записывает ли pvcreate /dev/sdbметаданные в /dev/sdb? если так, что написано?
  • Где vgcreate data /dev/sdb /dev/sdcхранится конфигурация группы томов?
  • Где LVM хранит сопоставление между логическими и физическими экстентами?
  • Есть ли какая-то конкретная конфигурация машины в конфигурации LVM?
  • Предположим, у меня есть машина с двумя дисками, сконфигурированными в логический том. Могу ли я просто вынуть эти диски из машины и поместить их в другую машину и ожидать, что логический том будет работать на новой машине?
военно-картографическая служба
источник

Ответы:

10

Записывает ли pvcreate / dev / sdb какие-либо метаданные в / dev / sdb? если так, что написано?

Если вы передадите -vvфлаг pvcreateкоманде, это сделает команду более многословной, и вы увидите, что pvcreate создает область метаданных на диске.

 Writing physical volume data to disk "/dev/sdc1"
        lvmcache: /dev/sdc1: now in VG #orphans_lvm2 (#orphans_lvm2) with 0 mdas
        Creating metadata area on /dev/sdc1 at sector 8 size 2040 sectors
        Opened /dev/sdc1 RW O_DIRECT
        /dev/sdc1: block size is 1024 bytes
        /dev/sdc1: physical block size is 512 bytes
        /dev/sdc1: Preparing PV label header xxx.xxxxx.xxxxxxxxxxxxxxx

      /dev/sdc1: Writing label to sector 1 with stored offset 32.

Что записывается в область метаданных?

Мне неизвестна команда, которую вы можете использовать для просмотра метаданных, но эту команду vgcfgbackupможно использовать для резервного копирования метаданных, и вы можете открыть созданный таким образом файл резервной копии для просмотра метаданных.

vgcfgbackup -f /path/of/your/choice/file <your_vg_name>

/path/of/your/choice/fileСозданный выше команды будет содержать PV, VG и метаданных LVM. Один из разделов будет выглядеть ниже:

physical_volumes {

                pv0 {
                        id = "abCDe-TuvwX-DEfgh-daEb-Xys-6Efcgh-LkmNo"
                        device = "/dev/sdc1"    # Hint only

                        status = ["ALLOCATABLE"]
                        flags = []
                        dev_size = 10477194     # 4.99592 Gigabytes
                        pe_start = 2048
                        pe_count = 1278 # 4.99219 Gigabytes
                }
        }

Я предлагаю вам взглянуть на содержимое каталога /etc/lvmи вывод командыlvm dumpconfig

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

Да, ты можешь.

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

В этом потоке на сервере обсуждается перемещение раздела LVM на другой хост с помощью ddкоманды.

Sree
источник
14

Записывает ли pvcreate /dev/sdbметаданные в /dev/sdb? если так, что написано?

Да, но это не намного больше, чем некоторые данные заголовка и идентификации, чтобы пометить блочное устройство как LVM PV. «Настоящие» метаданные появляются при создании групп томов.

Где vgcreate data /dev/sdb /dev/sdcхранится конфигурация группы томов?

На каждом физическом томе, который является частью группы томов. По умолчанию идентичная копия метаданных сохраняется в каждой области метаданных на каждом физическом томе в группе томов. Метаданные группы томов LVM невелики и хранятся в формате ASCII.

Где LVM хранит сопоставление между логическими и физическими экстентами?

Это часть вышеупомянутых метаданных группы томов.

Есть ли какая-то конкретная конфигурация машины в конфигурации LVM?

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

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

Да. Если присутствуют все PV, которые составляют VG, то будут работать LV на этом VG.

Celada
источник
3
  • Записывает ли pvcreate /dev/sdbметаданные в /dev/sdb? если так, что написано?
  • Где vgcreate data /dev/sdb /dev/sdcхранится конфигурация группы томов?

pvcreateсоздает «метку» и «заголовок» для PV, а также выделяет место для метаданных на томе (как указано в --[pv]metadataопции). Заголовок представляет собой двоичную структуру данных, которая включает в себя указатели на области метаданных на этом PV.

Команда vgcreateсохраняет текстовое описание текущего состояния группы томов в областях метаданных, ранее выделенных на связанных PV (как управляется --[vg]metadatacopiesопцией и т. Д.). Это описания, поддерживаемые vgcfgbackupкомандой, и в большинстве случаев это метаданные, которые было бы интересно изучить.

Для более неясной информации о метке / заголовке PV: одно общее описание можно найти в LVM Internals , http://mo.morsi.org/blog/node/392 (которая включает ссылку на скрипт Ruby, который может анализировать метку). / заголовок lvm-parser.rb.)

Аналогичный модуль Python pvdissect, находится внизу http://www.syslinux.org/wiki/index.php?title=Development/LVM_support .

Натан
источник