- Настройка и управление LVM разделами в Linux
- Установка утилиты lvm2
- Создание LVM разделов
- LVM: создание файловой системы, монтирование логического тома
- Увеличение логического тома LVM
- Уменьшение LVM томов
- Удаление LVM групп и томов
- Создание зеркальных томов LVM
- Как создать и объединить разделы диска в Ubuntu
- Создать раздел
- Объединить разделы
Настройка и управление LVM разделами в Linux
LVM (Logical Volume Manager) – подсистема операционных систем Linux, позволяющая использовать разные области физического жесткого диска или разных жестких дисков как один логический том. LVM встроена в ядро Linux и реализуется на базе device mapper.
Главные преимущества LVM – высокий уровень абстракции от физических дисков, гибкость и масштабируемость. Вы можете на лету изменять размер логического тома, добавлять (и удалять) новые диски. Для LVM томов поддерживается зекалирование, снапшоты (persistent snapshot) и striping (расслоение данных между несколькими дисками с целью увеличения производительности).
В данной статье мы рассмотрим использование LVM разделов на примере Linux CentOS 8, покажем процесс объединения двух дисков в одну группу LVM, посмотрим как создавать группы, тома, монтировать, расширять и уменьшать размер LVM разделов.
Прежде всего нужно разобраться с уровнями дисковых абстракций LVM.
- Physical Volume (PV) – физический уровень. Физические диски инициализируются для использования в LVM.
- Volume Group (VG) – уровень группы томов. Инициализированные диски объединяются в логические группы с именем.
- Logical Volume (LV) — создается логический том на группе томов, на котором размещается файловая система и данные.
Установка утилиты lvm2
Чтобы начать работу с LVM, нужно установить утилиту lvm2. Выполним следующие команды:
apt-get install lvm2 — для Ubuntu, Mint, Debian
yum install lvm2 – для Centos, Red-Hat, Fedora
В разных версиях Linux отличается только способ установки утилиты lvm2 (установка через yum/dnf или apt-get), дальнейшие команды для работы с LVM, одинаковы.
Создание LVM разделов
Итак, у нас имеется виртуальная машина KVM, к которой подключены два дополнительных диска. Проверим, что они доступны в системе, используя команду:
Как вы видите, у меня доступны два диска /dev/vdb и /dev/vdc .
При настройке LVM на своем виртуальном или физическом сервере, используйте свою маркировку дисков.
Чтобы диски были доступны для LVM, их нужно пометить (инициализировать) утилитой pvcreate:
pvcreate /dev/vdb /dev/vdc
Теперь, чтобы убедиться, что данные диски можно использовать для LVM, введите команду pvdisplay:
Как видим, оба диска отображаются. Разберем информацию из вывода команды:
- PV Name – имя диска или раздела
- VG Name – группа томов, в которую данный диск входит (мы пока группу не создали)
- PV Size – размер диска или размера
- Allocatable – распределение по группам. В нашем случае распределения не было, поэтому указано NO
- PE Size – размер физического фрагмента. Если диск не добавлен ни в одну группу, значение всегда будет 0
- Total PE – количество физических фрагментов
- Free PE — количество свободных физических фрагментов
- Allocated PE – распределенные фрагменты
- PV UUID – идентификатор раздела
С помощью команды pvscan вы можете просканировать диски на предмет PV.
Следующий этап – создание группы томов. Для создания групп томов используется команда vgcreate. Чтобы объединить ранее помеченные диски, воспользуемся командой:
# vgcreate test /dev/vdb /dev/vdc
Чтобы проверить результат введите vgdisplay:
Как видим, диски объединены в группу test и VG Size показывает общий размер дисков.
Разберем информацию из листинга команды vgdisplay:
- VG Name – группа томов, в которую данный диск входит.
- Format – версия подсистемы lvm, которая используется для создание группы (в нашем случае версия 2)
- Metadata Areas – область метаданных
- VG Access – уровень доступа к группе логических томов
- VG Size – общий объем дисков, которые входят в группу
- PE Size — размер физического фрагмента
- Alloc PE / Size – распределенное пространство(количество и объем фрагментов)
- VG UUID – идентификатор группы
После того, как мы создали общую группу для дисков, мы можем создать логический том на этой группы. При создании тома, используется команда lvcreate.
Чтобы в вашей группе создать логический том определенного размера и именем, используйте команду:
# lvcreate -L 5G test
Как видим из листинга, в группе test был создан логический том с именем lvol0 и размером 5G.
Если вы хотите сами задать имя, используйте флаг -n:
# lvcreate -L 5G -n test1 test
Несколько примеров для создания логических томов с разными размерами:
lvcreate -l 40%VG test – 40% от дискового пространства группы test
lvcreate -l 100%FREE test – использовать все свободное пространство группы test
Чтобы вывести информацию о логическом томе, используйте lvdisplay:
Так же разберем листинг данной команды:
- LV Path – путь к устройству логического тома (к диску или разделу)
- LV Name – имя логического тома
- VG Name – имя группы томов
- LV UUID – идентификатор логического тома
- LV Write Access – уровень доступа к логическому тому
- LV Creation host, time — информация о хосте, дата когда был создан логический том
- LV Size – размер диска, доступный для использования логическому тому
- Current LE – количество логических фрагментов
LVM: создание файловой системы, монтирование логического тома
Чтобы создать файловую систему на логическом томе, воспользуйтесь утилитой mkfs:
Создадим файловую систему ext4 на LVM томе:
Файловая система была создана без ошибок.
Теперь создадим тестовую директорию и примонтируем логический том к данной директории:
# mkdir /var/www/home
# mount /dev/test/test1 /var/www/home/
Как видите, все прошло без ошибок и теперь директория /var/www/home существует как отдельный раздел.
Чтобы логический том монтировался при загрузке системы, нужно добавить его в fstab и назначить директорию для монтирования.
Откроем файл:
nano /etc/fstab
И добавим в него следующую информацию:
После чего примонтировать том можно будет через mount -a:
Чтобы проверить общую информацию по дискам, разделам и томам, введите команду lsblk:
Как видим, наш созданный том отображается, и указана директория к которой он примонтирован.
Команда lvmdiskscan позволяет просканировать доступные диски, показывает их размер и принадлежность к LVM.
Увеличение логического тома LVM
Чтобы добавить дополнительный диск к группе томов, нужно воспользоваться уже знакомой схемой:
pvcreate /dev/нашдиск — инициализация диска для lvm
vgextend test /dev/нашдиск — добавление диска в группу томов
Чтобы расширить логический том, воспользуйтесь следующей схемой:
lvextend -L10G /dev/test/test1
Данным способом вы расширите раздел на 10 Гб.
Еще несколько примеров расширения LVM раздела:
lvextend -L+10G /dev/test/test1 — добавите 10 Гб к вашему тому
lvextend -l +100%FREE /dev/test/test1 — выделите все нераспределенное пространство в группе test
Осталось увеличить раздел файловой системы:
resize2fs /dev/test/test1 – для ext4
xfs_growfs /dev/test/test1 – для xfs
Уменьшение LVM томов
LVM позволяют уменьшать размер тома. Но для безопасности умеьшения размера раздела его нужно отключить.
Отмонтируем том от директории:
Выполним проверку диска:
e2fsck -fy /dev/test/test1
Уменьшим раздел файловой системы на 4 Гб:
# resize2fs /dev/test/test1 4G
# lvreduce -L-4G /dev/test/test1
Теперь уменьшим размер самого LVM тома:
lvreduce -L-4G /dev/test/test1
После чего, нужно примонтировать том обратно и проверить текущий размер:
Как видим, размер уменьшился до 4 Гб.
Удаление LVM групп и томов
Для удаления LVM томов, используется команда lvremove:
Чтобы удалить группу логических томов, используйте:
Убрать метки с LVM дисков:
# pvremove /dev/vdb /dev/vdc
Создание зеркальных томов LVM
LVM позволяет создать зеркальные тома для повышения отказоустойчивости хранения данных. В LVM зеркале данные одновременно хранятся на двух (или более) физических дисках (подобие RAID-1). Процедура создания зеркального тома в LVM.
- Инициализация дисков: pvcreate /dev/sd
- Создаем LVM группу: vgcreate mirror1 /dev/sd
- Создадим зеркальный LVM том: lvcreate -L 5g -m1 -n lvMirr1 VGmirror1
Инструменты LVM очень удобны для работы, с помощью них можно легко управлять томами, нарезать их на нужные вам размеры и с легкостью использовать под свои нужды. В данной статье я постарался затронуть все основные моменты в работе с LVM.
Источник
Как создать и объединить разделы диска в Ubuntu
Сразу скажу, что сделать это довольно просто с помощью стандартной программы GParted (Gnome Partition Editor). Вообще, любые манипуляции с объединением, разбивкой, перемещением разделов делаю исключительно этой программой потому, что:
- Удобно
- Надежно
- Графический интерфейс
Последнее, кстати, немаловажно. Конечно, если вы опытный красноглазый линуксоид, то, видимо, делаете это все с помощью консольной утилиты fdisk. Она подойдет для тонкой настройки работы с разделами диска. Однако для быстрого изменения размера, объединения и перемещения разделов отлично подходит Gparted.
Мы будем работать с разделами на уже установленной и работающей системе, но гораздо проще создать разделы Ubuntu при установке.
GParted была предустановлена в дистрибутивах до Ubuntu 12.04 LTS (поправьте, если я не прав). Идет ли эта программа в комплекте с новыми версиями Убунты, точно сказать не могу. Если у вас в системе она еще не установлена, то, как обычно, открываем консоль и вводим:
Пройдя привычный процесс установки пакета, у вас в системе появится GParted. Тут же, из терминала, ее можно и запустить:
Интерфейс GParted
Можете посмотреть на интерфейс, полюбоваться на красивые полосочки и кнопочки и … закрыть:) Потому что воспользоваться ею на работающей системе вы вряд ли сможете, конечно, если собираетесь работать с разделом, на котором находятся системные файлы. Дело в том, что для любых манипуляций с системными разделами она требует, чтобы они были отмонтированны, читай, отсоединены на логическом уровне.
Так что перегружаемся с LiveCD или загрузочной флешки, и запускаем GParted (На установочном образе она точно должна быть). Крайне рекомендую все операции, описанные ниже, не производить на реальной машине с важными документами, а сначала опробовать все в виртуальной машине. Здесь можно почитать, как установить Ubuntu в VirtualBox.
Создать раздел
Щелкаем на разделе, от которого не жалко будет «украсть» дисковое пространство (у меня это основной раздел sda1 , к которой монтирован корень системы).
Пункт меню Resize/Move
Выбираем в главном меню пункт «Partition» → «Resize/Move».
Отбираем у раздела пространство
В открывшемся окошке тянем правый ползунок влево, чтобы «откусить» от раздела место под новый раздел. Я уменьшил до 15Гб.
Жмём кнопку «Resize/Move».
У нас появился второй основной раздел, пока еще не отформатированный (на рисунке серый прямоугольник с надписью «unallocated»).
Не распределенное пространство
Пока мы физически еще ничего не сделали. Это, так сказать, виртуальный макет что произойдет после подтверждения выполнения операций. Вы в любой момент можете отменить эти изменения.
Пора создать новый раздел. Щелкаем на сером прямоугольнике, и заходим через главное меню в пункт «Partition» → «New».
Создаем новый раздел
Выскочит вот такое окошко:
Распределяем новое пространство
Здесь необходимо указать:
- New size — размер нового раздела (будете ли полностью его размечать или только часть, по умолчанию все выбранное пространство войдет в новый раздел)
- Free space preceding – пространство ДО нового раздела (если необходимо)
- Free space following – пространство ПОСЛЕ нового раздела (если необходимо)
- File System — файловую систему (можно выбрать ntfs, тогда он будет виден из-под Винды, я оставил стандартную для Linux систем ext4)
- Label — название (не обязательно, но я назвал home, так как буду монтировать в этот раздел домашнюю директорию)
Остальные опции можно оставить по умолчанию. Жмем кнопку «Add».
Если готовы создать новый раздел, жмите зеленую кнопку «Apply All Operations» (Применить все операции). Пока вы ее не нажали, еще можно что-то изменить, например, создать еще один раздел, изменить размер существующего или поменять тип файловой системы.
Применяем все операции
Об успешности примененных операций сообщит вот такое окошко:
Окошко сигнализирует об успехе
После этого у нас в системе появится новый раздел.
Появился новый раздел
В дальнейшем я к нему собираюсь монтировать раздел /home . Делается это в файле fstab .
Теперь я покажу как разделы объединить.
Объединить разделы
Для того чтобы объединить два и более разделов, необходимо их удалить, а оставить только тот, к которому перейдет освободившееся пространство. Только не забудьте перенести все свои данные на другой носитель, иначе все безвозвратно удалится!
Я сейчас удалю только что созданный раздел, а освободившееся дисковое пространство перейдет к другому разделу. Щелкаем мышкой на разделе sda3
Выбираем раздел для удаления
и заходим в пункт меню «Partition» → «Delete»
Пункт меню Partition — Delete
Необходимо удалить раздел. Затем, уже по привычной схеме, выделяем тот раздел, к которому необходимо добавить дисковое пространство, и заходим в пункт меню «Partition» → «Resize/Move».
Пункт меню Изменить размер
В окошке изменения размера раздела тянете до конца ползунок вправо, чтобы все освободившееся дисковое пространство перешло к разделу sda1 .
Тянем ползунок до конца
Затем жмем на уже знакомую нам кнопку с зеленой галочкой «Apply All Operations».
Источник