- Управление и настройка LVM в Linux. Понятие LVM
- Введение
- Архитектура и терминология LVM
- Что такое диапазоны в LVM
- Примеры использования
- Обозначение физических устройств как физических томов
- Добавление физических томов в группу томов
- Создание логических томов из пула группы томов
- Форматирование и монтирование логических томов
- Добавление физического тома к группе томов
- Увеличение размера логического тома
- Уменьшение размера LVM
- Удаление тома LVM
- Удаление группы LVM
- Удаление физического тома из LVM
- Заключение
- Записки IT специалиста
- LVM для начинающих. Часть 2. Основы управления томами
- Настраиваем LVM при установке системы
- Перемещение логических томов LVM
- Удаление дисков из LVM
- Заключение
Управление и настройка LVM в Linux. Понятие LVM
Введение
LVM, или Logical Volume Management (управление логическими томами), — это технология управления устройствами хранения, предоставляющая пользователям возможность объединять и распределять физическое пространство устройств хранения для более простого и гибкого администрирования. Используя модуль отображения устройств ядра Linux (Device mapper) LVM может группировать устройства хранения и выделять из объединенного пространства необходимые логические структуры.
Основные преимущества LVM — высокий уровень абстрактности, гибкости и контроля. Логическим томам можно присваивать информативные имена, например «databases» или «root-backup». Можно динамически менять их размер при изменении требований к объему дискового пространства, переносить между физическими устройствами в рамках пула текущей системы и легко экспортировать. Кроме того, в LVM есть функции создания образов (snapshotting), «расслоения» (striping) и зеркального отображения (mirroring).
Данное руководство посвящено обзору принципов работы LVM и базовым командам, необходимым в работе.
Архитектура и терминология LVM
Перед непосредственным рассмотрением команд администрирования LVM важно разобраться с базовыми принципами организации устройств хранения в LVM и некоторыми используемыми терминами.
Структуры управления пространством LVM
Работа LVM основана на надстройке нескольких уровней логической структуры над физическими устройствами хранения. Вот основные уровни структуры LVM, начиная с самых простых.
Физические тома:
∙ Обозначение: pv…
∙ Описание: физические блочные устройства или другие дисковые устройства (например, другие устройства, созданные при помощи модуля отображения устройств, типа RAID- массивов). Используются LVM в качестве базовых элементов для построения более высоких уровней логической структуры. Физические тома — это обычные устройства хранения. Для управления LVM присваивает устройству заголовок.
Группы томов:
∙ Обозначение: vg…
∙ Описание: LVM объединяет физические тома в пулы пространства, называемые группами томов. Группы томов не учитывают характеристики лежащих в их основе устройств и работают как унифицированные логические устройства с суммарным объемом пространства объедиенных физических томов.
Логические тома:
∙ Обозначение: lv…
∙ Описание: Группу томов можно разделить на любое количество логических томов. Логические тома функционально эквивалентны разделам на физическом диске, но предоставляют большую гибкость. Это основной компонент, с которым взаимодействуют пользователи и приложения.
Таким образом, LVM можно использовать для объединения физических томов в группы для унификации дискового пространства системы. Затем администраторы могут разделить группу томов на произвольные логические тома, которые работают как гибкие разделы.
Что такое диапазоны в LVM
Каждый том в группе разделен на маленькие элементы фиксированного размера, называемые диапазонами. Размер диапазонов определяется группой томов (для всех томов в группе согласовывается единый размер диапазона).
Диапазоны физических томов называются физическими диапазонами, а логических томов — логическими диапазонами. Логический том — это просто соответствие, установленное LVM между логическими и физическими диапазонами. Благодаря этой связи размер одного диапазона является минимальным объемом пространства, который моно выделить при помощи LVM.
Диапазоны — основа силы и гибкости LVM. Логические диапазоны, представленные при помощи LVM в виде унифицированного устройства, не обязательно должны соответствовать непрерывно расположенным физическим диапазонам. LVM может незаметно для пользователя осуществлять копирование и реорганизацию физических диапазонов, составляющих логический том. Также логические тома можно легко увеличить или уменьшить, просто добавив или удалив диапазоны.
Примеры использования
Теперь, познакомившись с терминологией и структурами LVM, можно рассмотреть несколько типичных примеров применения этой системы. Начнем с базовой процедуры: создадим четыре логических тома на двух физических дисках.
Обозначение физических устройств как физических томов
Первый шаг — сканирование системы на наличие блочных устройств, которые видимы и управляемы с помощью LVM. Это осуществляется следующей командой:
На выходе будут отображены все доступные блочные устройства, с которыми может работать LVM:
Мы видим, что на данный момент в системе есть два диска и 17 разделов. Разделы представляют собой главным образом разделы типа /dev/ram*, используемые системой как RAM-диски для повышения производительности. Диски в данном примере — это /dev/sda объемом 200 Гб и /dev/sdb объемом 100 Гб.
Важно: Убедитесь, что устройства, которые вы планируете использовать с LVM, не содержат важных данных, так как использование LVM уничтожит все ранее имеющееся содержимое. Если на вашем сервере уже есть важные данные, создайте резервную копию.
Теперь, выбрав физические устройства для использования, можно отметить их как физические тома при помощи команды pvcreate:
Устройствам будут присвоены заголовки LVM, после чего их можно будет добавить к группе томов. При помощи команды pvs можно быстро убедиться, что LVM зарегистрировала физические тома:
Оба устройства располагаются в столбце PV, обозначающем физические тома (Physical Volume).
Добавление физических томов в группу томов
Создав физические тома, можно создать группу томов. Нужно выбрать имя группы томов, которое должно быть уникальным. Как правило, большую часть времени в системе используется только одна группа томов для гибкости распределения пространства. Для простоты назовем нашу группу LVMVolGroup. Чтобы создать группу томов и добавить в нее оба физических тома, нужно выполнить следующую команду:
Теперь если снова выполнить команду pvs, можно увидеть, что физические тома связаны с новой группой томов:
Следующая команда позволяет получить краткую информацию о самой группе томов:
Группа томов содержит два физических тома и ни одного логического тома, а ее объем равен суммарному объему входящих в нее устройств.
Создание логических томов из пула группы томов
Теперь мы можем использовать группу томов в качестве пула для выделения логических томов. В отличие от обычных разделов при работе с логическими томами вам не нужно знать структуру тома, так как LVM занимается ей самостоятельно. От вас требуется только указать размер и имя тома. Создадим в нашей группе четыре отдельных логических тома:
- том «projects» на 10 Гб
- том «www» на 5 Гб для веб-контента
- том «db» на 20 Гб для базы данных
- том «workspace», занимающий все оставшееся пространство
Логические тома создаются командой lvcreate. Опция -n указывает группу томов, в которой мы будем создавать том. Для непосредственного задания размера можно воспользоваться опцией -L. Если вы хотите указать размер в диапазонах, воспользуйтесь опцией -l.
Создадим первые три логических тома с опцией -L:
Логические тома и их связь с группой томов можно просматривать, настроив вывод команды vgs:
В двух последних столбцах результата видно, какой объем пространства выделен на логические тома.
Теперь можно выделить остальное пространство группы тому «workspace» при помощи флага -l, который работает с диапазонами. Также можно задать пространство в процентах. Нам нужно все оставшееся свободное пространство, поэтому мы укажем 100%FREE:
Проверка информации о группе томов показывает, что мы использовали все оставшееся свободное место:
После создания тома «workspace» группа «LVMVolGroup» полностью распределена.
Форматирование и монтирование логических томов
Теперь мы можем пользоваться логическими томами как нормальными блочными устройствами. Логические устройства доступны в директории /dev как любые другие устройства хранения. Их можно найти в двух местах:
Поэтому для их форматирования в файловой системе Ext4 можно выполнить следующие команды:
либо такие команды:
После форматирования можно создать точки монтирования:
Затем можно смонтировать логические тома в соответствующее месторасположение:
Для постоянного монтирования добавьте устройства в /etc/fstab как обычные блочные устройства:
Теперь операционная система должна автоматически монтировать логические тома LVM при загрузке.
Добавление физического тома к группе томов
Для расширения группы томов дополнительными физическими томами используется команда vgextend с аргументами названий группы томов и физических томов. Можно указать несколько устройств:
sudo vgextend имя_группы_томов /dev/sdc
Физический том будет добавлен к группе, расширяя объем доступного пространства.
Увеличение размера логического тома
Одно из главных преимуществ LVM — гибкость в работе с логическими томами. Можно легко менять их размер и количество, не останавливая систему.
Для увеличения размера логического тома используется команда lvresize. Флаг -L применяется для задания нового размера. При помощи символа «+» можно также указать относительный размер, тогда LVM увеличит размер логического тома на указанную величину. Для автоматического изменения размера файловой системы используйте флаг —resizefs.
Для корректного задания имени нужно сначала указать группу томов, а затем имя логического тома через слэш:
Размер логического тома test в группе LVMVolGroup и его файловой системы будут увеличены на 5 Гб
Можно не указывать опцию —resizefs и воспользоваться стандартными средствами файловой системы, например, для Ext4 следующие команды позволят добиться того же результата:
Уменьшение размера LVM
Уменьшение размера может привести к потере данных, поэтому оно выполняется несколько сложнее, так же как и удаление компонентов.
Для уменьшения логического тома прежде всего требуется выполнить резервное копирование данных. После этого нужно проверить объем используемого пространства, чтобы оценить, до какого размера можно уменьшить логический том. В данном случае используется чуть больше 521 Мб:
Затем нужно размонтировать файловую систему командой umount, в отличие от расширения при снижении размера это обязательно:
Теперь нужно проверить файловую систему командой fsck , указав ее тип с опцией -t. Для дополнительной проверки можно воспользоваться опцией -f:
После проверки файловой системы нужно внутренними средствами уменьшить ее размер. Наиболее безопасный вариант для исключения потери данных — оставить достаточный запас. В нашем случае новый размер — 3 Гб.
После завершения указанных операций можно изменить размер логического тома до той же величины при помощи команды lvresize с флагом -L:
Вы увидите предупреждение о возможности потери данных. После удаления логического тома снова проверьте файловую систему:
Если все работает корректно, можно снова ее смонтировать обычной командой mount:
Теперь ваш логический том будет уменьшен до нужной величины.
Удаление тома LVM
Для удаления логического тома используется команда lvremove. Если он смонтирован, то его нужно предварительно размонтировать:
Будет запрошено подтверждение процедуры, если вы уверены, введите Y.
Удаление группы LVM
Для удаления целой группы томов со всеми логическими томами используется команда vgremove. Перед этим нужно удалить все логические тома, как минимум размонтировать их:
После этого можно удалить всю группу, указав ее имя команде vgremove:
Будет запрошено подтверждение удаления. Если в группе ещё остались логические тома, нужно будет подтвердить удаление каждого из них.
Удаление физического тома из LVM
Процедура удаления физического тома из LVM зависит от того, используется ли устройство. Если да, то нужно будет перенести его физические диапазоны в другое месторасположение. Это требует достаточного количества других физических томов в группе.
При наличии достаточного объема физических томов для переноса данных перенесите их из удаляемого тома командой pvmove:
В зависимости от размера томов и объема переносимых данных этот процесс может потребовать некоторого времени.
После переноса файлов можно удалить физический том из группы командой vgreduce:
После этого при помощи команды pvremove можно удалить маркер физического тома и использовать устройство для других целей или совсем удалить его из системы:
Заключение
Мы рассмотрели различные компоненты, используемые LVM для создания гибкой системы дискового пространства, а также разобрались, как управлять ими и настроить работу устройств хранения в LVM.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
- Главная
- LVM для начинающих. Часть 2. Основы управления томами
LVM для начинающих. Часть 2. Основы управления томами
Настраиваем LVM при установке системы
Самый простой способ начать использовать LVM — это настроить его при установке системы, для этого следует выбрать соответствующий пункт в меню разметки диска:
При ручном разбиении диска следует учесть следующий момент: загрузочный раздел /boot или EFI-раздел должны располагаться за пределами LVM-разметки.
Поэтому сразу создадим в самом начале диска первичный раздел размером 250 МБ с файловой системой ext2 и точкой монтирования /boot, не забываем отметить раздел как загрузочный.
Ниже мы будем рассматривать разметку, созданную автоматически с выделением /home в отдельный раздел.
Сразу после загрузки посмотрим структуру блочных устройств в системе, для этого воспользуемся командой:
В выводе мы видим загрузочный раздел sda1 размером в 243 МБ, расширенный раздел sda2 в котором располагается логический раздел sda5 используемый под LVM. Также видим три логических тома: root, swap_1 и home.
Теперь посмотрим информацию об элементах LVM, начнем с физических томов (PV):
Указанная команда выведет информацию обо всех физических томах, здесь мы увидим используемое устройство или раздел, группу томов, которую входит физический том, его размер, размер физического экстента, общее количество экстентов, а также количество используемых (отображенных) и свободных.
В некоторых случаях требуется расширить логический том на вполне определенные физические диски, для этого следует явно их указать в команде расширения:
Указанная команда расширит логический том home на 5118 экстентов с физического тома /dev/sdb, перед выполнением команды следует убедиться, что выбранный том содержит нужное количество свободного пространства, поэтому наиболее удобно использовать свободные экстенты, точное количество которых мы всегда можем узнать получив информацию об указанном физическом томе.
Перемещение логических томов LVM
Еще одна распространенная задача — перемещение томов между физическими дисками. В предыдущем разделе мы расширили логический том home на добавленный нами в LVM диск sdb, при этом его часть так и осталась на sda5. Поставим себе теперь иную задачу: полностью переместить домашнюю директорию на новый диск sdc, а освободившееся пространство на sda5 отдать корневому разделу системы.
Прежде всего создадим на новом диске физический том и добавим его в нужную группу томов:
Затем переместим экстенты логического тома home на новый диск. Так как sdb не содержит никаких иных логических томов, кроме home, то команда будет проста:
Она переместит все физические экстенты диска sdb на диск sdc. Для sda5, который содержит три логических тома такой фокус не пройдет, поэтому добавим конкретики:
Эта команда переместит все физические экстенты тома с именем home с диска sda5 на диск sdc.
Посмотрим информацию о логическом томе home:
Как можно видеть из вывода он теперь содержит единственный сегмент, который расположен на диске sdc.
В выводе нас интересует единственный параметр — количество свободных экстентов:
Данная команда расширит логический том root на 2874 физических экстента принадлежащих разделу sda5. Затем не забудем расширить файловую систему:
А теперь посмотрим информацию о логическом томе:
Для чего мы заостряем внимание на этих моментах? С практической точки зрения не так уж и важно, где именно лежат ваши данные, но это важно для понимания работы LVM, чтобы он перестал быть для вас черным ящиком, и вы могли на практике получить подтверждение теоретическим знаниям из предыдущей статьи.
Удаление дисков из LVM
LVM — это очень гибкая система, которая позволяет как добавлять, так и удалять диски. Такая необходимость не всегда связано с отказами, чаще встречаются ситуации, когда мы установили в систему новые, более емкие диски, а старые хотим использовать где-нибудь в другом месте.
Удаляемый диск не должен содержать логических томов, их следует переместить, либо удалить. Это можно сделать командой
Которая удалит логический том myvolume1 из группы томов andrey-lvm-vg.
В приведенном выше примере у нас освободился диск sdb в группе томов debian-lvm-vg. Удалим его из группы томов:
Ну и наконец удалим LVM-разметку с указанного диска:
После чего диск можно изъять из системы и использовать по собственному усмотрению. Также можно удалив физический том из одной группы томов, включить в другую, таким образом перераспределив имеющиеся аппаратные ресурсы.
Заключение
Несмотря на то, что в данной статье мы коснулись всего лишь основ управления томами, перед нами открылись богатые возможности LVM, которая в умелых руках предоставляет весьма широкие возможности по управлению дисковой подсистемой, позволяя быстро и без простоя системы изменять ее конфигурацию согласно текущим потребностям.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Источник