Группа выдаёт место кусками одного размера. От них зависит, сколько запаса уйдёт на рост тома.
Устройство, отданное группе, — физический том (PV), здесь /dev/loop0. LVM режет его на экстенты — куски одного размера, в учебной группе по 4 MiB. Том получает целое число экстентов: data на 128 MiB — это 32 экстента, рост до 256 MiB потребует ещё 32.
Том увеличивает lvextend. Размер -L задают двумя способами:
| Запись | Итог для тома на 128 MiB |
|---|---|
-L 256M — конечный размер |
256 MiB |
-L +256M — добавить к текущему |
384 MiB |
Конечный размер безопаснее. Повтор той же команды ничего не изменит: lvextend напечатает New size (64 extents) matches existing size. Повтор +256M добавит ещё столько же. M в размерах LVM — мебибайты.
Весь запас группы одному тому отдавать не обязательно: он пригодится соседнему тому или снимку, о снимках — следующий урок. Если запаса не хватает, lvextend откажет с Insufficient free space.
Том data — 128 MiB, в группе свободно 220 MiB. Ты дважды подряд запустил sudo lvextend -L 192M /dev/lab_vg/data. Что покажет sudo lvs?
-
Без плюса
-Lзадаёт конечный размер. На втором запускеlvextendнапечатаетNew size (48 extents) matches existing size: том уже такой. -
Добавляет
-L +96M, с плюсом.-L 192Mдоводит том до 192 MiB и на повторе его не меняет. -
Весь запас забирает
-l +100%FREE.-L 192Mберёт ровно столько экстентов, сколько нужно до 192 MiB, — 16.
-L без плюса задаёт конечный размер: первый запуск добавил тому 16 экстентов, второй сообщил, что размер не изменился. Проверь итог: sudo lvs lab_vg.
Главное в шаге
- Группа выдаёт место томам экстентами — в учебной группе по 4 MiB.
-
-L 256Mзадаёт конечный размер, и повтор безопасен;-L +256Mдобавляет при каждом запуске.