Самый чистый и рекомендуемый способ — создать отдельный storage pool типа dir прямо на нужном разделе/диске (например, в /home/incus-pools).
Вариант 1: Создать новый storage pool на /home (рекомендую)
# Создаём директорию (лучше с понятным именем)
sudo mkdir -p /home/incus-pools
# Даём права incus (обычно пользователь incus:incus или root:root — зависит от установки)
sudo chown -R root:root /home/incus-pools
sudo chmod 700 /home/incus-pools # или 755, если хотите
# Создаём pool типа dir, указывая source
incus storage create big-home dir source=/home/incus-pools
Проверьте, что получилось:
incus storage list
incus storage show big-home
Теперь можно запускать контейнеры (и VM) именно на этот pool:
# Debian 12 на новом пуле
incus launch images:debian/12 debian-big --storage big-home
# Или указать пул при создании профиля/по умолчанию
incus profile device set default root pool=big-home
После этого все новые инстансы по умолчанию будут использовать big-home, если не указать другой пул.
Вариант 2: Если хотите, чтобы дефолтный пул остался, а только отдельные контейнеры жили в /home
Просто указывайте --storage при запуске:
incus launch images:debian/12 my-debian --storage big-home
Или создайте отдельный профиль:
incus profile create big-disk
incus profile device set big-disk root pool=big-home
incus launch images:debian/12 my-debian -p default -p big-disk
Важные нюансы при использовании dir на /home
- Производительность — dir самый медленный из бэкендов (нет снапшотов, нет мгновенных копий, rsync при миграциях/экспорте).
Если есть возможность — лучше поставить btrfs или zfs на этот большой диск и создать pool на нём. - Права доступа — Incus требует, чтобы директория source была доступна (обычно chown root:root + chmod 700/755).
- Монтирование — если /home смонтирован с опцией
noexec/nodev— снимите их, иначе проблемы. - Если уже есть дефолтный пул — ничего страшного, можно иметь много пулов одновременно.
Быстрый тест
incus storage create test-dir dir source=/home/incus-test
incus launch images:alpine/edge test-cont --storage test-dir
incus exec test-cont -- df -h /
Если всё в порядке — увидите, что корень контейнера занимает место на /home.