РАИС 2
.docxМинистерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)
РАСПРЕДЕЛЕННАЯ СИСТЕМА В ОТКАЗОУСТОЙЧИВОМ ИСПОЛНЕНИИ
Отчет по лабораторной работе №2
по дисциплине «Распределенные автоматизированные информационные системы»
Вариант №6
-
Студент гр.
____________
Руководитель
Преподаватель каф. КИБЭВС
____________
Введение
Цель работы: освоить принципы построения отказоустойчивых систем на примере веб-приложения Gitea. Изучить настройку распределенной файловой системы GlusterFS для общего хранения данных. Получить практические навыки развертывания кластера баз данных MariaDB с использованием технологии Galera Cluster. Научиться конфигурировать балансировщик нагрузки HAProxy для распределения HTTP-трафика. Освоить настройку службы Keepalived для обеспечения отказоустойчивости виртуального IP-адреса (VIP). Продемонстрировать работоспособность системы при отказе одного из компонентов
Таблица 1– Данные по варианту
Вариант |
Пользователи |
Репозитории и контент |
Сценарий тестирования отказа и восстановления |
6 |
3 пользователя: support_tom, support_kate, client_x. |
Для support_tom создать репозиторий faq_archive (приватный). Создать файл common_questions.md. |
Полностью выключить ВМ gitea1. Запустить Gitea на gitea2. В faq_archive (на gitea2) добавить новый файл network_issues.md. Включить ВМ gitea1. Остановить Gitea на gitea2. Проверить наличие network_issues.md на gitea1. |
1 ХОД РАБОТЫ
Первоочередно была произведена установка и настройка GlusterFS на каждом из трех узлов, что представлено на рисунке 1.1.
Рисунок 1.1 – Установка и настройка GlusterFS на узлах
Далее был сформирован доверенный пул хранения данных, а также создан, запущен и настроены параметры тома GlusterFS, что представлено на рисунках 1.2 –1.3.
Рисунок 1.2 – Формирование доверенного пула
Рисунок 1.3 – Настройка параметров GlusterFS
Далее были созданы точки монтирования и написан скрипт автоматического монтирования тома при загрузке системы, после чего произведена проверка успешного монтирования томов, что представлено на рисунках 1.4 – 1.5.
Рисунок 1.4 – Настройка автоматического монтирования при запуске
Рисунок 1.5 – Проверка успешного монтирования тома и репликации
Была произведена настройка MariaDB и изменена ее конфигурация на каждом из трех узлов, что представлено на рисунках 1.6 – 1.7.
Рисунок 1.6 – Установка MariaDB
Рисунок 1.7 – Настройка конфигурационных файлов MariaDB
Далее была запущена служба MariaDB на одном и нескольких узлах, что представлено на рисунках 1.8 – 1.9.
Рисунок 1.8 – Запуск службы MariaDB на одном узле
Рисунок 1.9 – Запуск службы MariaDB на трех узлах
Далее была создана выделенная база данных и пользователя в MariaDB для приложения Gitea, что представлено на рисунке 1.10.
Рисунок 1.10 – База данных и пользователь для приложения Gitea
Далее была произведена настройка приложения Gitea на узлах gitea1 и gitea2, что представлено на рисунках 1.11 – 1.12.
Рисунок 1.11 – Установка Git, настройка пользователей и ссылок
Рисунок 1.12 – Изменение конфигурационного файла службы Gitea
После выполненных настроек был запущен Gitea через веб-интерфейс где была произведена первоначальная настройка Gitea, что представлено на рисунках 1.13 – 1.14.
Рисунок 1.13 – Первоначальная настройка Gitea
Рисунок 1.14 – Отображение страницы входа
Далее была создана идентичная конфигурация Gitea на резервном узле, что представлено на рисунке 1.15.
Рисунок 1.15 – Клонирования файла app.ini
Далее была произведена Настройка HAProxy в качестве балансировщика нагрузки для Gitea, что представлено на рисунках 1.16 – 1.17.
Рисунок 1.16 – Изменение конфигурационного файла HAProxy
Рисунок 1.17 – Проверка конфигурационного файла и запуск службы
Далее была произведена настройка Keepalived для управления виртуальным IP адресом, что представлено на рисунках 1.18 – 1.19.
Рисунок 1.18 – Назначение виртуального адреса
Рисунок 1.19 – Настройка конфигурационного файла Keepalived
После выполненных настроек Keepalived был проверен виртуальный адрес, что представлено на рисунке 1.20.
Рисунок 1.20 – Проверка виртуального адреса
Далее была проверена доступность узлов через HAProxy, что представлено на рисунке 1.21.
Рисунок 1.21 – Проверка доступности узлов
Далее была создана учетная запись администратора в Gitea и создан тестовый репозиторий, что представлено на рисунках 1.22 – 1.23.
Рисунок 1.22 – Регистрация администратор
Рисунок 1.23 – Создание тестового репозитория
Далее было произведено тестирования отказоустойчивости путчем поочередного отключения служб Gitea узлов, что представлено на рисунках 1.24 – 1.25
Рисунок 1.24 – Проверка работы gitea2 при отключении gitea1
Рисунок 1.25 – Проверка работы gitea1 при отключении gitea2
2 ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ
Первоочередно были созданы учетные записи пользователей по варианту, что представлено на рисунках 2.1 – 2.3.
Рисунок 2.1 – Создание учетной записи support_tom
Рисунок 2.2 – Создание учетной записи support_kate
Рисунок 2.3 – Создание учетной записи client_x
Далее на учетной записи support_top был создан репозиторий и добавлен в него файл .md, что представлено на рисунках 2.4 – 2.5
Рисунок 2.4 – Создание репозитория
Рисунок 2.5 – Добавление файла в репозиторий
Далее была проверена отказоустойчивость системы путем полного выключения ВМ gitea1 и создании файла в репозитории, что представлено на рисунках 2.6 – 2.7
Рисунок 2.6 – Полное отключение ВМ gitea1
Рисунок 2.7 – Создание файла network_issues.md в репозитории
Далее была включена ВМ gitea1 и остановлена служба на ВМ gitea2, а также проверено наличие файлов в репозитории, что представлено на рисунке 2.8.
Рисунок 2.8 – Проверка файлов в репозитории
Заключение
В ходе выполнения лабораторной работы были освоены принципы построения отказоустойчивых систем на примере веб-приложения Gitea. Изучена настройка распределенной файловой системы GlusterFS для общего хранения данных. Получены практические навыки развертывания кластера баз данных MariaDB с использованием технологии Galera Cluster. Получены практические навыки конфигурировать балансировщик нагрузки HAProxy для распределения HTTP-трафика. Освоена настройка службы Keepalived для обеспечения отказоустойчивости виртуального IP-адреса (VIP).
Томск 2025
