Немного обо всем и все о немногом, или практический опыт системного администратора.
| Пн | Вт | Ср | Чт | Пт | Сб | Вс |
|---|---|---|---|---|---|---|
| « Авг | Окт » | |||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | |||
Если вы как и я только начинаете знакомиться с LVM (Logical Volume Manager) и интенсивно изучаете информацию по этому вопросу, то в первую очередь, нужно четко понимать значение таких сокращений как PV, VG, LV, PE и LE. Именно на последних и хочу остановиться с пояснениями и примерами, так как они применяются во всех документах и статьях. Думаю, расширять свои познания в LVM без понимания, что означают эти аббревиатуры будет затруднительно. Эти же сокращения используются и в выводе команд для работы с LVM и в названиях самих команд, поэтому безусловно нужно понимать, что есть что.
Если нам мало 9.75 Гб, то можно создать из диска /dev/sdc еще один PV, и добавить его в существующий VG. Тогда объем VG увеличится на объем добавленного PV.
Команда pvdisplay, покажет информацию о PV и PE:
Logical extent 1881 to 1955:
Type linear
Physical volume /dev/sdb
Physical extents 0 to 74
Добавляем места на диске для Linux–сервера в облаке Azure Pack Infrastructure, а заодно и разбираемся с LVM
В этой статье будет рассмотрен процесс увеличения места на диске Linux–сервера в облаке Azure Pack Infrastructure от InfoboxCloud. Это стандартная процедура, выполняемая с помощью LVM, которая есть в любом Linux–образе в нашем облаке.
Данная инструкция полезна не только для увеличения размера на едином диске, но и для создания общего пространства из подключенных виртуальных дисков, что позволяет преодолеть максимальный размер виртуального диска (для VHD – 2048 гб) и создать единое большое пространство для данных.
Если вы не хотите разбираться в этом, просто напишите нам тикет в техническую поддержку и мы сделаем все за вас.
Что такое LVM?
LVM — система управления логическими дисками в Linux, высокоуровневое представление подсистемы хранения данных на сервере (более высокоуровневое чем диски и разделы). Эта технология дает системным администраторам гибкие возможности в выделении дискового пространства для приложений и пользователей, включая возможность изменения размера логического тома.
Когда устанавливается Linux на сервер — одна из задач выбора — как разметить диск. С LVM диск включается в группу томов (volume group) и создаются логические тома например для корня диска /. В дальнейшем можно изменять размер логических томов.
Устройство LVM
Сама по себе высокоуровневая абстракция LVM включает в себя логические тома (LV) и физические тома (PV).
Физический том (PV, physical volume) — виртуальный диск сервера или обычный жесткий диск (или таким томом может быть RAID).
Логический том (LV, logical volume) — эквивалент раздела. Он представляется ОС как стандартное блочное устройство и может содержать файловую систему.
Группа томов (VG, volume group) — логическое объединение томов.
Физический блок (PE, physical extent) — кусочки данных на физическом томе, в рамках группы томов имеют идентичный размер логическому блоку (LE, logical extent), размер которого в свою очередь постоянный в рамках группы томов.
Вид представления LVM с физическими и логическими томами.
Вид представления LVM с физическими и логическими блоками, которое одинаково для всей группы томов.
Пример: Давайте представим, что у нас есть группа томов VG1 и у нее размер физического блока 4 Мб. Внутри группы томов 2 жестких диска /dev/hda1 и /dev/hdb1. Эти диски станут физическими разделами PV1 и PV2. Так как физический размер блока 4 мб — такого же размера будут и логические блоки. Диски имеют различный размер и первый включает в себя 99 блоков, а второй 248 блоков. Теперь мы создадим логический том. Он может быть любого размера между 1 и 347 блоками (248+99 блоков). Когда логический том создается устанавливается связь между логическими и физическими блоками, например логический блок 1 может быть связан с физическим блоком 51 из PV1, а данные записанные в первые 4 мегабайта логического тома фактически будут записаны в 51й блок PV1.
Есть 2 вида связи между физическими и логическими блоками:
Снепшоты LVM
Снепшоты LVM позволяют администратору создать новое блочное устройство, сохраняющее копию логического тома, замороженную на определенный момент времени. Эта возможность может быть использована для пакетной обработки данных, создания бекапов или экспериментов, когда вы не хотите задеть живые данные на системе.
В LVM2, используемой в современных версиях Linux, снепшоты доступны для чтения и записи по-умолчанию. При создании снепшота создается таблица исключений, которая используется для сохранения информации, какой блок был изменен. Если блок изменяется на томе-источнике, откуда создан снепшот, он сначала копируется в снепшот, помечается как скопированный в таблице исключений, затем новые данные записываются на оригинальный том. Если данные записываются на снепшот — блок маркируется в таблице исключений как использованный и никогда не копируется с тома-источника.
Увеличиваем раздел Linux-сервера
Создание сервера для тестирования
Если у вас еще нет доступа к Azure Pack Infrastructure, заполните заявку на получение бесплатной пробной версии на главной странице https://infoboxcloud.ru.
Создайте сеть с доступом в интернет, сервер с Linux (например с Ubuntu 16.04) и пробросьте его порт 22 на внешний ip, как показано в этой статье. Подключитесь к серверу по SSH.
На всех серверах с Linux в Azure Pack Infrastructure уже предустановлен LVM.
Создание контрольной точки
Перед увеличением объема диска создание контрольной точки крайне рекомендуется. Если что-нибудь пойдет не так вы сможете восстановить сервер на это состояние. Если в вашей подписке недостаточно места, напишите нам тикет в панели управления услугами > Центр поддержки > Написать тикет.
Нажмите на имя вашего сервера и перейдите в раздел «Контрольные точки».
Нажмите кнопку «Создать» для создания контрольной точки.
Задайте имя контрольной точки и если необходимо — описание и нажмите галочку «Готово». Контрольная точка будет создана. Теперь вы можете производить дальнейшие операции безопасно.
Увеличиваем раздел диска в панели управления Azure Pack Infrastructure
Войдите в панель управления, выберите ваш сервер, на котором требуется увеличить раздел и нажмите кнопку «Остановить». Дождитесь остановки сервера.
Теперь кликните по имени сервера и перейдите в раздел «Настроить». Кликните по имени диска, который требуется увеличить.
Появится кнопка «Развернуть» — нажмите ее.
Укажите желаемый размер диска (доступно только увеличение) и нажмите галочку «Готово». Размер виртуального диска будет увеличен. Однако этого не достаточно — необходимо увеличить LV-раздел на виртуальной машине, об этом читайте далее.
Создаем новый физический раздел на диске (PV)
Для начала на появившемся свободном месте нужно создать новый физический раздел (PV), который далее можно подключить к LVM. Для этого можно воспользоваться командой:
Выберите свободное место на диске (Free Space, отмечено зеленым цветом) с помощью стрелочек на клавиатуре и затем нажмите Enter, что запустит команду New.
Будет запрошен размер создаваемого раздела. По-умолчанию — максимальный, на все добавленное место, просто нажмите Enter.
Теперь стрелочками на клавиатуре при отмеченном новом разделе выберите пункт Type.
Нажмите Enter для выбора типа раздела.
Выберите тип 8e Linux LVM и нажмите Enter.
Теперь выберите пункт Write и нажмите Enter для того, чтобы изменения были записаны на диск.
Будет запрошено разрешение на применение изменений. Введите yes и нажмите Enter.
Будет выведено сообщение о том, что таблица разделов изменена успешно.
Запомните путь Device, в данном случае это /dev/sda3. Путь к устройству потребуется в дальнейшем при добавлении раздела в группу томов (VG).
Для выхода из программы разметки диска выберите пункт Quit и нажмите Enter.
Перезагрузите сервер командой:
и подключитесь к нему по SSH вновь.
Добавляем созданный физический раздел в группу томов (VG)
Для того, чтобы узнать имя созданной группы томов, воспользуйтесь командой:
где в параметре VG name будет указано имя группы томов, в данном случае — ubuntu-vg.
Для добавления физического раздела к группе томов воспользуйтесь командой:
, где ubuntu-vg – имя группы томов, а /dev/sda3 – путь к устройству — новому разделу.
вы можете увидеть список дисков подключенных к группе томов.
Увеличиваем размер логического раздела LVM root и файловой системы раздела до максимально доступного
можете увидеть список логических разделов LVM.
Видим, что создано 2 раздела: /dev/ubuntu-vg/swap_1 и /dev/ubuntu-vg/root. Используя команду:
Видим параметры группы томов.
Видим, что теперь доступно свободное место для расширения томов LVM (Free PE / Size) в размере 75 гб.
Нам необходимо увеличить раздел /dev/ubuntu-vg/root до максимально доступного, a заодно и увеличить размер файловой системы.
Для этого выполните команду:
Теперь выполните команду:
для того, чтобы увидеть новый размер системного раздела.
Мы успешно добавили места на диске для Linux–сервера в облаке Azure Pack Infrastructure, а заодно и научились использовать LVM.
Если у вас возникли любые вопросы по использованию Azure Pack Infrastructure — с радостью поможем и проконсультируем! Вы можете написать нам через личный кабинет https://support.infobox.ru > Центр поддержки > Написать тикет.
Если вы не можете оставлять комментарии на Хабре, напишите нам в Сообществе InfoboxCloud.
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
LVM для начинающих. Часть 2. Основы управления томами

Настраиваем LVM при установке системы
Дальнейшие действия при автоматической разметке ничем не отличаются от обычной установки, и мы не будем заострять на них внимания.
При ручном разбиении диска следует учесть следующий момент: загрузочный раздел /boot или EFI-раздел должны располагаться за пределами LVM-разметки.
Поэтому сразу создадим в самом начале диска первичный раздел размером 250 МБ с файловой системой ext2 и точкой монтирования /boot, не забываем отметить раздел как загрузочный.
Для EFI разметки следует создать первичный радел размером 499 МБ с типом системный раздел EFI, метка загрузочный будет установлена автоматически:
Создав загрузочный раздел можно приступать к настройке LVM, для этого выберите Настройка менеджера логических томов (LVM):
В котором сразу создаем группу томов (VG), рекомендуем давать группам томов и логическим томам понятные имена с использованием сокращений VG и LV, чтобы в дальнейшем было понятно, с чем именно вы имеете дело.



Далее установка продолжается обычным образом, и мы не будем на этом останавливаться.
Ниже мы будем рассматривать разметку, созданную автоматически с выделением /home в отдельный раздел.
Сразу после загрузки посмотрим структуру блочных устройств в системе, для этого воспользуемся командой:
В выводе мы видим загрузочный раздел sda1 размером в 243 МБ, расширенный раздел sda2 в котором располагается логический раздел sda5 используемый под LVM. Также видим три логических тома: root, swap_1 и home.
Обратите внимание, что при использовании MBR-разметки система всегда использует расширенный раздел, размещая в нем все остальные разделы, кроме первого. Это связано с ограничением MBR на 4 первичных раздела. При использовании EFI-разметки расширенный раздел не создается и для LVM был бы использован сразу sda2.
Теперь посмотрим информацию об элементах LVM, начнем с физических томов (PV):
Указанная команда выведет информацию обо всех физических томах, здесь мы увидим используемое устройство или раздел, группу томов, которую входит физический том, его размер, размер физического экстента, общее количество экстентов, а также количество используемых (отображенных) и свободных.
Вас может удивить необычный размер физического тома Обратите внимание! В первую очередь всегда уменьшается размер файловой системы, а только затем содержащего ее логического тома, при этом размер тома должен быть больше или равен размеру содержащейся в нем файловой системы. В противном случае произойдет ее разрушение с потерей данных.
В некоторых случаях требуется расширить логический том на вполне определенные физические диски, для этого следует явно их указать в команде расширения:
Указанная команда расширит логический том home на 5118 экстентов с физического тома /dev/sdb, перед выполнением команды следует убедиться, что выбранный том содержит нужное количество свободного пространства, поэтому наиболее удобно использовать свободные экстенты, точное количество которых мы всегда можем узнать получив информацию об указанном физическом томе.
Перемещение логических томов LVM
Прежде всего создадим на новом диске физический том и добавим его в нужную группу томов:
Затем переместим экстенты логического тома home на новый диск. Так как sdb не содержит никаких иных логических томов, кроме home, то команда будет проста:
Она переместит все физические экстенты диска sdb на диск sdc. Для sda5, который содержит три логических тома такой фокус не пройдет, поэтому добавим конкретики:
Эта команда переместит все физические экстенты тома с именем home с диска sda5 на диск sdc.
Посмотрим информацию о логическом томе home:
Как можно видеть из вывода он теперь содержит единственный сегмент, который расположен на диске sdc.
Отлично, теперь можно расширить корневой раздел. Но нам следует использовать только пространство sda5 и желательно использовать его по максимуму. Как мы уже говорили выше, лучше всего опираться на число свободных экстентов. Чтобы узнать это значение выполним команду:
Это число, в отличии от размера в байтах, либо процентов, является абсолютным, и мы можем смело его использовать:
Данная команда расширит логический том root на 2874 физических экстента принадлежащих разделу sda5. Затем не забудем расширить файловую систему:
А теперь посмотрим информацию о логическом томе:
Для чего мы заостряем внимание на этих моментах? С практической точки зрения не так уж и важно, где именно лежат ваши данные, но это важно для понимания работы LVM, чтобы он перестал быть для вас черным ящиком, и вы могли на практике получить подтверждение теоретическим знаниям из предыдущей статьи.
Удаление дисков из LVM
Удаляемый диск не должен содержать логических томов, их следует переместить, либо удалить. Это можно сделать командой
Которая удалит логический том myvolume1 из группы томов andrey-lvm-vg.
В приведенном выше примере у нас освободился диск sdb в группе томов debian-lvm-vg. Удалим его из группы томов:
Ну и наконец удалим LVM-разметку с указанного диска:
После чего диск можно изъять из системы и использовать по собственному усмотрению. Также можно удалив физический том из одной группы томов, включить в другую, таким образом перераспределив имеющиеся аппаратные ресурсы.
Заключение
Несмотря на то, что в данной статье мы коснулись всего лишь основ управления томами, перед нами открылись богатые возможности LVM, которая в умелых руках предоставляет весьма широкие возможности по управлению дисковой подсистемой, позволяя быстро и без простоя системы изменять ее конфигурацию согласно текущим потребностям.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Увеличиваем диск виртуальной машины для Ubuntu 20.04 в консоли
Данный пример отрабатываем на виртуальной машине VirtualBox (Версия 6.1.24 r145767 (Qt5.12.8)) от Oracle в которой работает сервер Ubuntu 20.04 LTS (только консоль, без графического интерфейса) и требуется прибавить пару Гб к существующему динамическому диску размером 12 Гб.
На хосте перейдите в каталог виртуальной машины. Она должна быть выключена/остановлена. Выполните команду над изменением размера диска виртуальной машины. 14000 это нужный размер в 14 Гб.
Всё, теперь нужно запустить виртуальную машину и произвести действия в её консоли.
Определяем номер виртуальной машины:
Получаем ответ в консоль:
Запускаем нужную виртуальную машину в фоновом режиме:
Идём по ssh (мы же знаем как):
Необходимо выполнить сканирование новой конфигурации:
Запускается консоль утилиты и сообщает нам следующее:
Уже в консоли этой утилиты даём команду print или p :
В этом ответе мы видим нужное
Видим и запоминаем полный размер диска:
Видим и запоминаем интересующий раздел 3:
Меняем размер 3-го раздела:
спросит размер и мы укажем как видели ранее Disk /dev/sda: 14.7GB :
Теперь сообщим ядру новость об изменениях в разделах диска.
Посмотрим состав всей файловой системы:
запомним из этого /dev/mapper/ubuntu—vg-ubuntu—lv
Считываем новый размер, чтобы ядро узнало это:
Измените логический том:
Получаем в ответ сообщение:
Можно просмотреть ситуацию:
И получить информацию, что всё сделано и всё в порядке:
Можно перезагрузить виртуальную машину и пользоваться ею дальше.













