Что такое lvm при установке ubuntu
Перейти к содержимому

Что такое lvm при установке ubuntu

  • автор:

Установка и настройка LVM в Linux

Установка и последующая настройка LVM (Logical Volume Manager) в Linux. Сперва давайте познакомимся с основными понятиями:

Менеджер логических томов LVM (Logical Volume Manager) — это способ распределения дискового пространства на каком либо носители по логическим томам, главной особенностью является возможность изменения размера логического тома в отличии от обычного раздела, тоесть прослойка между устройством хранения и фс.

Физический том (physical volume) — устройство представляющееся системе как один диск (жесткий диск или его раздел).

Группа томов (volume group) — набор физических томов в один объект.

Логический том (logical volume) — аналогичен разделу на не LVM системах, представляется как блочное устройство и может иметь файловую систему.

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

Да и вообще по большому счету просто ради удобства, наверное у каждого были такие моменты когда на каком либо разделе в системе заканчивалось место из за неправильной разбивки диска во время установки ОС или просто ваши потребности выросли, так вот увеличение раздела на обычной системе без lvm становится проблемотичным а с lvm это решается без проблем в 2 клика.

Читайте также: Описание кодов почтового сервера в Linux

Разберем только основные моменты, углубляться не будем, для работы lvm нужн пакет lvm2, в моем Debian Squeeze это штатный пакет и он уже имеется тоесть не чегог доустонавливать не надо.

root@debian ~ # dpkg -l | grep lvm
ii lvm2 2.02.66-5 The Linux Logical Volume Manager
root@debian ~ #

Подопотный неразбитый ssd диск sdc

root@debian ~ # fdisk -l
Disk /dev/sdc: 60.0 GB, 60022480896 bytes
255 heads, 63 sectors/track, 7297 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xdf87df87

Задачи — настроить lvm для диска sdc (физ том) и создать несколько логических томов с фс ext4 в одной группе томов, а так же научится увеличивать и уменьшить размер логических томов.

1.Инициализация дисков
2.Создание и активация группы томов
3.Создание логических томов
4.Увеличение и уменьшение размера логических томов

Для того что бы использовать диск или раздел на диске sdc в качестве физического тома необходимо его инициализировать.

Создаем в начале диска дескриптор группы томов.

Для создания группы томов test используется команда

Читайте также: Добавить пользователя в Linux CentOS 7 версии

vgcreate test /dev/sdc

Еслим вы хотите включить в группу томов еще другие диски или разделы то

vgcreate test /dev/sdc /dev/XXX

ваша группа томов test и логические тома находятся в неактивном состоянии, активируем

А теперь самое интересное — создание логических томов part1 и part2 размером по 10G

lvcreate -L10000 -n part1 test
lvcreate -L10000 -n part2 test

lvscan
ACTIVE ‘/dev/test/part1’ [9,77 GiB] inherit
ACTIVE ‘/dev/test/part2’ [9,77 GiB] inherit

Теперь можно форматировать созданные разделы и монтировать.

mkfs.ext4 /dev/test/part1
mkdir /part1
mount /dev/test/part1 /part1

Увеличение размера логического тома до 20G

umount /dev/test/part1
lvextend -L20G /dev/test/part1

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

Уменшение размера логического тома (вы можете потерять данные)

lvreduce -L-10G /dev/test/part1

При уменьшении или увеличение размера фс их нужно размонтировать.
При уменьшение размера суперблок или таблица разделов может быть повреждена. Размер фс XFS можно увеличить только в смонтированном состоянии. Уменьшить размер файловой системы XFS нельзя.

dd if=/dev/zero of=/dev/diskname bs=1k count=1 — уничтожить таблицу разделов.

vgcreate создания группы томов.
vgchange -a y активация группы томов.
vgchange -a n деактивация группы томов.
vgremove удаление группы томом.
vgextend добавление физических томов в группу томов.
vgreduce удаления физических томов.
vgdisplay информацию по группе.
vgexport разрегистрировать группу томов в системе.
vgmerge объединить группы томов.
vgrename переименовать группу томов.
vgs информация о группах томов.
vgscan поиск групп томов.
vgsplit переместить физический том в новую группу томов.
vgck проверить целостность группы томов.
lvdisplay информацию по созданным логическим томам.
lvcreate -LTTTG -nXXX создание логтческого тома XXX размером TTT.
lvchange изменить атрибуты логического тома.
lvremove удаление логических томов.
lvrename переименовать логический том.
lvextend -LXXG увеличение логических томов.
resize2fs увеличить размер файловой системы.
lvreduce -L-XXG уменьшение логических томов.
lvresize изменить размер логического тома
lvscan список логических томов во всех группах томов.
lvs информация о логическом томе.
lvmdiskscan устройства которые могут быть использованы как физический том.
lvmsadc данные об активности использования LVM.
lvmsar отчёт об активности использования LVM.
pvcreate создание в начале диска дескриптор группы томов
pvdisplay информацию по физическим томам.
pvmove передвигаю содержимое с 1 диска на 2
pvremove удалить метку LVM с физического тома.
pvresize изменить размер физического тома.
pvchange атрибуты физического тома.
pvdata информация о физическом томе.
pvs информация о физическом томе.
pvscan список всех физических томов.

Установка Ubuntu Desktop на LVM

Классические разделы, на которые чаще всего разбивается жёсткий диск для установки системы и хранения данных, имею ряд существенных недостатков. Их размер очень сложно изменять, они находятся в строгой последовательности и просто взять кусочек от первого раздела и добавить к последнему не получится, если между ними есть ещё разделы. Поэтому очень часто при начальном разбиении винчестера пользователи ломают себе голову — сколько места выделить под тот или иной раздел. И почти всегда в процессе использования системы приходят к выводу, что они сделали не правильный выбор.

Решить большинство этих проблем может технология LVM. Она создаёт дополнительную абстракцию — логические тома, которые видны в системе, как обычные разделы, однако ими не являются. Она имеет ряд преимуществ:

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

Размер логических томов можно увеличивать прямо на лету, а у отмонтированных томов можно кроме того легко уменьшать размер, не выходя из системы.

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

LVM поддерживает механизм снапшотов — мгновенных копий файловой системы тома. Это может очень пригодиться для создания бекапов.

Есть ещё масса плюсов, о которых можно почитать в специализированных статьях про LVM.

Ubuntu полностью поддерживает LVM, однако из Desktop версии установочного диска убраны необходимые для работы с LVM утилиты. Кроме того, установщик Desktop версии не умеет изменять LVM тома. Поэтому если вы хотите использовать LVM, то вам придётся либо поставить систему с Alternate диска, либо немного помухлевать с обычным LiveCD. Установка с Alternate неудобна и у многих вызывает дискомфорт, да и кроме того чаще всего Alternate диска нет под рукой, поэтому давайте рассмотрим вариант с LiveCD.

Учтите, что управление LVM осуществляется через терминал, поэтому, дабы ничего не поломать, вам необходимо сначала научиться более-менее комфортно с ним работать. Кроме того, ознакомьтесь с принципами работы и основными концепциями LVM, дабы понимать, что это такое. Статья рассчитана не на новичков, а на тех, кто уже разобрался в основах Ubuntu.

Предварительная подготовка

Вам необходимо запустить систему с LiveCD и подключить компьютер к интернету. Далее откройте терминал и установите прямо в LiveCD сессию необходимые утилиты командой:

sudo apt-get install lvm2

Всё, теперь можно начинать работу с LVM. Но сначала необходимо выделить место, на котором мы будем создавать LVM. Для этого вам потребуется редактор разделов Gparted, который находится в меню Система→Администрирование (System→Administration).

Из-за особенностей загрузчика GRUB лучше при использовании LVM сделать для /boot отдельный маленький раздел. Скажем, 200Mb должно хватить.

Создайте с помощью Gparted /boot раздел и раздел, поверх которого вы будете разворачивать LVM. Если вы готовы выделить под LVM весь жёсткий диск, то не забудте, что /boot раздел вашей Ubuntu нужно размещать не на LVM. Таким образом вам понадобятся два раздела — 200Mb под /boot и всё остальное под LVM. Не выбирайте никакую файловую систему для LVM раздела — просто пустой раздел (unformatted). Не забудьте, для применения всех внесённых вами через Gparted изменений нужно нажать на зелёную галочку на верхней панели или выбрать в меню Edit пункт Apply.

После того, как изменения в разметку будут успешно внесены, необходимо будет поменять тип нужного вам раздела на Linux LVM. Для этого нажмите правой клавишей на разделе, и выберите пункт «Управление флагами» (Manage flags). В открывшемся окне поставьте галочку в поле с именем lvm, дождитесь окончания применения всех изменений и закройте Gparted. На этом подготовительный этап закончен.

Создание логических томов LVM

Теперь пора приступить к непосредственному созданию LVM. Для примера будем считать, что LVM мы создаём поверх раздела /dev/sda1 . В этом случае сначала необходимо инициализировать физический раздел командой:

sudo pvcreate /dev/sda1

Далее создать группу томов (о том, что это такое, читайте в статьях про LVM), командой

sudo vgcreate local /dev/sda1

И, наконец, создать необходимые вам логические тома. Тут стоит заметить, что так как увеличивать размер LVM томов можно легко прямо в работающей системе, то лучше всего выделять для логических томов минимальный необходимый размер. Не бойтесь, что большой объём останется нераспределённым в рамках группы томов, он не пропадёт. Как только вам понадобится дополнительное место, вы сможете его легко добавить к любому логическому тому. А вот уменьшить размер логического тома значительно сложней.

Обычно для установки системы требуется раздел под корень, раздел под /home , раздел под swap и иногда — раздел под данные. Создать логические тома подо все эти четыре задачи можно командами:

sudo lvcreate -L 7G -n root local sudo lvcreate -L 5G -n home local sudo lvcreate -L 3G -n swap local sudo lvcreate -L 10G -n data local

Параметр -n , если вы ещё не поняли, задаёт имя логического тома, -L — его размер.

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

В современных версиях Ubuntu нужно создавать файловые системы вручную перед установкой. Иначе установщик захочет поверх каждого тома LVM создать ещё и MBR таблицу разделов, что крайне нежелательно.

Сделать это можно примерно следующими командами:

sudo mkfs.ext4 /dev/local/root sudo mkfs.ext4 /dev/local/home sudo mkswap -f /dev/local/swap sudo mkfs.ext4 /dev/local/data

Обратите внимание, что имена логических томов LVM в системе выглядят как /dev// .

Кроме того, файловая система ext4 по умолчанию резервирует часть места для системных данных. Поскольку на /home , и уж тем более на разделе с пользовательскими файлами, никаких системных данных никогда не будет, то лучше отменить это резервирование, дабы освободить пропадающее зря место. Для это пригодятся команды

sudo tune2fs -r 0 /dev/local/home sudo tune2fs -r 0 /dev/local/data

Ни в коем случае не отменяйте резервирование для корневого раздела, иначе система может вообще перестать работать!

Ну и наконец вы возможно захотите присвоить разделу с данными нормальную метку, дабы он красиво отображался в установленной системе. Сделать это можно примерно такой командой:

sudo tune2fs -L Data /dev/local/data

Теперь можно приступать непосредственно к установке на созданные нами логические тома.

Установка системы

Собственно сама установка стандартна, однако когда вам предложат выбрать способ разбиения диска, выберите ручной режим. В открывшемся окне вы увидите все созданные вами тома LVM. Укажите для каждого соответствующую точку монтирования, однако не ставьте галочку форматирования. Для раздела под данные можете указать точку монтирования /media/data . Не забудте про маленький раздел /boot. Ему нужно указать соответствующую точку монтирования и можно задать в качестве ФС ext2, кроме этого его нужно отформатировать.

Дождитесь завершения установки, но компьютер не перезагружайте!

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

sudo vgchange -a y

После чего выполнить инструкции, приведённые ниже.

Активирование LVM в установленной системе

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

Для начала, не выходя с LiveCD, смонтируйте логический том, который вы выделили под корень, в папку /mnt. Сделать это можно командой

sudo mount /dev/local/root /mnt

Затем примонтировать на место /boot раздел (в примере ниже это /dev/sda1):

sudo mount /dev/sda1 /mnt/boot

Теперь необходимо будет войти в установленную систему с помощью chroot , однако предварительно надо временно подключить в неё некоторые важные системные ресурсы. Для этого выполните команды

sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys

Если вдруг у вас в установленной только что системе /var или другие системные каталоги находятся на отличных от корневого разделах, не забудьте примонтировать их на свои места в /mnt .

Теперь перейдите в установленную систему командой

sudo chroot /mnt /bin/bash

И установите необходимые утилиты командой

apt-get install lvm2

Всё, установка завершена. Закройте терминал, нажмите Alt + Ctrl + Del и перезагрузите компьютер. Не забудьте достать LiveCD из привода. Компьютер должен загрузиться в только что установленную систему.

Дальнейшая работа

Допустим, в какой-то момент вам перестало хватать 5 гигабайт, которые вы выделили под раздел /home . Не беда. Посмотрите, сколько неиспользованного места осталось в группе томов командой

sudo vgdisplay local

Теперь увеличьте размер логического тома /dev/local/home до нужного командой

sudo lvresize -L 15G /dev/local/home

Учтите, что при таком использовании в параметре -L указывается полный желаемый размер, а не его приращение. Приращение можно задать с помощью символа «+»:

sudo lvresize -L +5G /dev/local/home

После увеличения размера логического тома останется лишь растянуть файловую систему на весь новый объём. Сделать это можно командой

sudo resize2fs /dev/local/home

Всё, размер логического тома увеличен.

Кроме увеличения размера логических томов на лету, LVM умееет ещё много чего полезного. Например, создавать мгновенные снапшоты. Однако обо всех тонкостях работы с этой технологией читайте в специализированных статьях.

Что такое LVM и для чего он используется?

Некоторые дистрибутивы Linux при установке операционной системы вместо обычного раздела предлагают выбрать LVM раздел или даже динамический LVM. Что такое LVM и для чего он используется, если вы новичок в Linux, Ubuntu?

Какие преимущества даёт установка веб-сервера на LVM раздел?

Рекомендуется ли использовать LVM или лучше обычные разделы?

Плюсы LVM

Вы можете думать о LVM как о «динамических разделах», что означает, что вы можете создавать, изменять размер, удалять «разделы» LVM (на языке LVM они называются «логическими томами») из командной строки во время работы системы Linux: нет необходимо перезагрузить систему, чтобы ядро узнало о вновь созданных разделах или разделах с измененным размером.

Другие полезные функции, которые предоставляет LVM «Logical Volumes»:

  1. Если у вас более одного жёсткого диска, логические тома могут охватывать более одного диска: то есть они не ограничиваются размером одного отдельного диска, а скорее общим совокупным пространством.
  2. Вы можете настроить «чередующиеся» LV, чтобы ввод-вывод можно было распределять на все диски, на которых размещён LV, параллельно. (Аналогично RAID-0, но немного проще в настройке.)
  3. Вы можете создать моментальный снимок (только для чтения) любого LV. Вы можете позже вернуть исходный LV к снимку или удалить снимок, если он вам больше не нужен. Это удобно, например, для резервного копирования серверов (вы не можете остановить запись всех своих приложений, поэтому вы создаёте моментальный снимок и делаете резервную копию снимка LV), но также это может использоваться для обеспечения «сети безопасности» перед критическим обновлением системы (клонировать корневой раздел, обновить, откатить изменения, если что-то пошло не так).

Будучи наиболее полезными в серверных системах, я думаю, что функции 1. и 3. в сочетании с возможностью LVM создавать, изменять размер, удалять LV на лету также весьма удобны в настольных системах. (Особенно, если вы много экспериментируете с системой.)

Минусы LVM

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

Кроме того, если вы используете LVM на жёстких дисках, вы можете потерять все свои данные, когда выйдет из строя только один диск.

Что такое LVM

LVM расшифровывается как Logical Volume Management. Это система управления логическими томами или файловыми системами, которая является гораздо более продвинутой и гибкой, чем традиционный метод разделения диска на один или несколько сегментов и форматирования этого раздела с файловой системой.

Зачем использовать LVM?

В течение долгого времени я задавался вопросом, зачем кому-то использовать LVM, если вы можете использовать gparted для изменения размера и перемещения разделов. Ответ в том, что lvm может делать эти вещи лучше, а также некоторые отличные новые вещи, которые вы просто не можете сделать иначе. Я объясню несколько задач, которые может выполнять lvm, и почему он это делает лучше, чем другие инструменты, а затем как их выполнять. Сначала вы должны понять основы lvm.

Основы LVM

LVM управляет тремя концепциями:

  • Группы томов
  • Физические тома
  • Логические тома

Группа томов — это именованный набор физических и логических томов. Типичным системам требуется только одна группа томов, чтобы содержать все физические и логические тома в системе, и мне нравится называть свою группу по имени машины. Физические тома соответствуют дискам; это блочные устройства, которые предоставляют пространство для хранения логических томов. Логические тома соответствуют разделам: они содержат файловую систему. Однако, в отличие от разделов, логические тома получают имена, а не номера, они могут занимать несколько дисков и необязательно должны быть физически смежными.

Специфика LVM

Одно из самых больших преимуществ LVM заключается в том, что большинство операций можно выполнять «на лету», пока система работает. Большинство операций, которые вы можете выполнять с помощью gparted, требуют, чтобы разделы, которыми вы пытаетесь манипулировать, в данный момент не использовались, поэтому для их выполнения вам необходимо загрузиться с livecd. Вы также часто сталкиваетесь с ограничениями формата таблицы разделов msdos с gparted, включая только 4 основных раздела, и все логические разделы должны содержаться в одном непрерывном расширенном разделе.

Изменение размера разделов

С помощью gparted вы можете расширять и сжимать разделы, но только если они не используются. LVM может расширять раздел во время когда диск смонтирован, если файловая система, используемая на нём, также поддерживает это (например, обычный ext3/4). При расширении раздела gparted может расширить его только на соседнее свободное пространство, но LVM может использовать свободное пространство в любом месте группы томов, даже на другом диске. При использовании gparted это ограничение часто означает, что вы должны перемещать другие разделы, чтобы освободить место для расширения одного из них, что является очень трудоёмким процессом, который может привести к значительной потере данных в случае сбоя или прерывания работы (отключение электричества).

Перемещение разделов

Перемещение разделов с помощью gparted обычно необходимо только в первую очередь из-за требования, чтобы разделы были физически смежными, поэтому вам, вероятно, никогда не понадобится делать это с LVM. Если вы это сделаете, в отличие от gparted, LVM может перемещать раздел, пока он используется, и не повредит ваши данные, если операция будет прервана. В случае, если ваша система выйдет из строя или потеряет питание во время перемещения, вы можете просто перезапустить операцию перемещения после перезагрузки, и она завершится нормально. Когда я получил свой SSD-накопитель, я просто подключил его, загрузил и попросил lvm переместить мою работающую корневую файловую систему на новый диск в фоновом режиме, пока я продолжал работать. Другая причина, по которой вы можете захотеть переехать, — это заменить старый диск на новый, большего размера. Вы можете перенести систему на новый диск во время его использования, а затем удалить старый.

Много разделов

Если вам нравится тестировать различные дистрибутивы Linux, или просто другие версии Ubuntu, или и то, и другое приводит к созданию довольно большого числа разделов. С обычными разделами msdos (MBR) это становится проблематичным из-за его ограничений (хотя нужно отметить, что с GPT такой проблемы уже нет). С LVM вы можете создать столько логических томов, сколько захотите, и обычно это довольно просто, поскольку обычно у вас остаётся много свободного места. Обычно люди выделяют весь диск на один раздел при первой установке, но, поскольку расширение раздела с помощью LVM настолько простое, для этого нет никаких причин и вы можете начать с создания раздела не в целый диск. Лучше выделить только то, что, по вашему мнению, вам понадобится, а остальное пространство оставить свободным для использования в будущем. Если в конечном итоге исходное выделенное место закончилось, добавление дополнительного пространства к этому тому — это всего лишь одна команда, которая выполняется немедленно, пока система работает в обычном режиме.

Снимки

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

Как использовать LVM

Итак, как мне начать использовать LVM?

Установщик Linux может предложить вам создать раздел с LVM. Либо перед установкой Linux вы можете создать раздел LVM с помощью LIVE CD. Либо если вы планируете переустановку ОС, вы можете установить пакет lvm2 в существующую систему и вручную настроить LVM.

Во-первых, вам нужен физический том. Обычно вы начинаете с жёсткого диска и создаёте на нем раздел типа LVM. Вы можете создать его с помощью gparted или fdisk и обычно хотите, чтобы только один раздел использовал весь диск, поскольку LVM будет обрабатывать его разделение на логические тома. В gparted вам нужно проверить флаг lvm при создании раздела, а с помощью fdisk пометить тип кодом 8e.

Когда у вас есть раздел LVM, вам необходимо инициализировать его как физический том. Предполагая, что это раздел /dev/sda1:

sudo pvcreate /dev/sda1

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

sudo vgcreate foo /dev/sda1

Теперь у вас есть группа томов с именем foo. Я предлагаю вам заменить foo значимым для вас именем. foo содержит только один физический том. Теперь вы хотите создать логический том из некоторого свободного места в foo:

sudo lvcreate -n bar -L 5g foo

Это создаёт логический том с именем bar в группе томов foo, используя 5 ГБ пространства. Если вы выполняете установку ОС Linux, вы, вероятно, захотите создать логический том, подобный этому, для использования в качестве корневой файловой системы, один для подкачки и, возможно, один для /home. В настоящее время у меня есть логический том для установки Lucid и один для установки Maverick, поэтому я назвал эти тома именно так. Вы можете найти блочное устройство для этого логического тома в ‘/dev/foo/bar‘ или ‘dev/mapper/foo-bar‘.

Вы также можете попробовать команды lvs и pvs, которые перечисляют логические тома и физические тома соответственно, а также их более подробные варианты; lvdisplay и pvdisplay.

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

Изменение размера разделов

Вы можете расширить логический том с помощью:

sudo lvextend -L +5g foo/bar

Это добавит 5 ГБ к логическому тому bar в группе томов foo. Вы можете указать абсолютный размер, если хотите, вместо относительного, опуская начальный +. Пространство выделяется из любого свободного места в любом месте группы томов bar. Если у вас несколько физических томов, вы можете добавить имена одного или нескольких из них в конец команды, чтобы ограничить, какие из них следует использовать для удовлетворения запроса.

После расширения логического тома вам необходимо расширить файловую систему, чтобы использовать новое пространство. Для ext 3/4 вы просто запустите:

sudo resize2fs /dev/foo/bar

Перемещение разделов

Если у вас есть только один физический том, вам, вероятно, никогда не придётся перемещать его, но если вы добавите новый диск, возможно, вы захотите это сделать. Чтобы переместить логический том bar из физического тома /dev/sda1, выполните:

sudo pvmove -n bar /dev/sda1

Если вы опустите аргумент -n bar, все логические тома на физическом томе /dev/sda1 будут перемещены. Если у вас есть только один другой физический том, то он будет перемещён туда, или вы можете добавить имя одного или нескольких конкретных физических томов, которые должны использоваться для удовлетворения запроса, вместо любого физического тома в группе томов со свободным местом. Этот процесс можно безопасно возобновить, если он прерван из-за сбоя или отключения питания, и его можно выполнить, пока используются соответствующие логические тома. Вы также можете добавить -b, чтобы выполнить перемещение в фоновом режиме и немедленно вернуться, или -i СЕКУНДЫ, чтобы он печатал, какой прогресс он сделал каждые СЕКУНДЫ секунд. Если вы выбрали фоновый режим перемещения, вы можете проверить его ход с помощью команды lvs.

Снимки

Когда вы создаёте моментальный снимок, вы создаёте новый логический том, который будет действовать как клон исходного логического тома. Том моментального снимка изначально не использует никакого пространства, но по мере внесения изменений в исходный том изменённые блоки копируются в том моментального снимка перед их изменением, чтобы сохранить их. Это означает, что чем больше изменений вы вносите в исходную точку, тем больше места требуется для снимка. Если том моментального снимка использует всё выделенное ему пространство, то моментальный снимок повреждается и больше не может использоваться, оставляя вас только с измененным источником. Команда lvs сообщит вам, сколько места было использовано в логическом томе моментального снимка. Если он начинает заполняться, вы можете расширить его с помощью команды lvextend. Чтобы создать моментальный снимок логического тома bar и назвать его snap, запустите:

sudo lvcreate -s -n snap -L 5g foo/bar

Это создаст моментальный снимок с именем snap оригинального логического тома bar и выделит для него 5 ГБ пространства. Поскольку том моментального снимка хранит только те области диска, которые изменились с момента его создания, он может быть намного меньше исходного тома. Недавно я использовал моментальный снимок логического тома объёмом 12 Гбайт, содержащий мою корневую файловую систему Maverick, и выполнил dist-upgrade до Natty в источнике, который использовал только около 50-60% пространства моментального снимка.

Пока у вас есть моментальный снимок, вы можете смонтировать его, если хотите, и увидите исходную файловую систему такой, какой она была на момент создания моментального снимка. В приведённом выше примере вы должны смонтировать устройство /dev/foo/snap. Вы можете изменить снимок, не затрагивая оригинал, и изменит оригинал оригинал, не затрагивая снимок. Если вы сделаете снимок корневого логического тома, а затем обновите некоторые пакеты или целый дистрибутив до следующего выпуска, а затем решите, что вам не нравится, как он работает, вы можете объединить снимок обратно в исходный том, эффективно вернувшись к состоянию во время создания снимка. Для этого просто запустите:

sudo lvconvert --merge foo/snap

Если исходный том foo/snap уже используется, он сообщит вам, что слияние произойдёт при следующей активации томов. Если это корневой том, вам необходимо перезагрузить компьютер, чтобы это произошло. При следующей загрузке том будет активирован, и слияние начнётся в фоновом режиме, поэтому ваша система загрузится так, как будто вы никогда не вносили изменений с момента создания моментального снимка, а фактическое перемещение данных будет происходить в фоновом режиме, пока вы работаете в обычном режиме.

Связанные статьи:

  • Как в Linux подключить новый диск, разметить и отформатировать разделы (67.5%)
  • Как проверить дисковое пространство на Linux с командой df (51.2%)
  • Диск Windows монтируется только для чтения (РЕШЕНО) (51.2%)
  • Команда findmnt для просмотра смонтированных файловых систем в Linux (51.2%)
  • 8 способов определить тип файловой системы в Linux (Ext2, Ext3 или Ext4, FAT32, NTFS) (51.2%)
  • Как использовать Udev для обнаружения устройств и управления ими в Linux (RANDOM — 50%)

Почему вам нужен LVM в Линуксе

Если вы не знаете, что такое LVM, то вот отличная цитата:

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

Попросту говоря, это виртуальные разделы диска, которые можно на ходу менять в размере, создавать, удалять, переносить и еще много чего с ними делать, не трогая физические разделы диска.

Помню, когда я последний раз читал про LVM, он мне сильно не понравился. Что за идиотский дополнительный слой, подумал я?

Меня раздражали две вещи. Первая — запутаннные названия. Там есть LV , VG , PV и еще куча каких-то других непонятных терминов, в которых я путался. Вторая — глупейшие и усложненные названия блочных устройств вроде /dev/mapper/vg0/lv1 . Зачем эти дополнительные сложности, если можно просто набрать /dev/sda1 и не заморачиваться?

Так бы я и остался плохого мнения об этой технологии, если бы не случай.

Недавно мне понадобилось разметить дисковое простанства на новом сервере с чистыми винтами. И я решил сделать еще одну попытку понять лвм. И совершенно случайно я нашел потрясающую документацию, которая разложила по полочам все знания.

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

Что же конкретно мне понравилось в ЛВМе?

Три вещи. Это возможность менять размеры дисков. Более понятные имена дисков. И возможность мигрировать данные с диска на диск без остановки системы. Давайте подробнее остановимся на каждом из этих пунктов.

Возможность менять размеры разделов диска

На работе у меня стоит компьютер, на который я сам устанавливал Xubuntu 18.04. При установке я выбрал ручное разбитие диска и совершил фатальную ошибку — создал маленький раздел для корневой системы. Всего 20 гигабайт:

dima@dima-work:~$ df -hm|grep /dev/sd /dev/sda1 18645 17473 202 99% / /dev/sda5 85880 62514 18962 77% /home 

Со временем, корневой раздел заполнился файлами работающих контейнеров докера (/var/lib/docker) и теперь я страдаю. Не могу поставить обновления, например. Или мне приходится постоянно лезть и что-то удалять.

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

Более понятные имена разделов

То, что изначально казалось мне излишней сложностью, теперь стало преимуществом. Весь секрет в человеческом именовании группы и самих логических разделов. Разделы можно называть понятными именами вместо sda1 и sdb2 .

Например, если группу назвать local , а логические разделы назвать в соответствии с их функцией, то можно создать такую структуру:

На скрине выше видно два физических раздела /dev/sda3 и /dev/sdb1 , объединенных в группу localc (немного опечатался). И все логические разделы лежат на первом диске. Второй можно легко заменить.

Теперь несколько советов, если вы хотите тоже использовать LVM у себя в системе.

Советы

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

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

Не делайте большие разделы сразу, потому что расширить их легко, а сжать — сложно. Добавляйте место по мере необходимости в те разделы, где оно необходимо. Ведь часто не знаешь заранее, какая папка в системе распухнет. Имейте запас свободного места, которое можно перераспределить.

Разбивайте диск вручную, оставляйте бут-раздел.

Машина на механике

Недавно купил себе машину на механике и теперь осваиваюсь. Уже проехал около месяца — стало немного получаться. Цель этого исследовательского проекта — смогу ли я научиться ездить так же плавно, как на автомате. Смогу ли ездить в пробках и какие ощущения получу от этих поездок?

13 окт. 2023 г.

Комментарии

Похоже, что Ghost добавил возможность комментировать посты. Мне этой фичи давно не хватало, а ставить соторонние js-комменты я никогда не хотел. Теперь должно работать.

9 окт. 2023 г.

Тренировка роликов

Сходил на тренировку роликов в рамках проекта «Ролики». В этом году стал учиться, нужно будет подробнее вам рассказать про этот проект. На текущий момент я могу: * ехать прямо * ехать задом вперед в монолайне (не в сплите) * разворачиваться с разгрузкой (вперед получается хуже, назад — лучше) * чуть-чуть иногда получается паверслайд, но

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *