Skip to content

Перераспределение размеров томов Astra Linux

Эта инструкция применяется к системе, в которой /, /home и swap находятся в отдельных логических томах LVM, а корень и /home используют ext4. Свободное место из /home перераспределяется между корневым томом, swap и резервом группы томов.

Для работы нужна загрузочная флешка Astra Linux. Перед изменением размеров сохраните резервную копию важных данных.

Раздел или томНазначениеРазмер
/bootЗагрузочный раздел1 ГБ
/boot/efiEFI-раздел512 МБ; значение может отличаться вдвое
Группа томов astra…Всё оставшееся место дискаПо размеру диска
lv_rootКорневой раздел /150 ГБ
lv_swapПодкачка10 ГБ
VFreeСвободное место внутри группы томов65 ГБ
lv_homeРаздел /homeОставшееся место группы

VFree — свободное место группы, а не отдельный том. При расчёте размера /home оставьте эти 65 ГБ незанятыми. Разделы /boot и /boot/efi приведены для общей схемы; команды ниже изменяют тома LVM.

1. Проверьте /home и загрузитесь с флешки

Section titled “1. Проверьте /home и загрузитесь с флешки”

В установленной системе проверьте занятое и свободное место:

Terminal window
df -h

После уменьшения /home его новый размер должен вмещать имеющиеся данные. Если места недостаточно, удалите ненужные файлы. Если уменьшить /home невозможно, переустановите Astra Linux с разметкой по умолчанию и отдельным /home, затем вернитесь к этой инструкции.

  1. Подключите загрузочную флешку Astra Linux.
  2. В Boot menu BIOS выберите загрузку с флешки.
  3. Дождитесь запуска Live-среды и закройте окно пошаговой установки.
  4. Нажмите Alt+T, чтобы открыть терминал.

Рабочий стол Live-среды Astra Linux

Рисунок 1 — Live-среда после закрытия установщика.

Терминал в Live-среде

Рисунок 2 — терминал для работы с томами.

2. Определите группу и имена томов

Section titled “2. Определите группу и имена томов”

Активируйте группы LVM и выведите их параметры:

Terminal window
sudo vgchange -ay
sudo vgs
sudo lvs

В выводе vgs найдите имя группы, её размер VSize и свободное место VFree. В выводе lvs проверьте имена и размеры томов lv_home, lv_root и lv_swap.

На скриншотах группа называется astra90891. В командах ниже VG_NAME обозначает имя вашей группы: замените его перед выполнением команд.

Активация LVM и вывод vgs и lvs

Рисунок 3 — имя группы и текущие размеры томов.

3. Рассчитайте новый размер /home

Section titled “3. Рассчитайте новый размер /home”

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

Новый размер lv_home = VSize − 150 − 10 − 65

Используйте размеры в одних единицах. Новый /home должен вместить данные, проверенные в шаге 1. Если размер группы не позволяет разместить корень, swap, резерв и данные /home, не переходите к уменьшению.

Например, при текущем корне 40 ГБ и swap 1 ГБ на их увеличение требуется 119 ГБ. К этому добавляется резерв 65 ГБ, из которого вычитается уже имеющийся VFree. Если свободного места в группе нет, из /home нужно высвободить 184 ГБ, а не только 119 ГБ.

В примере на виртуальной машине /home уменьшается с 30,53 ГБ до 25G, а корень увеличивается до 45G. Эти значения показывают порядок операций; на объекте используйте расчёт для итоговой схемы выше.

В командах уменьшения NEW_HOME_SIZE обозначает новый полный размер /home, например 25G, а не объём, который нужно убрать. Подставьте рассчитанное значение в обе команды — resize2fs и lvreduce.

4. Отключите swap и отмонтируйте тома

Section titled “4. Отключите swap и отмонтируйте тома”
Terminal window
sudo swapoff -a
sudo umount /dev/mapper/VG_NAME-lv_home
sudo umount /dev/mapper/VG_NAME-lv_root

Сообщение «не примонтирован» означает, что том уже не подключён. Если отмонтирование не удалось по другой причине, устраните её до изменения размера. Том /home должен быть отмонтирован при уменьшении файловой системы.

Отключение swap и отмонтирование томов

Рисунок 4 — подготовка томов к изменению размеров.

Сначала проверьте файловую систему:

Terminal window
sudo e2fsck -f /dev/mapper/VG_NAME-lv_home

Если программа предложит исправить найденные ошибки, подтвердите исправление символом y. Продолжайте после завершения проверки и исправления ошибок.

Проверка файловой системы home

Рисунок 5 — проверка /home перед уменьшением.

Уменьшите файловую систему до рассчитанного размера:

Terminal window
sudo resize2fs /dev/mapper/VG_NAME-lv_home NEW_HOME_SIZE

Уменьшение файловой системы home до 25G в примере

Рисунок 6 — уменьшение файловой системы до нового полного размера.

Только после успешного выполнения resize2fs уменьшите сам логический том до того же размера:

Terminal window
sudo lvreduce -L NEW_HOME_SIZE /dev/mapper/VG_NAME-lv_home

Подтвердите изменение символом y. Порядок важен: сначала уменьшается файловая система, затем том, на котором она находится.

Уменьшение логического тома home

Рисунок 7 — уменьшение тома после уменьшения файловой системы.

6. Увеличьте корневой том

Section titled “6. Увеличьте корневой том”

Задайте корневому тому полный размер 150G:

Terminal window
sudo lvextend -L 150G /dev/mapper/VG_NAME-lv_root

На скриншоте показан демонстрационный размер 45G.

Увеличение корневого тома до 45G в примере

Рисунок 8 — увеличение логического тома корня.

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

Terminal window
sudo e2fsck -f /dev/mapper/VG_NAME-lv_root

После успешной проверки и исправления ошибок расширьте файловую систему на весь размер тома:

Terminal window
sudo resize2fs /dev/mapper/VG_NAME-lv_root

Здесь размер не указывается: файловая система занимает увеличенный том целиком.

Проверка и расширение файловой системы корня

Рисунок 9 — расширение файловой системы после увеличения тома.

Swap уже отключён в шаге 4. Удалите старый том, создайте новый размером 10G и подготовьте его для подкачки:

Terminal window
sudo lvremove /dev/mapper/VG_NAME-lv_swap
sudo lvcreate -L 10G -n lv_swap VG_NAME
sudo mkswap /dev/mapper/VG_NAME-lv_swap

При запросе удаления подтвердите выбор символом y. После mkswap скопируйте новый UUID — он понадобится для fstab.

Пересоздание swap и получение нового UUID

Рисунок 10 — новый том подкачки и его UUID.

8. Обновите fstab установленной системы

Section titled “8. Обновите fstab установленной системы”

Подключите корневой том в /mnt и откройте файл установленной системы:

Terminal window
sudo mount /dev/mapper/VG_NAME-lv_root /mnt
sudo nano /mnt/etc/fstab

Исходная запись swap в fstab

Рисунок 11 — запись swap до замены UUID.

Найдите строку swap. Если устройство указано через UUID=, замените только UUID этой строки на значение, полученное после mkswap. Остальные параметры строки и записи других разделов оставьте без изменений.

UUID c52ca8ae-d7ca-41cd-a99d-683fb8fabf82 на скриншоте относится к примеру. Используйте UUID своего нового swap.

Обновлённый UUID swap в fstab

Рисунок 12 — запись swap после замены UUID.

Если в строке уже указан путь /dev/mapper/VG_NAME-lv_swap, а не UUID, и том пересоздан под тем же именем в той же группе, менять эту запись не нужно.

Сохраните файл: Ctrl+O → Enter → Ctrl+X.

9. Проверьте размеры и загрузите установленную систему

Section titled “9. Проверьте размеры и загрузите установленную систему”

Отмонтируйте корень и проверьте тома и свободное место группы:

Terminal window
sudo umount /mnt
sudo lvs
sudo vgs

В lvs проверьте размеры lv_root, lv_swap и lv_home. В vgs проверьте, что VFree составляет 65 ГБ. Этот резерв не должен быть выделен отдельному тому.

Проверка размеров томов после перераспределения

Рисунок 13 — проверка томов в демонстрационном примере.

Перезагрузите машину и извлеките загрузочную флешку. После входа в установленную Astra Linux выполните:

Terminal window
df -h
free -h
sudo swapon --show

Проверьте, что корень и /home подключены, swap активен и ошибки не появились. Размеры логических томов проверяйте по lvs, а свободное место группы — по vgs.

Проверка файловых систем и swap в установленной системе

Рисунок 14 — итоговая проверка после загрузки.

К разделу Astra Linux