База знаний (цифровой суверенитет)
  • Как создать incus-контейнер в /home

    Заметки
    1 2 2

    A
    951
    0

    Самый чистый и рекомендуемый способ — создать отдельный 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.

  • A
    951
    0

    Storage pool на /home

    sudo mkdir -p /home/incus-pools
    sudo chmod 700 /home/incus-pools
    incus storage create big-home dir source=/home/incus-pools
    

    Запуск Debian 12 на этом пуле:

    incus launch images:debian/12 my-debian --storage big-home
    incus exec my-debian -- bash