Работа операционных систем Linux с жесткими дисками
Одним из самых важных аспектов корректной работы любой операционной системы является обеспечение отказоустойчивости в хранении и использовании данных, с которыми непрерывно работает как пользователь, так и система.
Операционные системы семейства Linux обладают широким функционалом работы с различными устройствами, поддерживают множество модулей управления и настройки аппаратной части компьютера, в том числе и в работе с жесткими дисками.
Для реализации обмена данными ОС Linux с физическими жесткими дисками необходимо произвести их разметку. Создается один или несколько физических разделов (партиций, partition), внутри раздела – том, в который записывается файловая система. При форматировании раздела напрямую том и файловая система создадутся автоматически, так как операционная система может работать с данными и файлами только посредством файловой системы. Данный способ более прост в настройке, но недостаточно эффективен, так как требует определённого опыта, знаний и понимания работы ОС Linux с жесткими дисками, чтобы верно предугадать размеры файловых систем для каждого тома. Критическая ситуация наступает в случае нехватки свободного места файловой системы, что является достаточно частой ошибкой при недостаточном опыте эксплуатации ОС Linux. В этом случае как раз и проявляется неэффективность использования данного способа работы Linux с жесткими дисками. Свободное место одного физического раздела невозможно оперативно использовать для других разделов. Неэффективность заключается либо в чрезмерном свободном пространстве файловой системы (ненужная избыточность), которое при эксплуатации никогда не займется данными, либо в нехватке свободного места файловой системы. Переразметить жёсткий диск «на лету» проблематично, а порой невозможно, и очень чревато потерей данных, что исключает гибкость данного решения.
Существует технология LVM, которая является более современной, эффективной и гибкой системой хранения информации на жестких дисках.
LVM (Logical Volume Manager, Менеджер логических томов) – это технология, поддерживаемая операционными системами семейства Linux, позволяющая обращаться к разным областям одного и/или нескольких жестких дисков как к одному логическому тому. Данная технология основана на модуле Device Mapper (dm) ядра Linux, позволяющая создавать и использовать виртуальные блочные устройства. Особенностью этого модуля является то, что он дает возможность делать снимки файловой системы (копии в текущем состоянии), что позволяет изменять параметры файловых систем «на лету», то есть без остановки операционной системы.
На сегодняшний день существует 2 версии LVM: LVM1 и LVM2, - они не совместимы между собой. LVM1 не поддерживает расширение логических томов на новые физические, а LVM2 позволяет это делать, но следует учитывать ограничения реализаций файловых систем (ФС). Например, ФС JFS и XFS не допускают уменьшения тома, только увеличение.
При её реализации учитываются следующие основополагающие понятия:
- физический том (Physical Volume, PV) – это устройство, определяемое в операционной системе как физический жесткий диск или его раздел;
- группа томов (Volume Group, VG) – это объединение одного или нескольких PV;
- логический том (Logical Volume, LV) – виртуальное блочное устройство, реализующее возможность записи файловой системы, с которой непосредственно работает пользователь.
LVM технология может также использоваться совместно с обычными разделами жестких дисков, использующих общий формат размещения таблиц разделов GPT.
Общая структурная схема работы Linux с жесткими дисками отображена на рисунке:
В LVM технологии свободное место жестких дисков используется максимально эффективно, распределяясь между всеми физическими и логическими томами. Не обязательно сразу выделять все свободное пространство под логические тома, можно использовать только часть. В любой момент при необходимости можно использовать свободное место из соответствующей группы и изменить размер файловой системы. Общий размер свободного пространства определяется свободным размером соответствующей группы для конкретного логического тома, а размер группы зависит от общего объема входящих в неё физических томов. В группу возможно «на лету» вводить новые физические тома, которые могут являться как физическими разделами любого жёсткого диска, подключённого к ОС, так и самим диском, без разметки, что составляет гибкость в управлении функционалом хранилища.
Вывод: при использовании технологии LVM возможно гибко и эффективно использовать свободное место всех жестких дисков, подключенных к ОС Linux, возможно как расширять используемое место, так и высвобождать для использования в других логических томах, что позволяет компенсировать некоторые недочеты, допущенные при первоначальной конфигурации дискового пространства ОС Linux. Группы могут быть расширены за счет введения новых физических томов, перенос одного физического тома из одной группы в другую тоже возможен, единственное условие – соблюдение порядка производимых операций: при расширении файловых систем операции следует выполнять от физического тома к файловой системе, при высвобождении места – от файловой системы к физическому тому.