Скачиваний:
0
Добавлен:
01.01.2026
Размер:
2.32 Mб
Скачать

Министерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)

РАСПРЕДЕЛЕННАЯ СИСТЕМА В ОТКАЗОУСТОЙЧИВОМ ИСПОЛНЕНИИ

Отчет по лабораторной работе №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

Соседние файлы в предмете Распределенные автоматизированные информационные системы