ВиЛКа — Виртуальная Лаборатория Кактукс (Андрей Сурганов, OSEDUCONF-2024)
- Докладчик
- Андрей Сурганов
Успешное обучение дисциплине «Сетевое и системное администрирование» часто упирается в ограничения инфраструктуры.
Предоставить обучающемуся изолированную сеть, разбитую на подсети с несколькими серверами и рабочими станциями, образовательному учреждению крайне затруднительно. Задача усложняется, когда группе обучающихся нужно предоставить несколько подобных сетей.
Задача становится практически нереализуемой, когда эти сети нужно поддерживать в актуальном состоянии в течение учебного года. Кроме этого, такой подход лишь с большими трудом подойдёт для проведения итоговых соревнований и олимпиад.
На выручку приходит виртуализация. Здесь есть всё необходимое — сети, устройства различных конфигураций и архитектур, откат к начальному состоянию (снапшоты) и гибкая настройка.
Для организации обучения сетевому и системному администрированию в нашем образовательном учреждении было изучено большое количество решений для управления виртуализацией, но готовые решения с необходимым функционалом так и не были найдены.
Содержание
Видео
Презентация
Thesis
Необходимый функционал для педагога:
- создание типовых конфигураций (эталонных стендов) и их клонирование;
- управление стендами;
- контроль стендов во время работы;
- изоляция;
- целостность стенда (запрет пользователю менять принципиально важные настройки);
- удалённый доступ (опционально).
Требования для обучающихся:
- простота использования.
Было принято решение создать собственный инструментарий на базе технологий Qemu/Kvm и NoVnc. Проект получил название «ВиЛКа» — Виртуальная Лаборатория Кактукс.
В качестве бэкенда выступает(ют) сервер(ы) виртуализации. Помимо виртуальных машин на нём работает служба NoVNC, которая предоставляет возможность подключаться к экранам виртуальных устройств по протоколу HTTP. Фронтенд работает под управлением Nginx. Nginx занимается авторизацией пользователя, предоставляет панель управления и проксирует пользователя на сервер(ы) виртуализации, к NoVNC, к экранам виртуальных устройств.
Как это работает: клиент с помощью веб-браузера подключается к веб-серверу, авторизуется на нём и получает доступ к панели управления своим стендом. В панели управления пользователю доступна сама панель с элементами управления и топология с устройствами-ссылками на виртуальные устройства стенда.
Помимо этого, для администрирования стендов создан инструментарий со следующим функционалом:
- получение команд от панели управления (проверка на вменяемость и выполнение);
- клонирование эталонных стендов;
- создание сценариев запуска NoVNC (для каждого стенда отдельный сценарий);
- создание конфигурационных файлов Nginx (каждый стенд - это отдельный виртуальный хост);
- создание панели управления для каждой группы однотипных стендов;
- набор служебных скриптов.
В итоге получился продукт, готовый к использованию для обучения и соревнований и олимпиад, в том числе онлайн. Уже 3 года на нём проводятся открытые детско-юношеские соревнования по Linux «CacTUX» и межрегиональный конкурс Linux-Skills в рамках фестиваля технического творчества «Технокактус».