0
Моя корзина
Каталог
0
Моя корзина
Server360 / Полезное / LVM-thin и выделение диска в Proxmox

LVM-thin и выделение диска в Proxmox

Proxmox размещает диски виртуальных машин в lvm-thin в формате raw. Правильно ли я понимаю, что если размер диска 127 Гб, то он выделит ему сразу 127 гб? Или он займет только место под данные?

Нет, при использовании LVM-thin в Proxmox диск выделяется не полностью сразу, а только по мере записи данных. Это называется “thin provisioning”. Если у вас диск на 127 ГБ, то физически он займёт ровно столько места, сколько данных на него записано. Таким образом, если внутри виртуальной машины используется только 10 ГБ, то и на самом LVM-thin будет занято примерно 10 ГБ.

Однако, при увеличении объёма данных внутри виртуальной машины, используемое пространство на LVM-thin будет увеличиваться вплоть до установленного лимита — в данном случае, до 127 ГБ.

А если я с такого виртуального диска удаляю данные – то и фактический размер этого виртуального диска в lvm-thin будет уменьшаться?

Нет, к сожалению, при удалении данных с виртуального диска фактический размер в LVM-thin не уменьшается автоматически. LVM-thin не знает, что внутри виртуального диска данные были удалены, поскольку для него это просто блоки, которые были ранее записаны и не освобождены.

Чтобы освободить место после удаления данных, нужно выполнить операцию под названием “trim” или “discard”, которая сообщает LVM-thin, что определённые блоки больше не используются. Для этого можно выполнить следующие шаги:

  1. Внутри виртуальной машины: выполнить команду fstrim (если используется Linux) или запустить команду очистки свободного места (если используется Windows). Это освободит неиспользуемые блоки на уровне файловой системы виртуальной машины.
  2. На уровне Proxmox: Убедитесь, что discard поддерживается и включён для виртуальной машины. В Proxmox это можно сделать через опцию Discard в настройках диска VM или через команду в терминале: qm set <VMID> --scsi<N> discard=on
  3. Для уже выделенного места: Если trim или discard не уменьшает объём физически занятого пространства, можно попробовать оптимизировать образ вручную, например, пересоздав виртуальный диск с использованием утилит, таких как qemu-img convert. Однако это более трудоёмкий процесс и требует временной миграции данных.

Эти действия помогут вернуть неиспользуемое пространство LVM-thin, но сам процесс не является автоматическим и требует выполнения команд по мере необходимости.

Команда fstrim обычно используется с указанием точки монтирования, чтобы освободить неиспользуемое место на файловой системе. В случае с BusyBox, как в вашем случае, можно использовать основные параметры:

Основной пример использования

Для того чтобы освободить всё неиспользуемое пространство на определённой точке монтирования, достаточно использовать:

fstrim /mnt/point

где /mnt/point — это точка монтирования файловой системы, которую вы хотите обработать.

Параметры

  • -o OFFSET: задаёт смещение в байтах, откуда начать освобождение. Обычно не требуется указывать, если вы хотите освободить пространство по всей файловой системе.
  • -l LEN: указывает количество байтов, которые нужно освободить. Также обычно не требуется, если вы хотите освободить всё свободное пространство.
  • -m MIN: минимальная длина освобождаемых диапазонов, по умолчанию можно не указывать, если нет специфических требований.
  • -v: выводит количество освобождённых байтов. Полезно для проверки, сколько места было очищено.

Пример с параметрами

Если хотите освободить все неиспользуемое пространство и увидеть отчёт о количестве освобождённых байтов, можно использовать:

fstrim -v /mnt/point

Этот командный вариант обычно достаточно универсален для большинства случаев.

«
»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *