LVM

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Менеджер логических томов (англ. logical volume manager) — подсистема операционных систем Linux и OS/2, позволяющая использовать разные области одного жёсткого диска и/или области с разных жёстких дисков как один логический том. Реализована с помощью подсистемы device mapper.

На 18 сентября 2006 года существовало две версии подсистемы:

  • первая (LVM1), стабильная и испытанная, использовалась для ядер Linux версий 2.4 и OS/2;
  • вторая (LVM2) - для ядер Linux версии 2.6 (существует патч, добавляющий поддержку LVM2 для Linux 2.4).

LVM добавляет уровень абстракции между физическими/логическими дисками (привычными разделами, с которыми работает fdisk и аналогичные программы) и файловой системой. Это достигается путём разбивки изначальных разделов на блоки либо использования отдельных разделов или блочных устройств (physical volume (pv)) и объединения их в единый виртуальный том, точнее, группу томов (volume group (vg)), которая далее разбивается на логические тома (logical volume (lv)). Для файловой системы логический том представлен как обычное блочное устройство, хотя отдельные pv-тома могут находиться на разных физических устройствах (и даже сам pv может быть распределён подобно RAID).

LVM1 не поддерживает расширение существующего логического тома на новые физические тома. LVM2 позволяет это, но не отменяет ограничений, связанных с реализацией файловых систем (ФС). Например, ФС JFS и XFS поддерживают увеличение размера тома, но не допускают уменьшения.

Физический том (англ. physical volume, pv) — устройство, представляющееся системе как один диск (жёсткий диск или его раздел, RAID-массив).

Группа томов (англ. volume group, vg) — несколько физических томов pv (группа, набор).

Логический том (англ. logical volume, lv) — логический раздел; аналог разделов hda1, sdb3 и др.; виртуальное блочное устройство.

Физический диапазон (англ. physical extent, pe) — область на физическом томе pv размером в несколько мегабайт. pv разбивается на области pe равного размера.

Логический диапазон (англ. logical extent, le) — область на логическом томе lv. lv разбивается на области le равного размера.

Распределение (англ. mapping) логических областей le по физическим томам pv возможно двумя способами:

  • линейно (англ. linear mapping);
  • поочерёдно (англ. striped mapping).

Пример. Пусть:

  • имеется два физических тома pv1 и pv2;
  • имеется один логический том lv;
  • размер pv1 - 12 pe;
  • размер pv2 - 3 pe;
  • размер lv - 15 le;
  • размеры 1 pe и 1 le равны.

При линейном распределении (англ. linear mapping) области lv:

  • от 1 le до 12 le будут соответствовать областям pv1 от 1 до 12 pe;
  • от 13 le до 15 le - областям pv2 от 1 pe до 3 pe.

При чередующемся распределении (англ. striped mapping) каждый логический диапазон le будет распределён по нескольким физическим томам pv.

Клонирование

[править | править код]

LVM позволяет создавать копии (снимки (англ. snapshot), образы) логического тома на лету. Работает это следующим образом:

  • прекращается запись данных на клонируемый том;
  • клонируемый том помечается, как "оригинальный";
  • создаётся новый том для хранения изменений;
  • запись данных осуществляется на новый том;
  • при чтении изменённые данные считываются с нового тома, а не изменённые - с оригинального.

Копии томов LVM1 и LVM2 несовместимы. При переходе на версию 2 тома версии 1 необходимо удалить.

Для работы LVM2 необходима подсистема device mapper. Ядра версий 2.6 поддерживают эту подсистему по умолчанию. Для ядер версий 2.4 необходимо применить патч.