Изменение директории с данными для LXC, Vagrant¶
Системы контейнеризации Docker и LXC являются основой для работы Optimacros.
Для более безопасного использования Optimacros, советуем их директории выносить из раздела root (/)
LXC¶
По умолчанию директория для LXC /var/lib/lxc
В данной директории хранятся все контейнеры
Для изменения этой директории есть разные варианты, больше информации можно получить в интернете, мы взяли по нашему мнению наиболее правильное решение
Наш вариант проверен на Ubuntu 18.04 и ALT Server 9
! Останавливаем все запущенные контейнеры
Если у вас работают WS контейнеры, то останавливать их нужно командой `./install workspace --path /путь/к/манифесту/воркспейса/manifest.json shutdown` из папки с вашим инсталлятором воркспейса
Останавливаем сервис
Переносим директорию
Временно архивируем оригинальную директорию
Редактируем файл с конфигурацией, он может отсутствовать, тогда создаем его
Добавляем параметр с новой директорией
Запускаем сервис
! Для Ubuntu возможно необходима дополнительная настройка (см. ниже)
Запускаем нужные существующие контейнеры, если все нормально, можно удалить архивную папку
Ubuntu¶
При изменении директории LXC возможна ошибка из-за приложения AppArmor
AppArmor - это реализация Модуля безопасности линукс по управлению доступом на основе имен. AppArmor ограничивает отдельные программы набором перечисленных файлов и возможностями в соответствии с правилами Posix 1003.1e.
AppArmor сервис может быть не установлен, но LXC будет продолжать ругаться и есть 2 варианта:
1. Установить сервис AppArmor при его отсутствии и отредактировать профиль безопасности (Рекомендуем этот способ)¶
Отредактируем профиль LXC
Находим строчку mount -> /var/lib/lxc/{**,}, и меняем ее на нужную нам mount -> /opt1/lxc/{**,},
Проверим наличие apparmor утилит
Если результат пустой, то нужно установить пакет apparmor
После установки, можно проверить текущий статус apparmor
Скорее всего все показатели будут нулями, так как после установки сервис apparmor не запущен
Запускаем сервис
Добавляем его в автозагрузку
Проверяем статус
Должна появится информация о загруженных профилях, среди которых есть профили LXC
Если AppArmor был ранее установлен и работал, то после изменений профиля, нужно просто его перезагрузить
2. Добавить в настройки LXC отключение AppArmor¶
Мы не рекомендуем этот способ, так как он приводит к отключению штатных механизмов безопасности
Данный способ может не сработать при наличии сервиса apparmor
Редактируем файл с конфигурацией LXC
Добавляем в конец файла строчку
Сохраняем файл и проверяем работу LXC
Vagrant¶
Установка Optimacros производится под привилегиями пользователя root
В домашнем каталоге пользователя root, Vagrant создает директорию /root/.vagrant.d
В данной директории Vagrant хранит образы LXC контейнеров воркспейса
Образ LXC контейнера воркспейса имеет размер ~2.5 ГБ
Рекомендуем делать перенос директории .vagrant.d из root раздела на диске в раздел для Optimacros
Для переноса выполните команду
Далее нужно выполнить команду по изменению переменной окружения
После выполнения данной команды, инсталлятор Optimacros воркспейса будет взаимодействовать с каталогом по новому пути, но данная настройка при входе в новую сессию терминала linux будет сброшена.
Для сохранения настройки переменной окружения на постоянной основе, добавьте ее без изменений в специальный файл /etc/profile в конец с новой строки, сделав дополнительную пустую строку. Сохранив изменения создайте новую сессию работу с linux терминалом и проверьте командой
Команда должна показывать в качестве результата значение вашего пути, например /another/disk/partition/.vagrant.d