---
# System prepended metadata

title: Практическая работа. Реализация управления логическими томами.
tags: [лабы по Debian 11]

---

# Практическая работа. Реализация управления логическими томами.

###### tags: `лабы по Debian 11`

**Цель работы**
* изучить принципы работы утилиты lvm2

**Немного теории**

LVM (Logical Volume Manager) – подсистема операционных систем Linux, позволяющая использовать разные области физического жесткого диска или разных жестких дисков как один логический том. 
Главные преимущества LVM – высокий уровень абстракции от физических дисков, гибкость и масштабируемость. Вы можете на лету изменять размер логического тома, добавлять (и удалять) новые диски.

![](https://i.imgur.com/nThXIkL.png)

**Уровни дисковых абстракций LVM**

Physical Volume (PV) – физический уровень. Физические диски инициализируются для использования в LVM.
Volume Group (VG) – уровень группы томов. Инициализированные диски объединяются в логические группы с именем.
Logical Volume (LV) — создается логический том на группе томов, на котором размещается файловая система и данные.

---

## I. Создание LVM разделов

#### 1.1  Установка утилиты lvm2.

`sudo apt-get install lvm2`

![](https://i.imgur.com/t4OnNDI.png)

> Перед установкой следует обновить репозитории пакетного менеджера последовательным выполнением команд `sudo apt update` и `sudo apt upgrade`.

#### 1.2 Проверка подключения двух дополнительных дисков и их доступности в системе.

`sudo fdisk -l`

![](https://i.imgur.com/bVnI5Qa.png)

> Команда `fdisk` с опцией `-l` выводит таблицу разделов устройств, указанных в файле `/proc/partitions`.

#### 1.3 Инициализация дисков утилитой `pvcreate` для дальнейшего использования LVM.

`sudo pvcreate /dev/sdb /dev/sdc`

![](https://i.imgur.com/fLttDHd.png)

> Команда `pvcreate` позволяет "отметить" том как физический диск/раздел, который может быть включенным в Volume Group.
Синтаксис команды представляет собой перебор разделов диска, которые должны быть включены в будущую группу томов (VG).
Пример команды:
`sudo pvcreate /dev/sdb1`
`sudo pvcreate /dev/sdb1 /dev/sdb2`
`sudo pvcreate /dev/sdb{1,2}`

#### 1.4 Проверка, что данные диски могут использоваться LVM с помощью команды `pvdisplay`.

`sudo pvdisplay`

![](https://i.imgur.com/6rrNLB8.png)

> Команда `pvdisplay` выводит подробную информацию о физических томах: название, принадлежность к группе томов, размер, фиксированный размер блока данных (PE), их количество и UUID физического тома.

#### 1.5 Создание группы томов через объединение ранее помеченных дисков через команду `vgcreate`

`sudo vgcreate test /dev/sdb /dev/sdc`

![](https://i.imgur.com/MDZfb8t.png)

> Команда `vgcreate` создает группу томов из существующих физических. Синтаксис:
`vgcreate название_группы_томов том1 том2`
Пример команды:
`sudo vgcreate test /dev/sdb /dev/sdc /dev/sdd`
`sudo vgcreate test /dev/sd{b,c,d}`

#### 1.6 Проверка результата командой `vgdisplay`

`sudo vgdisplay`

![](https://i.imgur.com/ULIxcLx.png)

> Команда `vgdisplay` подобно `pvdisplay` выводит информацию, только не о физических томах, а об их объединениях в виде групп томов (VG).

#### 1.7 Создание логичесого тома определенного размера.

`sudo lvcreate -L 4G test`

![](https://i.imgur.com/Vp8xnio.png)

> Команда `lvcreate` создает логический том, а благодаря указанным аргументам `-L 4G test` создаваемый логический том будет указанного размера (4 GiB) и на основе группы томов `test`. Полный синтаксис команды выглядит следующим образом `lvcreate [опции] <имя группы томов>`.
Помимо размера тома можно дополнительно указать и другие параметры:
-L - размер создаваемого тома (дефолтно, в байтах, но можно указать единицу измерения - k,K,m,M,g,G,t,T,p,P)
-n - имя для нового логического тома (дефолтно, lvol#, где # - номер LV)
-s - создать снапшот для использования логического раздела в качестве бэкапа


#### 1.8 Вывод информации о логических томах.

`sudo lvdisplay`

![](https://i.imgur.com/ZoIFJlx.png)

> Команда `lvdisplay` подобно `pvdisplay` выводит информацию, только не о физических томах, а о логических (LV).

---

## II. Создание файловой системы и монтирование логического тома LVM

#### 2.1 Создание файловой системы на логическом томе.

`sudo mkfs.ext4 /dev/test/lvol0`

![](https://i.imgur.com/JlzszQn.png)

> Команда `mkfs.ext4` определяет тип файловой системы, которая будет использована на логическом томе. 

#### 2.2 Создание тестовой директории и монтирование к ней логического тома.

`sudo mkdir /var/alku`
`sudo mount /dev/test/lvol0 /var/alku`

![](https://i.imgur.com/23QLQAT.png)

> Команда `mkdir` создает директорию '/alku', а команда `mount` монтирует логический том к разделу на основном диске.

#### 2.3 Добавление монтирования логического тома в процесс загрузки системы.

`sudo nano /etc/fstab`
`/dev/test/lvol0 /var/alku ext4 defaults 1 2`

![](https://i.imgur.com/oBT2DXc.png)

#### 2.4 Проверка монтирования логического тома.

`sudo mount -a`
`df -h`

![](https://i.imgur.com/wfaoxwU.png)

> Команда `mount` с опцией `-a` пытается примонтировать все файловые системы, указанные в файле/etc/fstab.
Команда `df` с опцией `-h` выводит информацию об используемом пространстве на файловых системах.

#### 2.5 Просмотр общей информации по дискам и томам.

`sudo lsblk`

![](https://i.imgur.com/JXyG3dF.png)

> Команда `lsblk` выводит информацию о дисках и созданных на них разделах, их размерах, точке монтирования.
---

## III. Увеличение логического тома LVM

#### 3.1 Инициализация диска для LVM.

`sudo pvcreate /dev/sdd`

![](https://i.imgur.com/lGqo7Lj.png)

#### 3.2 Добавление диска в группу томов.

`sudo vgextend test /dev/sdd`

![](https://i.imgur.com/jwGDwkX.png)

> Команда `vgextend` позволяет добавить в существующую группу томов дополнительные физические тома.

#### 3.3 Расширение раздела до 8 ГиБ.

`sudo lvextend -L8G /dev/test/lvol0`

![](https://i.imgur.com/uRQ74cp.png)

> Команда `lvextend` позволяет расширить логический том до определенных размеров. Основные флаги, используемые для указания размера итогового логического тома:
-L.. - увеличение размера тома до указанного числа (если единицы измерения не указаны, то это MiB)
-L+.. - увеличение размера тома на указанное число (если единицы измерения не указаны, то это MiB)


#### 3.4 Просмотр изменившейся информации о логическом томе.

`sudo lvdisplay`

![](https://i.imgur.com/Pf5NiI6.png)

#### 3.5 Увеличение размера файловой системы логического тома.

`sudo resize2fs /dev/test/lvol0`

> Команда `resize2fs` позволяет увеличить размер файловой системы.

![](https://i.imgur.com/BYGD22z.png)

---

## IV. Уменьшение логического тома LVM

#### 4.1 Отмонтирование тома.

`sudo umount /var/alku`

![](https://i.imgur.com/ga9JNlC.png)

> Команда `umount` снимает точку монтирования с директории 'alku', тем самым разделив файловую систему основного диска от логического тома.

#### 4.2 Проверка диска.

`sudo e2fsck -fy /dev/test/lvol0`

> Команда `e2fsck` проверяет файловую систему на логическом диске. Синтаксис `e2fsck [опции] устройство`. Основные ключи, используемые для проверки системы:
-p - автоматическое восстановление файловой системы
-f - проверка системы, даже если она "пустая"
-y - отключение интерактивного режима работы программы

![](https://i.imgur.com/kS5bnio.png)

#### 4.3 Уменьшение файловой системы на 4 ГиБ.

`sudo resize2fs /dev/test/lvol0 4G`

![](https://i.imgur.com/hlvgQYO.png)

> Команда `resize2fs` сжимает размер файловой системы на указанный объем памяти.

#### 4.4 Уменьшение логического тома на 4 ГиБ.

`sudo lvreduce -L-4G /dev/test/lvol0`

![](https://i.imgur.com/gPdSBVX.png)

> Команда `lvreduce` позволяет сжать логический том до определенных размеров. 
 
#### 4.5 Вывод информации о логических томах.

`sudo lvdisplay`

![](https://i.imgur.com/5kBirlO.png)

#### 4.6 Монтирование логического тома к исходной файловой системе.

`sudo mount -a`

![](https://i.imgur.com/Q1HlBqm.png)

#### 4.7 Проверка текущего состояния томов.

`df -h`

![](https://i.imgur.com/sf1H3Yn.png)

## V. Удаление LVM групп и томов

#### 5.1 Отмонтирование тома.

`sudo umount /var/alku`

![](https://i.imgur.com/q9xUeOe.png)

#### 5.2 Удаление логического тома.

`sudo lvremove /dev/test/lvol0`

![](https://i.imgur.com/B4GpCNz.png)

> Команда `lvremove` удаляет логические тома.

#### 5.3 Удаление группы логических томов.

`sudo lgremove test`

![](https://i.imgur.com/BpQoJev.png)

> Команда `lgremove` удаляет группу томов.

#### 5.4 Снятие меток LVM с дисков.

`sudo pvremove /dev/sdb /dev/sdc /dev/sdd`

> Команда `pvremove` снимает метки PV с томов.

![](https://i.imgur.com/FXxxf5T.png)

*P.s: не забыть очистить внесенные изменения в /etc/fstab*


