Менеджеры логических томов
Менеджер логических томов — широко используемый, но нередко недооцениваемый или неверно понимаемый инструмент хранения данных. Менеджеры логических томов, или LVM, представляют собой технологию абстракции, инкапсуляции и виртуализации хранилища, обеспечивающую уровень гибкости, который иначе было бы трудно достичь.
Чаще всего LVM используется для замены традиционных систем разбиения на разделы, а иногда в него включается дополнительная функциональность, например функции RAID. Сегодня практически все операционные системы предлагают встроенное решение LVM, и большинство из них делает это уже очень давно. LVM стали стандартной функцией управления хранилищем как на стороне серверов, так и на стороне клиентов.
LVM не обязательно предлагают одинаковый набор функций, однако общие возможности, часто включаемые в LVM, включают логические тома (программное разбиение на разделы), тонкое выделение ресурсов (thin provisioning), гибкое распределение физических местоположений, шифрование, базовую функциональность RAID (как правило, только RAID на основе зеркалирования) и снимки состояния (snapshots). По существу все LVM предоставляют логические тома, снимки состояния и гибкое распределение — эти функции считаются базовыми для LVM.
Популярные LVM включают Logical Disk Management в Windows Server 2000–Server 2008 R2, Storage Spaces в Windows 2012 и более поздних версиях, LVM в Linux, BtrFS в Linux, Core Storage в Mac OSX, Solaris Volume Manager в Solaris, ZFS в Solaris и FreeBSD, Vinum Volume Manager в FreeBSD, Veritas Volume Manager для большинства UNIX-систем, LVM в AIX и многие другие. LVM становятся всё более популярными и стандартными с конца 1980-х годов. ZFS и BtrFS интересны тем, что представляют собой файловые системы, реализующие LVM внутри себя как интегрированную систему.
LVM потребляет блочные устройства (представления дисков) и создаёт логические тома (часто называемые LV), которые сами по себе также являются представлениями дисков. В связи с этим LVM может располагаться на любом из множества уровней стека хранилища. Чаще всего предполагается, что LVM потребляет RAID-массив, разбивает один RAID-массив на один или несколько логических томов, к каждому из которых применяется файловая система. Однако вполне возможна ситуация, когда LVM располагается непосредственно на физическом хранилище без RAID, и вполне возможно, что RAID реализуется программно поверх логических томов, а не под ними. LVM также очень удобны для объединения многих различных систем хранения в одну — например, объединения множества физических устройств и/или RAID-массивов в единую абстрагированную сущность, которую затем можно разбить на логические тома (причём отдельные тома могут использовать множество различных нижележащих устройств хранения). Одним из стандартных применений LVM является объединение множества LUN-ов SAN (потенциально из одной SAN-системы или из нескольких разных) в единую группу томов.
Хотя LVM обеспечивают мощь и гибкость при работе с несколькими устройствами хранения и их типами, предоставляя стандартный интерфейс для вышележащих уровней стека хранилища, наиболее распространёнными вариантами использования, вероятно, являются обеспечение гибкости там, где раньше были жёсткие разделы, а также снимки состояния. Традиционные разделы жёсткие и не могут быть изменены в размере. Логические тома почти всегда можно увеличить или уменьшить по мере необходимости, что делает их значительно более гибкими.
Снимки состояния стали основным направлением использования LVM за последнее десятилетие, хотя в основном это произошло благодаря росту осведомлённости о них, а не недавнему изменению в их доступности. Товарные системы виртуализации вывели снимки состояния из узкоспециализированной области знаний индустрии хранения данных в IT-мейнстрим. Многое из того, как технологии виртуализации подходят к виртуализации хранилища, можно рассматривать как связанное с LVM, хотя, как правило, это схожая функциональность, предлагаемая иным способом, или просто передача функциональности LVM с нижнего уровня.
Сегодня можно ожидать, что LVM используются практически повсеместно, в том числе прозрачно реализованы на массивах хранилищ (например, в оборудовании SAN) для обеспечения более гибкого выделения ресурсов. Они не просто стандартно доступны — они стандартно внедряются и внесли значительный вклад в повышение надёжности и возможностей современных систем хранения.
