Настройка и работа в Linux
adb5321d

Как работает LVM


Теперь, владея терминологией LVM, посмотрим, как это все работает. Каждый физический том делится на части, которые называются физическими экстентами (Physical Extents, PE). Размер физических экстентов может варьироваться, но един в пределах группы томов. В пределах физического тома каждый физический экстент имеет уникальный номер. Физический экстент -- минимальный блок пространства, который может быть адресован системой LVM на физическом хранилище.

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

Каждый PE обязательно имеет уникальный номер в пределах физического тома, но не обязательно в пределах логического. Это связано с тем, что логический том может состоят из нескольких физических, потому уникальность идентификаторов PE невозможна. Следовательно, для идентификации LE используются как идентификаторы LE, так и соответствующие им PE. Как указывалось выше, существует взаимно-однозначное отображение LE на PE. При каждом доступе к хранилищу используется идентификатор LE для реальной работы с физическим устройством.

Теперь возникает вопрос, где хранятся все эти мета-данные о логических томах и группах томов. Как известно, в не-LVM системах, данные о разделах хранятся в таблице разделов. В LVM системе существует область дескрипторов группы томов (Volume Group Descriptor Area, VGDA), работающая аналогично таблице разделов. Она хранится в начале каждого физического тома.

VGDA содержит такие данные:

  • один дескриптор PV
  • один дескриптор VG
  • дескрипторы LV
  • несколько дескрипторов PE.
  • При старте системы активируются логические тома и группы томов, а VGDA загружается в память. VGDA позволяет определить, где расположены LV. При попытке системы обратиться к устройству, используется таблица соответствия (при помощи VGDA) для определения физического адреса, используемого в операции ввода-вывода.



    Содержание раздела