Skip to content

Установка в Proxmox VE ​

В Proxmox VE Selenite разворачивается из готового образа qcow2: образ импортируется как диск новой виртуальной машины, и система загружается сразу, без установки. Все команды ниже выполняются в shell узла Proxmox — через SSH или Узел → Shell в веб-интерфейсе.

Скачивание ​

Скачайте образ прямо на узел Proxmox, например в /var/tmp:

bash
cd /var/tmp

Образы публикуются для каждого релиза под именем 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-адрес и сможет корректно её выключить.

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

Создайте машину и импортируйте образ как её диск:

bash
qm create 100 \
  --name selenite \
  --ostype l26 \
  --bios seabios \
  --cpu host \
  --cores 2 \
  --memory 1024 \
  --scsihw virtio-scsi-single \
  --scsi0 "local-lvm:0,import-from=/var/tmp/selenite-cloud-${VERSION}-amd64.qcow2,discard=on,iothread=1" \
  --boot order=scsi0 \
  --net0 virtio,bridge=vmbr0 \
  --agent enabled=1

Подставьте свои значения:

  • 100 — свободный ID виртуальной машины;
  • local-lvm — хранилище, куда будет записан диск;
  • vmbr0 — сетевой мост.

Увеличьте диск и запустите машину:

bash
qm disk resize 100 scsi0 20G
qm start 100

После импорта файл образа больше не нужен:

bash
rm /var/tmp/selenite-cloud-${VERSION}-amd64.qcow2

Шаблон для нескольких машин ​

Если машин будет несколько, превратите машину в шаблон и клонируйте её. Сделайте это до первого запуска, иначе все клоны унаследуют SSH-ключ, привязанный командой provision:

bash
qm template 100
qm clone 100 101 --name selenite-01 --full

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

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

Proxmox также показывает адрес через гостевой агент: Виртуальная машина → Сводка → IP-адреса.

На новой машине нет ни одного пользователя. В таком состоянии 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 — см. Подключение к машине.