Требуемые условия завершения
Задание:
a. Любым способом разверните недостающие виртуальные машины в облаке в соответствие с топологией (см. Топология Project_02).
- Характеристики виртуальных машин:
- ACM-Server: 1vCPU, 2 ГБ ОЗУ, 20 ГБ размер диска.
- DB-Server: 1vCPU, 1 ГБ ОЗУ, 20 ГБ размер диска.
- BAR-Agent01: 1vCPU, 1 ГБ ОЗУ, 10 ГБ размер
- Образ операционной системы: alt-p11-cloud-x86_64.qcow2.
b. На развёрнутых виртуальных машинах реализуйте следующий функционал:
- Установку сервера управления Кибер Бэкап (версии не ниже 18) на виртуальной машине ACM-Server.
- Сервер управления должен быть доступен с Cloud-ADM по имени cb.au.team на порту 9877.
- Доступ в веб-интерфейс сервера управления должен быть из-под пользователя root с паролем toor.
- Для установки сервера управления в качестве СУБД необходимо использовать PostgreSQL.
- Установку агента для Linux на виртуальной машине BAR-Agent01 с последующей регистрацией на сервере управления.
- Установку агента для PostgreSQL на виртуальной машине DB-Server с последующей регистрацией на сервере управления.
Вариант реализации:
Cloud-ADM:
Развёртывание недостающих виртуальных машин
- Допустимы любые способы, в том числе и ручное создание ВМ
- Модернизирует ранее написанные файлы для Terraform чтобы ускорить процесс создания ВМ
- Создадим директорию для Project02 и перейдём в неё:
cd ~/Projects/
mkdir -p Project_02/terraform
cd Project_02/terraform
- Скопируем файл provider.tf из Project01:
cp ~/Projects/Project_01/terraform/provider.tf ./
- Менять в данном файле ничего не следует, инициализируем текущий каталог для работы с Terraform:
terraform init
- Результат:
- Скопируем файл network.tf из Project01:
cp ~/Projects/Project_01/terraform/network.tf ./
-
- модернизируем файл network.tf в текущей директории для Project02:
- избавляемся от цикла через счётчик count
- копируем данный блок, создавая порты с фиксированными IP-адресами для каждой ВМ
- модернизируем файл network.tf в текущей директории для Project02:
resource "openstack_networking_port_v2" "port_vm_acm-server" {
name = "port_acm-server"
network_id = "61845892-f9cc-4fde-962c-34b59425a74d"
admin_state_up = true
fixed_ip {
subnet_id = "13592ca4-8782-410b-9bcc-90810ccab6fe"
ip_address = "192.168.1.104"
}
}
resource "openstack_networking_port_v2" "port_vm_db-server" {
name = "port_db-server"
network_id = "61845892-f9cc-4fde-962c-34b59425a74d"
admin_state_up = true
fixed_ip {
subnet_id = "13592ca4-8782-410b-9bcc-90810ccab6fe"
ip_address = "192.168.1.105"
}
}
resource "openstack_networking_port_v2" "port_vm_bar-agent01" {
name = "port_bar-agent01"
network_id = "61845892-f9cc-4fde-962c-34b59425a74d"
admin_state_up = true
fixed_ip {
subnet_id = "13592ca4-8782-410b-9bcc-90810ccab6fe"
ip_address = "192.168.1.106"
}
}
- Скопируем файл network.tf из Project01:
cp ~/Projects/Project_01/terraform/vm-game.tf ./vm.tf
-
- модернизируем файл vm.tf в текущей директории для Project02:
- избавляемся от цикла через счётчик count
- копируем данный блок, создавая ВМ с соответствующими параметрами (по требованию задания)
- модернизируем файл vm.tf в текущей директории для Project02:
resource "openstack_compute_instance_v2" "acm-server" {
name = "ACM-Server"
flavor_id = "101"
user_data = file("cloud-init.yml")
block_device {
uuid = "827e08fa-fd3c-41cd-92ca-845bb5018478"
source_type = "image"
volume_size = "20"
boot_index = 0
destination_type = "volume"
delete_on_termination = true
}
network {
port = openstack_networking_port_v2.port_vm_acm-server.id
}
}
resource "openstack_compute_instance_v2" "db-server" {
name = "DB-Server"
flavor_id = "03bf1b85-2f5f-4ada-a07b-8b994b6dcb57"
user_data = file("cloud-init.yml")
block_device {
uuid = "827e08fa-fd3c-41cd-92ca-845bb5018478"
source_type = "image"
volume_size = "20"
boot_index = 0
destination_type = "volume"
delete_on_termination = true
}
network {
port = openstack_networking_port_v2.port_vm_db-server.id
}
}
resource "openstack_compute_instance_v2" "bar-agent01" {
name = "BAR-Agent01"
flavor_id = "03bf1b85-2f5f-4ada-a07b-8b994b6dcb57"
user_data = file("cloud-init.yml")
block_device {
uuid = "827e08fa-fd3c-41cd-92ca-845bb5018478"
source_type = "image"
volume_size = "10"
boot_index = 0
destination_type = "volume"
delete_on_termination = true
}
network {
port = openstack_networking_port_v2.port_vm_bar-agent01.id
}
}
- Скопируем файл network.tf из Project01:
cp ~/Projects/Project_01/terraform/cloud-init.yml ./
- Запускаем автоматическое развёртывания ВМ для Project02 через Terraform:
terraform apply
- Результат:
- Результат в веб-интерфейсе облака:
- Для удобства приводим конфигурационный файл /etc/hosts к следующему виду:
- Проверяем доступ до созданных ВМ:
- Передаём файл для установки Кибер Бекап на ВМ (как файл попал на Cloud-ADM не рассматривается):
scp CyberBackup_18_64-bit.x86_64 acm-server:~/
scp CyberBackup_18_64-bit.x86_64 db-server:~/
scp CyberBackup_18_64-bit.x86_64 bar-agent01:~/
DB-Server:
- Установим пакет postgresql17-server:
apt-get update && apt-get install -y postgresql17-server
- Создаём системные базы данных:
/etc/init.d/postgresql initdb
- Включаем и добавляе в автозагрузку PostgreSQL:
systemctl enable --now postgresql
- По умолчанию доступ из сети к PostgreSQL отключён:
- Разрешаем доступ к PostgreSQL из сети отредактировав конфигаруционный файл /var/lib/pgsql/data/postgresql.conf:
- в конфигарционном файле находим строку "listen_addresses = 'localhost'" и приводим её к следующему виду:
- Настраиваем парольную аутентификацию для удалённого доступа отредактировав конфигаруционный файл /var/lib/pgsql/data/pg_hba.conf:
- добавляем следующую запись:
- Перезапускаем PostgreSQL:
systemctl restart postgresql
- Проверяем доступ по сети:
- Создадим пользователя cyberbackup с паролем cyberbackup с ролью superadmin:
createuser -U postgres --superuser --encrypted --pwprompt cyberbackup
ACM-Server:
- Обновляем систему до актуального состояния и перезагружаем устройство:
apt-get update && apt-get dist-upgrade -y && update-kernel -y && apt-get clean && reboot
- Должны быть установлены следующие пакеты:
- где <x.x> – версия ядра (uname -r)
apt-get install kernel-source-<x.x>
-
- например:
apt-get install -y kernel-source-6.12
apt-get install -y kernel-headers-modules-6.12 gcc make kmod-sign
- Задаём разрешение на исполнение установочному файлу с дистрибутивом Кибер Бэкап:
- для этого дистрибутив должен быть заранее скачен и помещён на виртуальную машину
cd /home/altlinux/
chmod +x CyberBackup_18_64-bit.x86_64
- Из под суперпользователя запускаем файл установки:
./CyberBackup_18_64-bit.x86_64
- Результат:
- Нажимаем Enter:
- Принимаем Лицензионное соглашение и нажимаем Enter:
- Выбираем необходимые Компоненты и нажимаем Enter:
- Выбираем Использовать PostgreSQL и нажимаем Enter:
- Заполняем Сведения о подключении PostgreSQL и нажимаем Enter:
- Оставляем порт для веб-интерфейса управления по умолчанию и нажимаем Enter:
- Оставляем порт по умолчанию и нажимаем Enter:
- Ожидаем процесс установки:
Cloud-ADM:
- Добавляем в конфигурационный файл /etc/hosts следующую запись:
- Открываем веб-браузер и переходим в веб-интерфейс управления http://cb.au.team:9877:
- Выполняем вход из-под пользователя root с паролем toor:
- Активируем стартовую лицензию на 30-дней
DB-Server:
- Обновляем систему до актуального состояния и перезагружаем устройство:
apt-get update && apt-get dist-upgrade -y && update-kernel -y && apt-get clean && reboot
- Должны быть установлены следующие пакеты:
apt-get install -y kernel-source-6.12
apt-get install -y kernel-headers-modules-6.12 gcc make kmod-sign
- Задаём разрешение на исполнение установочному файлу с дистрибутивом Кибер Бэкап:
- для этого дистрибутив должен быть заранее скачен и помещён на виртуальную машину
cd /home/altlinux/
chmod +x CyberBackup_18_64-bit.x86_64
- Из под суперпользователя запускаем файл установки:
./CyberBackup_18_64-bit.x86_64
- Результат:
- на этапе выбора компонентов выбираем:
-
- на этапе подключения к серверу управления:
Bar-Agent01:
- Обновляем систему до актуального состояния и перезагружаем устройство:
apt-get update && apt-get dist-upgrade -y && update-kernel -y && apt-get clean && reboot
- Должны быть установлены следующие пакеты:
apt-get install -y kernel-source-6.12
apt-get install -y kernel-headers-modules-6.12 gcc make kmod-sign
- Задаём разрешение на исполнение установочному файлу с дистрибутивом Кибер Бэкап:
- для этого дистрибутив должен быть заранее скачен и помещён на виртуальную машину
cd /home/altlinux/
chmod +x CyberBackup_18_64-bit.x86_64
- Результат:
- на этапе выбора компонентов выбираем:
-
- на этапе подключения к серверу управления:
Cloud-ADM:
- Проверить наличие агентов в веб-интерфейсе управления:
- PostgreSQL агент:
- Linux агент:
Последнее изменение: вторник, 25 ноября 2025, 16:22






























