2023-03-08 15:12:15 +00:00
---
title: "Linux: Как расширить логический том LVM"
2023-04-23 14:56:27 +00:00
category: linux-lifehacks
filename: how-to-extend-lvm-volume-on-linux
date: 2022-05-15
2023-03-08 15:12:15 +00:00
---
2023-05-16 10:49:25 +00:00
В этой статье описывается, как расширить группу LVM и том в операционной системе Linux.
<!-- more -->
2023-03-08 15:12:15 +00:00
### Ситуация 1: новый диск
#### Первый шаг: создание физического тома
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
После того, как вы присоединили диск к физическому серверу или к виртуальной машине, вам нужно набрать команду:
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
```bash
sudo fdisk -l
```
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
Это нужно, чтобы убедиться, что диск распознан операционной системой, а также чтобы идентифицировать имя диска. Вывод команды будет примерно такой:
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
```plaintext
Disk /dev/vdc: 5 GiB, 5368709120 bytes, 10485760 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
```
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
После того, как вы идентифицировали имя диска (в нашем случае это `/dev/vdc` ), вы можете создать физический том с помощью команды:
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
```bash
sudo pvcreate /dev/vdc
```
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
Вы увидите такой вывод:
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
```plaintext
kostya@ubuntu-21-04:~$ sudo pvcreate /dev/vdc
Physical volume "/dev/vdc" successfully created.
kostya@ubuntu-21-04:~$
```
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
#### Второй шаг: расширение группы томов
2023-04-23 21:06:03 +00:00
Чтобы увидеть список доступных групп томов, воспользуйтесь командой:
```shell
vgdisplay
```
2023-03-08 15:12:15 +00:00
Теперь можно расширить группу томов. Делается это такой командой:
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
```bash
sudo vgextend {vg-name} {pv-name}
```
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
В нашем случае это будет:
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
```bash
sudo vgextend vg-example /dev/vdc
```
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
Вы увидите такой вывод:
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
```plaintext
kostya@ubuntu-21-04:~$ sudo vgextend vg-example /dev/vdc
Physical volume "/dev/vdc" successfully created.
Volume group "vg-example" successfully extended
kostya@ubuntu-21-04:~$
```
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
#### Третий шаг: расширение логического тома
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
Расширение логического тома делается такой командой:
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
```bash
sudo lvextend --size +{size} {vg-name/lv-name}
```
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
В нашем случае это будет:
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
```bash
sudo lvextend --size +2G vg-example/lv-example
```
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
Вы увидите такой вывод:
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
```plaintext
kostya@ubuntu-21-04:~$ sudo lvextend --size +2G vg-example/lv-example
Size of logical volume vg-example/lv-example changed from 5.00 GiB (1280 extents) to 7.00 GiB (1792 extents).
Logical volume vg-example/lv-example successfully resized.
kostya@ubuntu-21-04:~$
```
2023-04-23 21:06:03 +00:00
Если же вы хотите, чтобы логический том использовал всё свободное место в группе томов, то наберите
2023-03-08 15:12:15 +00:00
команду:
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
```bash
sudo lvextend --extents +100%FREE vg-example/lv-example
```
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
#### Четвёртый шаг: расширение файловой системы
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
Если у вас файловая система `xfs` , то расширение делается такой командой:
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
```bash
sudo xfs_growfs /dev/{vg-name}/{lv-name}
```
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
В нашем случае это будет:
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
```bash
sudo xfs_growfs /dev/vg-example/lv-example
```
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
В случае с файловой системой ext4 замените команду `xfs_growfs` на `resize2fs`
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
### Ситуация 2: если изменился размер существующего диска
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
Иногда может измениться размер существующего диска, например, в случае с виртуальной машиной. В таком случае, первый шаг будет отличаться, второй шаг выполняться не будет, а остальные шаги будут такими же, как в ситуации с новым диском, описанной выше. Н а первом шаге нужно будет не создать физический том, а расширить существующий. Делается это такой командой:
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
```bash
sudo pvresize /dev/DISKNAME
```
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
Например,
2023-04-23 21:06:03 +00:00
2023-03-08 15:12:15 +00:00
```bash
sudo pvresize /dev/vdc
```