> For the complete documentation index, see [llms.txt](https://utm-1.gitbook.io/utm-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://utm-1.gitbook.io/utm-docs/dokumentaciya/utm-it/programmnoe-obespechenie/virtualnye-servera/nastroiki/izmenenie-razmera-diska-u-virtualnoi-mashiny.md).

# Изменение размера диска у виртуальной машины

## Инструкция

### Увеличение размера виртуального диска

* Остановить виртуальную машину
* Сделать резервную копию виртуальной машины
* Для виртуальной машины - Settings - Hard disk - Expand Disk
  * Если будет ошибка про наличие снапшотов
    * Нужно удалить все снапшоты в менеджере снапшотов
    * Если ошибка осталась, то удалить файлы в папке виртуальной машины \*snapshot\* и \*.vmsd
    * Если ошибка осталась, то сделать новый снапшот и удалить его
* Указать новый размер диска и нажать Expand

{% hint style="warning" %}
ВАЖНО!

Данная операция  увеличивает только размер виртуального диска. Размеры разделов и файловых систем не изменяются.
{% endhint %}

### Увеличение размера диска в файловой системе виртуальной машины

#### Статьи:

Расширение диска или раздела Linux: [www.dmosk.ru](https://www.dmosk.ru/miniinstruktions.php?mini=expand-linux-disk)

Добавление дискового пространства виртуальной машине в VMware: [www.dmosk.ru](https://www.dmosk.ru/miniinstruktions.php?mini=vmware-add-disksize)

Как расширить корневое хранилище сервера Ubuntu?: [superuser.com](https://superuser.com/questions/1810230/how-to-expand-ubuntu-server-root-storage)

Увеличить размер раздела диска в Ubuntu: [winitpro.ru](https://winitpro.ru/index.php/2023/02/21/uvelichit-razdel-diska-ubuntu/)

Как работать с LVM: [www.dmosk.ru](https://www.dmosk.ru/instruktions.php?object=lvm#resizeup)

#### Выполнить

Посмотреть разделы

```bash
lsblk
```

Должен быть приблизительно следующий вывод команды

```bash
sda                         8:0    0   100G  0 disk
├─sda1                      8:1    0     1M  0 part
├─sda2                      8:2    0   1.8G  0 part /boot
└─sda3                      8:3    0  18.2G  0 part
  └─ubuntu--vg-ubuntu--lv 252:0    0    10G  0 lvm  /var/lib/containers/storage/overlay
```

Исходный размер виртуального диска был 20G. Увеличили до 100G. Но sda3 остался 18.2G.

Тут видно что sda3 это обычный том part, не lvm.

Установить пакет **growpart**&#x20;

```bash
sudo su
apt update
apt install cloud-guest-utils
```

**Выполнить расширение раздела /dev/sda3**

```bash
growpart /dev/sda 3
```

Вывод команды

```
CHANGED: partition=3 start=3719168 old: size=38221824 end=41940991 new: size=205995999 end=209715166
```

**Проверка**

```bash
lsblk

lsblk -f
```

Теперь

```
sda                         8:0    0   100G  0 disk
├─sda1                      8:1    0     1M  0 part
├─sda2                      8:2    0   1.8G  0 part /boot
└─sda3                      8:3    0  98.2G  0 part
  └─ubuntu--vg-ubuntu--lv 252:0    0    10G  0 lvm  /var/lib/containers/storage/overlay

```

Видно что sda3 стал 98.2G

<mark style="color:$warning;">Но логический раздел lvm пока остался 10G</mark>

<details>

<summary>Не делать</summary>

#### Изменение размера для файловой системы <a href="#fs" id="fs"></a>

{% hint style="warning" %}
Нужно ли это выполнять - пока не ясно.

Текущая команда выдала ошибку:

* Для ext2/ext3/ext4:
  * resize2fs: Device or resource busy while trying to open /dev/sda3
  * Couldn't find valid filesystem superblock.
* Для XFS:
  * xfs\_growfs: /dev/sda3 is not a mounted XFS filesystem
    {% endhint %}

Посмотреть файловую систему:

```bash
df -T
```

ext2/ext3/ext4:

```bash
resize2fs /dev/sda3
```

XFS:

```bash
xfs_growfs /dev/sda3
```

Проверяем, что настройки применились:

```bash
df -h
```

</details>

{% hint style="info" %}
**Расширение раздела диска /sda/sda3/ubuntu--vg-ubuntu--lv в Ubuntu** включает работу с физическим разделом (PV) и логическим разделом (LV) в рамках LVM.&#x20;

{% endhint %}

Перед расширением необходимо проверить свободное место в группе томов LVM с помощью команды&#x20;

```bash
sudo vgdisplay
```

Вывод команды

```
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               98.22 GiB
  PE Size               4.00 MiB
  Total PE              25145
  Alloc PE / Size       2560 / 10.00 GiB
  Free  PE / Size       22585 / 88.22 GiB
  VG UUID               IETqns-dJqK-kP50-PfGj-Xv0b-u3Zi-w8wSjL

```

Видно что используется 10 GiB, а свободно 88.22 GiB.

**Расширение физического раздела (PV)**

После расширения раздела /sda3 нужно увеличить PV, чтобы система распознала увеличенное пространство. Для этого используется команда&#x20;

```bash
sudo pvresize /dev/sda3
```

**Расширение логического раздела (LV)**

После расширения PV можно увеличить LV (/dev/ubuntu-vg/ubuntu-lv). Для этого используется команда&#x20;

```bash
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
```

Эта команда расширяет LV на 100% доступного свободного пространства в группе томов.&#x20;

**После расширения** необходимо изменить размер файловой системы, составляющей логический том. Для этого используется команда&#x20;

```bash
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
```

**Проверка**

```bash
lsblk

lsblk -f
```

Теперь

```
sda                         8:0    0   100G  0 disk
├─sda1                      8:1    0     1M  0 part
├─sda2                      8:2    0   1.8G  0 part /boot
└─sda3                      8:3    0  98.2G  0 part
  └─ubuntu--vg-ubuntu--lv 252:0    0  98.2G  0 lvm  /var/lib/containers/storage/overlay
```

Видно что sda3 стал 98.2G

<mark style="color:$success;">И логический раздел lvm стал 98.2G</mark>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://utm-1.gitbook.io/utm-docs/dokumentaciya/utm-it/programmnoe-obespechenie/virtualnye-servera/nastroiki/izmenenie-razmera-diska-u-virtualnoi-mashiny.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
