Dev mapper ubuntu root увеличить размер

Обновлено: 07.07.2024

Ввожу в командной строке: df -h, вижу:

Меня интересуют разделы, начинающиейся на /dev/mapper

Какой инструмент скорее всего так примонтовал эти разделы и как изменить (сократить) их? (GParted их не видит)

Сделал lvm> lvreduce --size 5G /dev/mapper/some-gkt--log , но, к сожалению, полетела файловая система (после перезагрузки пишет: “Welcome to emergency mode!”). Не хотелось бы (и нет времени) изучать все заклинания этой магии, не могли бы вы привести непосредственную последовательно действий для сокращения раздела /dev/mapper/vg01-some--log до заданного размера

Что-то мне недостает в знаниях. Сократил логическую партицию - сломалась файловая система (“Welcome to emergency mode!”), потом обратно увеличил до прежнего размера и опять все починилось. Что-то еще нужно сделать после lvreduce, но что??

2,800 1 1 золотой знак 21 21 серебряный знак 41 41 бронзовый знак Примонтировала ОС. :) Это Logical Volume. Почитайте, как взаимодействовать с LVM. Сделал lvm> lvreduce --size 5G /dev/mapper/some-gkt--log но к сожалению полетела файловая система. Не хотелось бы (и нет времени) изучать все заклинания этой магии, не могли бы вы привести непосредственную последовательно действий @alexander barakin да, спасибо, разобрался, смутило вступление автора статьи "произвожу шаманство" :). Комментарий тянет на ответ

логический том (logical volume, lv) в lvm (logical volume management) — это примерный «аналог» либо всего блочного устройства («диска», «винчестера», «hdd»), если оно не разбито на разделы, либо раздела на блочном устройстве (с функциональной точки зрения раздел блочного устройства также является блочным устройством).

так же, как и на любом блочном устройстве, на lv можно создать файловую систему («отформатировать»).

обычно файловая система занимает всё пространство блочного устройства, но, в общем, ничто (кроме искусственных ограничений или недоделок в реализации кода, работающего с данной ф.с.) не мешает ей занимать лишь часть блочного устройства.

из приведённых соображений, надеюсь, становится понятно, что если требуется уменьшить размер блочного устройства («диска», его раздела, логического тома lvm и т.п.), предварительно надо уменьшить размер файловой системы. иначе «она испортится» (© мудрый медведь пух).

скорее всего, у вас на всех lv используются файловые системы семейства ext* (уточнить можно, например, с помощью df -T , если ф.с. смонтирована, либо, например, с помощью sudo blkid , если нет; см., например, этот ответ). из этого и будем исходить.

для уменьшения размера ф.с. надо:

отмонтировать её, если была смонтирована:

если файлы из этой ф.с. используются, отмонтировать не удастся. в таком случае имеет смысл воспользваться каким-нибудь live/rescue-носителем, загрузившись с него.

проверить её целостность:

(кстати, без этого шага программа resize2fs просто откажется работать, выдав соответствующее напоминание).

уменьшить размер файловой системы. либо до указанного размера (размер можно указывать в блоках, либо, добавив суффикс, в соответствующих единицах измерения, например, 100G — сто гигабайт; см. man resize2fs ):

либо «до предела»:

второй вариант (с моей точки зрения) предпочтительнее, так как на самом деле файловая система должна занимать чуть меньше места, чем размер блочного устройство — из-за всяких там выравниваний, мета-информации и т.п., и, если указать одинаковый размер и при уменьшении ф.с., и при последующем уменьшении блочного устройства, ф.с. в результате может «чуть-чуть» не уместиться, а следовательно, придётся «чуть-чуть» увеличивать размер блочного устройства, чтобы её «починить».

а теперь можно уменьшать и размер блочного устройства — lv:

если на предыдущем шаге вы выбрали вариант «уменьшить ф.с. до указанного размера», то в данный момент настоятельно рекомендуется проверить целостность ф.с. (см. выше), и, если проверка будет неудачной, надо будет по «чуть-чуть» увеличивать размер блочного-устройства ( шаг имеет смысл указывать где-то в районе мегабайта — -L +1m , при необходимости можно повторить):

если же на предыдущем шаге вы уменьшили размер ф.с. «до предела», то теперь надо сделать обратную операцию — увеличить этот размер «до предела», чтобы ф.с. заняла всё свободное пространство блочного устройства:

В моей лабораторной среде у меня есть сервер Ubuntu 12.04, к которому я пытаюсь добавить пространство. LVM был настроен при загрузке, и после добавления 100 ГБ с помощью мастера редактирования диска я не могу добавить это пространство в разделы. Я пытался использовать Part Magic, но он не позволяет увеличить размер, хотя я вижу дополнительное пространство.

fdisk -l дает мне;

Я до сих пор не использовал LVM и вообще не гуру Linux, поэтому я не уверен, какими будут мои дальнейшие действия, так как я ищу Howtos в этом процессе. В конце я хотел бы также добавить немного места в загрузочный раздел.

Спасибо, что уделили время на чтение этого вопроса, и дайте мне знать, если есть дополнительные подробности, которые я мог бы вам дать.

2 ответа

Ты используешь gparted изменить размер разделов. В 12.04 вам нужно будет загрузиться с livecd и запустить его оттуда, так как он не может изменить размер смонтированных разделов. В более поздних выпусках он может увеличить количество разделов, пока они монтируются. Это только даст LVM больше места для логических томов. Если вы хотите увеличить логический том, вы можете запустить, например, lvresize -L 30g ubuntu-vg/root увеличить размер вашего корня до 30г. Затем вам нужно указать файловой системе использовать это новое пространство, что вы можете сделать с resize2fs /dev/ubuntu-vg/root при условии, что вы используете файловую систему ext4 по умолчанию. Эти два последних шага могут быть выполнены онлайн, а не загружаться с других носителей. Вы также можете указать 100% вместо 30g в lvresize использовать все доступное пространство, но это в некотором роде противоречит цели использования LVM в первую очередь для выделения всего пространства одному логическому тому, поскольку у вас нет свободного места для создания моментальных снимков, новых логических томов или увеличения некоторых томов потом.

Если вы хотите сделать это без инструментов графического интерфейса, вы можете использовать parted .

В моей системе я расширял корневую файловую систему (которая была на dev/sda3 ) от 128 ГБ до 160 ГБ. Измените приведенные ниже примеры в зависимости от вашей настройки. Все команды необходимо запускать от имени root ( sudo -i для входа в систему как root).

Раньше у меня было 95% использования:

С виртуальными машинами Gen2 все можно делать онлайн без перезагрузки.

Сначала разверните виртуальный диск с помощью графического интерфейса Hyper-V или инструментов интерфейса командной строки.

Затем вам нужно указать Ubuntu повторно сканировать блочное устройство, в данном случае sda :

Теперь вам нужно расширить раздел. Еще в parted , используйте resizepart для этого. В моем случае, поскольку я расширяю sda3 Я говорю ему изменить размер раздела 3 до 100% доступного пространства. Опять же, настройте команду для своей установки.

Если вы используете LVM, вам теперь нужно указать ему расширить физический том. pvs показывает информацию о ваших физических томах; использовать pvresize чтобы расширить его. Без заданных параметров он будет использовать все доступное пространство.

Теперь вам нужно расширить логический том, а также саму файловую систему. lvextend с -r переключатель может делать и то, и другое.

Это оно! Теперь убедитесь, что файловая система видит лишнее пространство:

Если бы вы не использовали LVM, вы могли бы заменить эти шаги на resize2fs вместо.

В этой статье о Teknophiles есть некоторые дополнительные сведения об этом процессе, а также снимки экрана с инструментами Hyper-V.

В этой статье будет рассмотрен процесс увеличения места на диске 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 вида связи между физическими и логическими блоками:

  • линейный маппинг — когда множество физических блоков последовательно будут связаны со множеством логических блоков, например LE1-99 будут связаны с PV1, а LE 100–347 связаны с PV2.
  • маппинг с чередованием — когда каждый следующий логический блок будет использовать следующий диск, что в физических системах может увеличить производительность, но в облаке не имеет смысла, так как виртуальные диски создаются в СХД, которая уже использует множество дисков параллельно для увеличения производительности на аппаратном уровне.
Снепшоты LVM

Снепшоты LVM позволяют администратору создать новое блочное устройство, сохраняющее копию логического тома, замороженную на определенный момент времени. Эта возможность может быть использована для пакетной обработки данных, создания бекапов или экспериментов, когда вы не хотите задеть живые данные на системе.

В LVM2, используемой в современных версиях Linux, снепшоты доступны для чтения и записи по-умолчанию. При создании снепшота создается таблица исключений, которая используется для сохранения информации, какой блок был изменен. Если блок изменяется на томе-источнике, откуда создан снепшот, он сначала копируется в снепшот, помечается как скопированный в таблице исключений, затем новые данные записываются на оригинальный том. Если данные записываются на снепшот — блок маркируется в таблице исключений как использованный и никогда не копируется с тома-источника.

Увеличиваем раздел Linux-сервера

Создание сервера для тестирования

Создайте сеть с доступом в интернет, сервер с 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.

Если вы не можете оставлять комментарии на Хабре, напишите нам в Сообществе InfoboxCloud.

Как расширить корневую файловую систему с помощью LVM в Linux

  • Создайте физический том LVM, группу томов и логический том.
  • Создайте файловые системы XFS и ext4 на логических томах
  • Расширение логических томов LVM (корневая и некорневая файловая система)

LVM позволяет создавать, изменять размер или удалять разделы в работающей системе без перезагрузки. Поэтому проверьте шаги ниже, чтобы расширить корневую файловую систему с помощью LVM в Linux. Вы можете пропустить некоторые шаги, которые не относятся к использованию.

Шаг 1: Подтвердите разделы диска при распространении.

Прежде чем мы сможем сделать какое-либо расширение, давайте просто подтвердим нашу схему расположения / разбиения диска.

Как уже отмечалось, у нас есть корневая файловая система на физическом томе /dev/vda2

Шаг 2: Расширение корневого диска вашей ОС

Как показано в шаге 1, моя корневая файловая система находится на диске 30 ГБ . Я увеличу его до 40 ГБ , расширив виртуальный диск (виртуальное дисковое устройство).

Если вы используете другую платформу виртуализации, обратитесь к ее документации, чтобы узнать, как расширить диск ОС.

Как только размер блочного устройства ОС изменится, подключитесь по ssh к вашей машине с Linux и расширьте LVM, чтобы использовать только что добавленную емкость диска. Команда ниже расширит последний раздел ( Раздел 2 ), как показано 252: 2, на диске ( / dev / vda ) до максимального размера, который обеспечивает диск.

Установите облачные утилиты

Для новичков в Growpart это инструмент командной строки Linux, используемый для расширения раздела в таблице разделов для заполнения доступного пространства. Эта команда предоставляется пакетом cloud utils.

В системе Ubuntu / Debian запустите

Для сервера CentOS, запустите

Теперь используйте growpart для расширения вашего раздела.

Это изменит размер раздела 2 в /dev/vda.

Шаг 3. Изменение размера логического тома, чтобы он занимал все пространство

Изменить размер физического объема.

Проверьте размер настроенной группы томов.

Затем измените размер корневого логического тома с помощью группы томов с измененным размером.

В моем примере это будет:

Шаг 4: Обновите изменения в файловой системе

Ваша корневая файловая система все равно покажет старый размер.

Сделаем так, чтобы файловая система сообщала фактический размер, в том числе расширенный.

Для файловой системы ext4

Для файловой системы xfs

Вывод

Вы узнали, как расширить корневую файловую систему, поддерживаемую nfs и ext4, с помощью этого, как расширить корневую файловую систему, используя руководство LVM. Я надеюсь, что это было полезно, и хотел бы поблагодарить вас за чтение.

Читайте также: