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