Предложение: уменьшение ubuntu-lv до 350 GB и использование освободившегося места для предотвращения аварийных ситуаций

Дата: 2026-02-10
Проект: DENKART
Статус: Предложение на согласование
Технический директор: AI Denkart


1. Цель

  • Уменьшить размер тома резервной системы ubuntu-lv с 537 GB до 350 GB (оставить достаточный объём для резервной загрузки).
  • Освободившиеся ~187 GB передать в том storage-lv (раздел /storage) и использовать их в том числе как резерв для предотвращения аварийных ситуаций (переполнение /storage, отказ сервисов из-за нехватки места).
  • Зафиксировать оптимизированную архитектуру с учётом изменений и учёта опыта прошлых инцидентов.

2. Учёт опыта аварийных ситуаций

2.1 Зафиксированные инциденты

Дата / период Суть Причина Документ
1 До 2026-01-16 Невозможность загрузки ОС из-за переполнения диска Переполнение корневого раздела CRITICAL-DISK-PROTECTION-SOLUTION.md, disk-space-protection.md — «второй инцидент такого рода»
2 2026-02-10 Отказ загрузки: «No space left on device», rsyslog не может писать в /var/log/syslog Корневой раздел заполнен к моменту перезагрузки; система загрузилась при уже полном диске boot-log-deep-analysis-2026-02-10.md

2.2 Выводы из логов и разборов

  • Причина отказов — переполнение разделов (сначала корень, в перспективе риск и для /storage по данным Cockpit).
  • Корень: критично обеспечить минимум 2 GB свободного места для загрузки ОС; резерв блоков ext4 (tune2fs -m 2), лимиты journal и ротация логов бэкапов обязательны (BOOT-FAILURE-PREVENTION-PLAN.md).
  • Загрузка при уже заполненном диске: устранена введением очистки при загрузке (disk-space-boot-cleanup.service) и проактивного мониторинга (boot-log-deep-analysis-2026-02-10.md, раздел 6).
  • Раздел /storage: по текущему анализу (server-disk-architecture-and-optimization-2026-02-10.md) свободно ~76–100 GB при объёме 420 GB; Cockpit показывает предупреждение. Рост Docker, LXD, логов и записей BBB может в будущем привести к аварийной нехватке места на /storage.

Учёт в данном предложении: расширение /storage за счёт освобождённого из ubuntu-lv места и введение явного резерва свободного места на /storage снижают риск повторения сценария «переполнение раздела → отказ сервисов/загрузки» для этого раздела.


3. Предложение по изменению разметки

3.1 Текущее состояние (LVM на sdc3, ubuntu-vg)

Логический том Размер Монтирование Назначение
storage-lv 420 GB /storage LXD, Docker, данные сервисов
ubuntu-lv 537 GB не смонтирован Резервная загрузочная система

3.2 Целевое состояние

Логический том Размер Монтирование Назначение
storage-lv ~607 GB /storage LXD, Docker, данные сервисов + резерв для предотвращения аварий
ubuntu-lv 350 GB не смонтирован Резервная загрузочная система (уменьшенный объём)
  • Уменьшение ubuntu-lv: 537 − 350 = 187 GB освобождается в VG.
  • Расширение storage-lv: +187 GB; файловая система ext4 на /storage расширяется соответственно.
  • Резервная система остаётся на ubuntu-lv (350 GB достаточно для старой/резервной ОС и восстановления).

3.3 Использование освободившегося места для предотвращения аварий

  • Объём: ~187 GB добавляются к /storage (итого ~607 GB).
  • Политика резерва и пороги мониторинга (скорректированы):
  • Аварийный резерв: не менее 80 GB свободного места на /storage не планировать под постоянное использование.
  • Пороги в disk-space-monitor.sh (и в disk-space-protection.md):
    • WARNING: свободно < 80 GB или < 15%;
    • CRITICAL: свободно < 50 GB или < 10%;
    • EMERGENCY: свободно < 20 GB или < 5%.
  • Раздел /storage добавлен в проверки мониторинга; при срабатывании порогов выполняется профилактическая/агрессивная/аварийная очистка и алерт.
  • Это согласуется с disk-space-protection.md и BOOT-FAILURE-PREVENTION-PLAN.md. Чек-лист выполнения изменений и проверки порогов: CHECKLIST-LVM-UBUNTU-LV-REDUCE-AND-RESERVE.md.

4. Оптимизированная архитектура с учётом изменений

4.1 Дисковая разметка после выполнения предложения

sda (1 TB HDD)     → /D           ~500 GB свободно (данные, бэкапы)
sdb (256 GB SSD)  → /, /boot/efi ~140 GB свободно на / (система)
sdc3 (LVM, 1 TB SSD):
  ubuntu-vg
  ├─ storage-lv   ~607 GB  → /storage  (было 420 GB; +187 GB, из них ≥80 GB — аварийный резерв)
  └─ ubuntu-lv    350 GB   (не смонтирован; резервная система, было 537 GB)

4.2 Связь с мерами по инцидентам

Мера Раздел Назначение
Резерв 2 GB на корне, tune2fs, journal limits, logrotate бэкапов / Исключение повторения отказов загрузки (инцидент 2026-02-10)
disk-space-boot-cleanup.service / Загрузка при уже заполненном диске
disk-space-monitor.timer, пороги, аварийная очистка /, /storage, /D Проактивное предупреждение и очистка
Расширение /storage на ~187 GB и резерв ≥80 GB /storage Снижение риска переполнения /storage и аварий, связанных с нехваткой места

5. Порядок выполнения (пошагово)

Обязательно перед началом: выполнить полное сохранение состояния и убедиться, что есть резервные копии критичных данных (в т.ч. с LXD и при необходимости образы/важные файлы с хоста).

5.1 Подготовка

  1. Сохранение состояния:
    bash cd /home/cdto/DENKART/scripts ./save-state-before-migration.sh pre-lvm-ubuntu-lv-reduce-350
  2. Проверить, что ubuntu-lv не смонтирован и не используется:
    bash mount | grep ubuntu-lv lsblk sudo lvs
  3. Проверить свободное место на /storage и целостность ФС:
    bash df -h /storage sudo e2fsck -n /dev/ubuntu-vg/storage-lv

5.2 Уменьшение ubuntu-lv (освобождение 187 GB)

Резервная система на ubuntu-lv может занимать только часть тома. Уменьшать логический том можно только после уменьшения файловой системы до размера не больше целевого (350 GB). Порядок: сначала уменьшить ФС, затем LV.

  1. При необходимости — смонтировать ubuntu-lv временно и проверить занятость:
    bash sudo mkdir -p /mnt/ubuntu-lv-check sudo mount /dev/ubuntu-vg/ubuntu-lv /mnt/ubuntu-lv-check df -h /mnt/ubuntu-lv-check du -sh /mnt/ubuntu-lv-check/* sudo umount /mnt/ubuntu-lv-check
    Убедиться, что занято меньше 350 GB; иначе уменьшение до 350 GB невозможно без потери данных резервной системы.

  2. Проверить целостность ФС на ubuntu-lv (обязательно перед уменьшением):
    bash sudo e2fsck -f /dev/ubuntu-vg/ubuntu-lv

  3. Уменьшить файловую систему на ubuntu-lv до размера, укладывающегося в 350 GB (например 340G — с запасом):
    bash sudo resize2fs /dev/ubuntu-vg/ubuntu-lv 340G

  4. Уменьшить логический том ubuntu-lv до 350 GB:
    bash sudo lvreduce -L 350G /dev/ubuntu-vg/ubuntu-lv

5.3 Расширение storage-lv и файловой системы /storage

  1. Расширить логический том storage-lv на освободившийся объём:
    bash sudo lvextend -l +100%FREE /dev/ubuntu-vg/storage-lv
    (Или явно: sudo lvextend -L +187G /dev/ubuntu-vg/storage-lv — при необходимости скорректировать по выводу vgdisplay.)

  2. Расширить файловую систему ext4 на /storage:
    bash sudo resize2fs /dev/ubuntu-vg/storage-lv

  3. Проверить результат:
    bash df -h /storage sudo lvs

5.4 После изменений

  1. Обновить документацию: host-server-passport.md, requirements.md, disk-optimization-and-backup-policy.md — указать новые размеры storage-lv (≈607 GB), ubuntu-lv (350 GB) и политику резерва на /storage (≥80 GB).
  2. Убедиться, что в мониторинге учтён раздел /storage и пороги 80/50/20 GB (скрипт disk-space-monitor.sh обновлён; при необходимости обновить копию на хосте: sudo cp .../scripts/disk-space-monitor.sh /usr/local/bin/).
  3. Выполнить пункты чек-листа по резерву и мониторингу: CHECKLIST-LVM-UBUNTU-LV-REDUCE-AND-RESERVE.md.

6. Риски и откат

  • Риск: ошибочное уменьшение ubuntu-lv меньше фактического использования ФС приведёт к потере данных на резервной системе. Снижение: проверить занятость (шаг 4) и уменьшать ФС перед уменьшением тома.
  • Откат: после lvreduce ubuntu-lv вернуть размер обратно без потери данных нельзя (данные за границей нового размера будут утрачены). Поэтому обязательны сохранение состояния (шаг 1) и понимание, что на ubuntu-lv хранится только резервная система.
  • Изменения выполняются на хосте с правами root; рекомендуется проводить в период минимальной нагрузки и при возможности иметь консольный доступ.

7. Связанные документы


После согласования предложения с CDTO Dkvark выполнение — по шагам раздела 5 с обязательным сохранением состояния перед изменениями LVM.

AI Denkart, технический директор