Введение
Управление дисковым пространством является важной задачей для любого системного администратора. В операционной системе Linux для гибкого управления дисковыми разделами используется технология под названием Logical Volume Manager (LVM). Эта система позволяет создавать логические тома, которые можно легко увеличивать, уменьшать или переносить между различными физическими дисками без необходимости перезапуска системы. В этой статье мы детально разберёмся с тем, как работать с LVM, начиная с создания физических томов, групп томов и логических томов, и заканчивая увеличением размера логических томов.
Создание физических томов
Первым шагом в работе с LVM является создание физических томов (Physical Volumes, PV). Физический том представляет собой основной элемент LVM, который может быть создан на основе отдельного раздела диска или всего диска целиком. Для создания физического тома используется команда pvcreate
.
Пример создания физических томов
Допустим, у вас имеются два раздела диска: /dev/vdb1
и /dev/vdb2
. Вы можете создать физические тома на этих разделах следующим образом:
$ sudo pvcreate /dev/vdb1 /dev/vdb2
Physical volume "/dev/vdb1" successfully created.
Physical volume "/dev/vdb2" successfully created.
После выполнения этих команд разделы /dev/vdb1
и /dev/vdb2
станут доступны для использования в рамках LVM.
Создание групп томов
Далее следует этап создания групп томов (Volume Groups, VG). Группы томов объединяют физические тома в общий пул, из которого затем выделяются логические тома. Для создания группы томов используется команда vgcreate
.
Пример создания групп томов
Давайте создадим две группы томов: vg1
на основе физического тома /dev/vdb1
и vg2
на основе физического тома /dev/vdb2
:
$ sudo vgcreate vg1 /dev/vdb1
Volume group "vg1" successfully created
$ sudo vgcreate vg2 /dev/vdb2
Volume group "vg2" successfully created
Теперь у нас есть две группы томов: vg1
и vg2
, которые можно использовать для создания логических томов.
Создание логических томов
Логические тома (Logical Volumes, LV) являются виртуальными разделами, которые создаются внутри групп томов. Эти тома можно легко изменять в размерах в соответствии с потребностями. Для создания логического тома используется команда lvcreate
.
Пример создания логических томов
Создадим логический том lv1
в группе томов vg1
, используя 50% доступного пространства, и логический том lv2
в группе томов vg2
, используя всё доступное пространство:
$ sudo lvcreate -n lv1 -l 50%FREE vg1
Logical volume "lv1" created.
$ sudo lvcreate -n lv2 -l 100%FREE vg2
Logical volume "lv2" created.
Теперь проверим созданные логические тома с помощью команды lvs
:
$ sudo lvs
LV VG Attr LSize
lv1 vg1 -wi-a----- 248.00m
lv2 vg2 -wi-a----- 496.00m
Как видите, логический том lv1
имеет размер 248 МБ, а логический том lv2
— 496 МБ.
Расширение логических томов
Одно из главных преимуществ LVM заключается в возможности лёгкого увеличения размеров логических томов. Для этого используется команда lvextend
. Давайте рассмотрим пример увеличения размера логического тома lv2
.
Пример расширения логического тома
Начнём с создания нового раздела на диске /dev/vdb
с помощью утилиты fdisk
:
$ sudo fdisk /dev/vdb
Command (m for help): n
Partition type
p primary (2 primary, 0 extended, 2 free)
e extended (container for logical partitions)
Select (default p): e
Partition number (3,4, default 3):
First sector (2050048-8388607, default 2050048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2050048-8388607, default 8388607):
Created a new partition 3 of type 'Extended' and of size 3 GiB.
Command (m for help): p
Device Boot Start End Sectors Size Id Type
/dev/vdb1 2048 1026047 1024000 500M 83 Linux
/dev/vdb2 1026048 2050047 1024000 500M 83 Linux
/dev/vdb3 2050048 8388607 6338560 3G 5 Extended
Command (m for help): n
All space for primary partitions is in use.
Adding logical partition 5
First sector (2052096-8388607, default 2052096):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2052096-8388607, default 8388607):
Created a new partition 5 of type 'Linux' and of size 3 GiB.
Command (m for help): w
The partition table has been altered.
Syncing disks.
Затем создадим физический том на новом разделе /dev/vdb5
:
$ sudo pvcreate /dev/vdb5
Physical volume "/dev/vdb5" successfully created.
Расширим группу томов vg2
, добавив в неё новый физический том:
$ sudo vgextend vg2 /dev/vdb5
Volume group "vg2" successfully extended
И наконец, увеличим размер логического тома lv2
, используя всё доступное пространство в группе томов vg2
:
$ sudo lvextend -l +100%FREE /dev/vg2/lv2
Size of logical volume vg2/lv2 changed from 496.00 MiB (124 extents) to 3.50 GiB (897 extents).
Logical volume vg2/lv2 successfully resized.
Проверьте изменение размера логического тома lv2
с помощью команды lvs
:
$ sudo lvs
LV VG Attr LSize
lv1 vg1 -wi-a----- 248.00m
lv2 vg2 -wi-a----- 3.50g
Теперь логический том lv2
имеет размер 3.5 ГБ.
Заключение
Технология LVM предоставляет инструменты для гибкого управления дисковым пространством в Linux. В этой статье мы рассмотрели основные этапы работы с LVM: создание физических томов, групп томов и логических томов, а также увеличение размера логических томов. Использование LVM позволяет администраторам эффективно управлять дисковым пространством, минимизировать простои и упростить масштабирование систем хранения данных.