Skip to content

Установка через virt-manager ​

virt-manager — графический интерфейс для управления виртуальными машинами через libvirt. Selenite запускается в нём из готового образа qcow2: образ подключается как диск машины, и система загружается сразу, без установки.

Скачивание ​

Образы публикуются для каждого релиза под именем selenite-cloud-<версия>-amd64.qcow2. Список версий — на странице релизов.

bash
VERSION=v0.1.0-beta.1
URL="https://altlinux.space/api/packages/alt-atomic/generic/selenite-release-assets/${VERSION}$/selenite-cloud-${VERSION}-amd64.qcow2"
wget "$URL"

Рядом с образом лежит файл .sha256 с контрольной суммой. Убедитесь, что она совпадает с суммой скачанного файла:

bash
curl -sSL "${URL}.sha256"
sha256sum "selenite-cloud-${VERSION}-amd64.qcow2"

Требования к машине ​

ПараметрЗначение
Архитектураx86_64
ПрошивкаBIOS (SeaBIOS)
ОЗУот 384 МБ, рекомендуется 1 ГБ
Дискот 5 ГБ, рекомендуется 20 ГБ
Диск и сетьVirtIO

Прошивка

Образ загружается только через BIOS. Если машина создана с UEFI, загрузка не начнётся.

Диск в образе — 5 ГБ. Этого хватит для загрузки, но образы контейнеров и тома приложений быстро займут остальное место, поэтому увеличьте диск перед первым запуском. Корневой раздел расширится до размера диска автоматически.

В образ входит qemu-guest-agent: если включить гостевой агент в настройках машины, платформа виртуализации покажет её IP-адрес и сможет корректно её выключить.

Подготовка диска ​

Машина записывает данные прямо в файл образа, поэтому для каждой машины используйте отдельную копию. Для системного подключения libvirt (qemu:///system) положите её в стандартный каталог /var/lib/libvirt/images и сразу увеличьте до нужного размера:

bash
sudo cp selenite-cloud-${VERSION}-amd64.qcow2 /var/lib/libvirt/images/selenite.qcow2
sudo qemu-img resize /var/lib/libvirt/images/selenite.qcow2 20G

Создание машины ​

  1. Выберите Файл → Создать виртуальную машину и убедитесь, что выбрано подключение QEMU/KVM.
  2. Отметьте Импорт образа диска и нажмите Вперёд.
  3. Укажите путь /var/lib/libvirt/images/selenite.qcow2. В поле операционной системы выберите Generic Linux 2022 или новее.
  4. Задайте объём памяти и число процессоров — например, 1024 МБ и 2 CPU.
  5. Введите имя машины, отметьте Проверить конфигурацию перед установкой и нажмите Готово.
  6. В окне настроек проверьте:
    • Обзор → Прошивка — BIOS, а не UEFI;
    • в настройках диска Шина диска — VirtIO;
    • в настройках сетевой карты Модель устройства — virtio.
  7. Нажмите Начать установку. Машина загрузится с образа.

Первый запуск ​

После загрузки в консоли машины открывается панель управления. Адрес машины показан на экране Summary (F1).

Адрес также можно узнать через гостевой агент:

bash
sudo virsh domifaddr selenite --source agent

На новой машине нет ни одного пользователя. В таком состоянии SSH-сервер Selenite работает в режиме первичной настройки: принимает подключение с любым ключом, но выполняет только команду provision.

Безопасность

Пока provision не выполнена, управление машиной может получить любой, у кого есть сетевой доступ к порту 23234. Выполните её сразу после первой загрузки и не открывайте порт наружу до этого момента.

Привязка SSH-ключа ​

bash
ssh -p 23234 192.168.122.10 provision

Selenite сохранит ключ, с которым вы подключились, и создаст пользователя provisioner со встроенной ролью root. После этого режим первичной настройки выключается: подключиться можно только с этим ключом, а повторный provision вернёт ошибку.

Если ключей несколько, укажите нужный через -i:

bash
ssh -p 23234 -i ~/.ssh/id_ed25519 192.168.122.10 provision

Проверьте, что доступ работает:

bash
ssh -p 23234 192.168.122.10 machine info

Пользователи и конфигурация ​

Пользователь provisioner нужен только для первого доступа. Постоянных пользователей, роли и остальные настройки опишите в конфигурации машины:

yaml
access:
  users:
    - name: alice
      roles: [root]
      keys:
        - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... alice@laptop
bash
ssh -p 23234 192.168.122.10 machine config apply < config.yml

WARNING

machine config apply заменяет конфигурацию целиком, включая список пользователей. Если в access.users не окажется вашего ключа, вы потеряете доступ к машине.

Чтобы не указывать адрес и порт в каждой команде, настройте алиас в ~/.ssh/config — см. Подключение к машине.