Руководство по диспетчеру логических томов Linux (LVM)
LVM-команды Linux
В этом уроке мы узнаем о Управлении томами Linux. Мы увидим, что такое LVM в Linux, преимущества LVM, как создать группу томов и логические тома в Linux с примерами.
Что такое диспетчер логических томов (LVM)?
Диспетчер логических томов (LVM) используется для управления блочным хранилищем в Linux. LVM управляет хранилищем по-другому и эффективнее по сравнению со стандартными разделами.
LVM накапливает пространство, взятое из разделов или целых дисков (известное как Физические тома), чтобы сформировать логический контейнер (известный как Группа томов). Группа томов разделена на логические разделы, называемые Логические тома.
Проще говоря, LVM группирует все ваше пространство хранения в пул и позволяет вам создавать тома (логические тома) из этого пула.
Преимущество использования LVM по сравнению со стандартным разделом заключается в том, что LVM предлагает вам больше гибкости и возможностей. Он позволяет изменять размеры логических групп и логических томов онлайн. Поэтому, если в каком-либо из ваших логических разделов недостаточно места, вы можете легко увеличить размер раздела, используя пространство, доступное в пуле носителей.
Вы также можете экспортировать и импортировать разделы. LVM также поддерживает зеркалирование и создание снимков логических томов.
В следующих статьях мы рассмотрим все функции отдельно. Я предлагаю вам также просмотреть следующие руководства, чтобы понять, как создаются и монтируются стандартные разделы.
- Создание разделов диска и управление ими с помощью Parted в Linux — OSTechNix
- Создание разделов диска Linux с помощью Fdisk – OSTechNix
Уровни абстракции в LVM
LVM обеспечивает абстракцию уровня между физическим хранилищем и файловой системой, позволяя изменять размер файловой системы, охватывать несколько физических дисков и использовать произвольное дисковое пространство.
LVM использует три уровня абстракции для создания разделов.
- Физический объем,
- Группа томов,
- Логический том.
ФИЗИЧЕСКИЙ ОБЪЕМ
Все начинается с физического диска. Физический том — это первый уровень абстракции, который LVM использует для идентификации диска, помеченного для операций LVM. Проще говоря, если вы хотите работать с LVM, ваш диск должен быть инициализирован как физический том. Это может быть целый диск или стандартные разделы, созданные на этом диске.
ГРУППА ОБЪЕМОВ
Группа томов – это совокупность всех физических томов. Допустим, у вас есть пять отдельных дисков размером по 1 ТБ каждый. Сначала вы инициализируете пять дисков как физические тома, а затем добавите их в группу томов.
Группа томов будет содержать 5 ТБ, то есть пространство, доступное для всего физического тома. Из группы томов вы можете создавать логические разделы.
ЛОГИЧЕСКИЕ ОБЪЕМЫ
Из пула пространства (группы томов) вы можете создавать логические тома. Думайте об этом как об эквиваленте стандартного раздела диска.
Хватит основ. Давайте начнем с команд LVM Linux.
Для демонстрации я использую сервер Ubuntu, работающий в виртуальном боксе. Если вы изучаете LVM впервые, проводите тестирование на любой виртуальной машине.
Внимание: для команд LVM требуются права root. Либо запустите все команды от имени пользователя root
, либо с привилегией sudo
.
Шаг 1 — Инициализация физического тома
Я добавил три диска разного размера, и общий объем составляет 10 ГБ.
lsblk /dev/sd[b-e]
Пример вывода:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 2G 0 disk
sdc 8:32 0 3G 0 disk
sdd 8:48 0 5G 0 disk
Чтобы инициализировать любой диск как физический том, используйте команду pvcreate
с именем устройства в качестве аргумента.
sudo pvcreate /dev/sdb /dev/sdc /dev/sdd
Пример вывода:
Physical volume "/dev/sdb" successfully created.
Physical volume "/dev/sdc" successfully created.
Physical volume "/dev/sdd" successfully created.
Чтобы проверить список физических томов, вы можете запустить любую из следующих команд. Каждая команда даст вам другой результат.
PVDISPLAY — команда pvdisplay
предоставит вам подробную информацию о каждом физическом томе, в какой группе томов он находится, уникальный идентификатор и доступный размер.
sudo pvdisplay
Вывод команды Pvdisplay
PVS и PVSCAN. Эти две команды предоставят вам такую информацию, как физический том, группа томов, выделенный и свободный размер.
$судо пвс
Вывод команды Pvs
sudo pvscan
Вывод команды Pvscan
Шаг 2 — Создание группы томов
Теперь у меня три диска инициализированы как физический том общим размером 10Гб. Эти физические тома следует добавить в пул носителей, известный как группа томов.
Запустите команду vgcreate
, чтобы создать группу томов. Вам необходимо передать имя группы томов. Здесь я использую «ostechnix_files» в качестве имени группы томов.
sudo vgcreate ostechnix_files /dev/sd[b-d]
Volume group "ostechnix_files" successfully created
Выполните любую из следующих команд, чтобы проверить сведения о группе томов.
sudo vgdisplay
Или,
sudo vgdisplay <volume group name>
Вывод команды Vgdisplay
Шаг 3. Отображение сведений о группе томов
Команды vgs
и vgscan
предоставят вам информацию обо всех доступных группах томов, количестве физических томов и количество логических томов, выделенные и свободные размеры группы томов.
sudo vgs
sudo vgscan
Вывод команд Vgs и Vgscan
Шаг 4. Создание логических томов
Как я упоминал ранее, логический том аналогичен разделам диска. Теперь у нас есть около 10 ГБ свободного места в пуле «ostechnix_files» (группа томов). Поверх этой группы томов мы создадим логические тома, отформатируем том в файловой системе ext4, смонтируем и будем использовать том.
Чтобы создать логический том, вы можете использовать команду lvcreate
. Общий синтаксис команды lvcreate
приведен ниже.
sudo lvcreate -L <volume-size> -n <logical-volume-name> <volume-group>
Здесь,
-L
=> размер в КБ, МБ, ГБ-n <логическое-имя-тома>
=> Имя вашего тома
=> Какую группу томов использовать
Теперь я создаю логический том размером 3 ГБ. Я назвал логический том "guides".
sudo lvcreate -L 3GB -n guides ostechnix_files
Logical volume "guides" created.
Шаг 5. Отображение информации о логических томах
Для просмотра информации о логическом томе можно использовать любую из следующих команд.
Команда lvdisplay
предоставляет подробную информацию о логическом томе, связанной группе томов, размере тома, пути к логическому тому и т. д.
lvdisplay
Или явно укажите имя логического тома:
lvdisplay guides
Вывод команды Lvdisplay
Команды lvscan
и lvs
также предоставят некоторую базовую информацию о логических томах.
lvscan
lvs
Вывод команд Lvscan и Lvs
Шаг 6. Форматирование и монтирование логических томов
Вам необходимо отформатировать логический том с файловой системой и смонтировать том. Здесь я форматирую том с помощью файловой системы ext4
и монтирую его в каталог /mnt/
.
Вы должны увидеть файл устройства для логического тома в папке /dev/volume-group/ologic-volume
. В моем случае файл устройства будет /dev/ostechinix_files/guides
.
sudo mkfs.ext4 /dev/ostechnix_files/guides
Пример вывода:
mke2fs 1.45.5 (07-Jan-2020)
Creating filesystem with 786432 4k blocks and 196608 inodes
Filesystem UUID: a477d1b6-e806-451f-ab34-4be9978c1328
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
Чтобы смонтировать каталог, выполните следующую команду. Вы можете смонтировать каталог в любое место по вашему желанию.
sudo mount /dev/ostechnix_files/guides /mnt/
Чтобы просмотреть смонтированные тома, запустите:
mount | grep -i guides
/dev/mapper/ostechnix_files-guides on /mnt type ext4 (rw,relatime)
Вы также можете запустить команду df
, чтобы проверить информацию о смонтированной файловой системе. Вы можете видеть, что файловая система названа именем тома. При таком соглашении об именах вам будет довольно легко понять базовый том и его группу.
df -h /mnt/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ostechnix_files-guides 2.9G 9.0M 2.8G 1% /mnt
Чтобы монтирование сохранялось при перезагрузках, необходимо добавить запись в fstab. Если вы понятия не имеете о fstab, предлагаю вам посмотреть нашу подробную статью о fstab.
- Что такое Fstab в Linux | Знакомство с файлом /etc/fstab в Linux
Заключение
В этой вводной статье мы рассмотрели абстракцию LVM и способы создания группы томов и логических томов с помощью LVM в Linux. В следующей статье мы рассмотрим, как расширять и сжимать объемное пространство.
Читать далее:
- Часть 2. Как изменить размер разделов LVM в Linux
- Часть 3. Как использовать снимок LVM для резервного копирования данных в Linux
- Часть 4. Как переместить группу томов LVM на другой компьютер в Linux
- Часть 5. Как использовать Ansible для автоматизации диспетчера логических томов (LVM) в Linux