VDI/Ravada

Материал из ALT Linux Wiki
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


Ravada — проект со своей системой управления виртуальными машинами (ВМ), с минимумом функций, доступом пользователей к ВМ через веб-интерфейс.

Особенности:

  • KVM-бэкенд для Windows и Linux ВМ;
  • режим киоска;
  • удаленный доступ по протоколу Spice;
  • быстрое клонирование ВМ для каждого пользователя;
  • настраиваемый интерфейс конечных пользователей;
  • администрирование из веб-браузера.

Установка

Сервер

Установить пакет ravada, который установит всё необходимое:

# apt-get install ravada

Установить сервер MySQL/MariaDB:

# apt-get install mariadb-server

Включить по умолчанию и запустить службу mysqld:

# systemctl enable --now mysqld

Задать пароль MySQL пользователя root и настройки безопасности:

# mysql_secure_installation

Подключиться к серверу MySQL:

$ mysql -u root -p
Enter password:

и создать пользователя ravada и базу данных ravada (пароль необходимо запомнить):

 
MariaDB [(none)]> create database ravada character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on ravada.* to 'rvd_user'@'localhost' identified by 'Pword12345*';
MariaDB [(none)]> quit;

Внести изменения в конфигурационный файл /etc/ravada.conf (следует указать имя пользователя и пароль, указанные на предыдущем шаге).

Включить по умолчанию и запустить службу libvirtd:

# systemctl enable --now libvirtd

Создать веб-пользователя Ravada (на запрос пароля, необходимо указать пароль создаваемого пользователя, на следующий запрос — подтвердить, что пользователь является администратором):

# rvd_back --add-user admin
Installing .....................------------------------WARNING: No storage pools creating default
INFO: Activating KVM network default
++++++++++++++++++++++++++++++++++++++
admin password: admin
is admin ? : [y/n] y
Примечание: При первом запуске rvd_back будет инициализирована база данных.


У Ravada есть две службы, которые должны быть запущены на сервере:

  • rvd_back — должен работать от имени пользователя root и управлять виртуальными машинами.
  • rvd_front — веб-интерфейс, который отправляет запросы на серверную часть.

Включить по умолчанию и запустить эти службы:

# systemctl enable --now rvd_back
# systemctl enable --now rvd_front
Примечание: При первом запуске следует проверить, запустились ли службы:
# systemctl status rvd_back
# systemctl status rvd_front


Клиент

На клиенте должна быть установлена программа для удалённого доступа по протоколу SPICE, например, remote-viewer из пакета virt-viewer или Remmina.

Веб-интерфейс

Веб-интерфейс Ravada доступен по адресу https://<ip-адрес>:8081:

Веб-интерфейс Ravada

Ravada. Панель администрирования


Добавление собственного ISO-образа

Для создания ВМ необходимы ISO-образы. Их можно загрузить во время создания ВМ или предварительно подготовить собственный ISO-образ.

Скопируйте файл .iso в хранилище KVM, по умолчанию это /var/lib/libvirt/images.

Обновить пул хранения, т.к. файл был загружен вручную:

# virsh pool-list
 Name                 State      Autostart
 -------------------------------------------
 default              active     yes
# virsh pool-refresh default
Пул default обновлён

Теперь Ravada может использовать этот ISO-образ при создании ВМ:

Ravada. Выбор ISO-образа

В каталоге /var/lib/libvirt/images можно также найти ISO-образы, загруженные с Ravada.

Добавление шаблона KVM

Для создания собственного шаблона KVM, необходимо:

  1. Разместить файл .iso в хранилище KVM, по умолчанию это /var/lib/libvirt/images.
  2. Убедиться, что файл .iso доступен для чтения всем, например:
    # chmod 755 /var/lib/libvirt/images/slinux-10.1-x86_64.iso
    
  3. Получить md5 для ISO-файла:
    # md5sum /var/lib/libvirt/images/slinux-10.1-x86_64.iso 
    05f2bcea4b82176f9d655aae6a1ae1b6  /var/lib/libvirt/images/slinux-10.1-x86_64.iso
    
  4. Добавить запись в таблицу БД:
    $ mysql -u rvd_user -p
    
     
    MariaDB [(none)]> use ravada;
    MariaDB [ravada]> INSERT INTO iso_images (name, description, arch, xml, xml_volume, md5, sha256, device)   VALUES ('Slinux','Alt Slinux', 'x86_64', 'slinux.xml' ,'slinux-volume.xml','05f2bcea4b82176f9d655aae6a1ae1b6','mysha256sum','/var/lib/libvirt/images/slinux-10.1-x86_64.iso');
    MariaDB [ravada]> quit;
    
  5. Создать XML файл шаблона (в каталоге /var/lib/ravada/xml есть примеры файлов шаблонов). Новый файл шаблона можно также создать, создав новую машину с помощью другого инструмента (например, virt-manager), выгрузив xml с помощью команды:
    # virsh list --all
     ID   Имя       Состояние
    ---------------------------
     -    SLinux    выключен
     -    SLinux2   выключен
    # virsh dumpxml SLinux2 > slinux.xml
    
  6. Создать новый файл volume.xml на основе любого из /var/lib/ravada/xml, например:
    # cp /var/lib/ravada/xml/default-volume.xml /var/lib/ravada/xml/slinux-volume.xml
    

Созданный шаблон можно использовать для создания ВМ:

Ravada. Создание ВМ, на основе шаблона