a) В качестве серверов баз данных используйте сервера SRV-HQ и SRVBR
•b) Разверните сервер баз данных на базе Postgresql
a. Создайте базы данных prod, test, dev
i. Заполните базы данных тестовыми данными при помо-щи утилиты pgbench. Коэффициент масштабирования сохраните по умолчанию.
Создайте пользователей produser, testuser, devuser, каждому из пользователей дайте доступ к соответствующей базе данных.
b. Разрешите внешние подключения для всех пользователей.
c. Сконфигурируйте репликацию с SRV-HQ на SRV-BR
Выполнение:
SVR-HQ:
• Установка пакетов базы данных:
apt-get install -y postgresql16 postgresql16-server postgresql16-contrib
• Создаём системные базы данных:
/etc/init.d/postgresql initdb

Включаем и добавляем в автозагрузку PostgreSQL:
systemctl enable —now postgresql
Разрешаем доступ к PostgreSQL из сети:
vim /var/lib/pgsql/data/postgresql.conf
— в конфигурационном файле находим строку «listen_addresses = «localhost» и приводим её к следующему виду:

Перезапускаем PostgreSQL:

systemctl restart postgresql

Проверяем:

Создаём базы данных и пользователей с необходимыми правами:
Для заведения пользователей и создания баз данных, необходимо переключиться в учётную запись «postgres»:
psql -U postgres

  • зададим пароль для пользователя «postgres»:
    ALTER USER postgres WITH ENCRYPTED PASSWORD ‘P@ssw0rd’;
  • Создаём базы данных «prod»,»test» и «dev»:
    CREATE DATABASE prod;
    CREATE DATABASE test;
    CREATE DATABASE dev;
  • Создаём пользователей «produser»,»testuser» и «devuser»:
    CREATE USER produser WITH PASSWORD ‘P@ssw0rd’;
    CREATE USER testuser WITH PASSWORD ‘P@ssw0rd’;
    CREATE USER devuser WITH PASSWORD ‘P@ssw0rd’;
  • Назначаем для каждой базы данных соответствующего владельца:
    — для базы данных «prod» назначаем владельцем пользователя «produser»:
    GRANT ALL PRIVILEGES ON DATABASE prod to produser;
    — для базы данных «test» назначаем владельцем пользователя «testuser»:
    GRANT ALL PRIVILEGES ON DATABASE test to testuser;
    — для базы данных «dev» назначаем владельцем пользователя «devuser»:
    GRANT ALL PRIVILEGES ON DATABASE dev to devuser;
  • Заполняем базы данных тестовыми данными при помощи утилиты pgbench:
    pgbench -U postgres -i prod
    pgbench -U postgres -i test
    pgbench -U postgres -i dev
  • Проверяем:
    psql -U postgres
    \c prod
    \dt+

Аналогично и для других баз данных:

  • Настраиваем парольную аутентификацию для удалённого доступа:

vim /var/lib/pgsql/data/pg_hba.conf

  • добавляем следующую запись:
  • перезапускаем PostgreSQL:

systemctl restart postgresql

SRV-BR:
• Установка пакетов базы данных:
apt-get install -y postgresql16 postgresql16-server postgresql16-contrib
• Проверяем:
— подключаемся с SRV-BR к SRV-HQ:
— из под пользователя «produser» к базе данных «prod»:

— из под пользователя «testuser» к базе данных «test»:

— из под пользователя «devuser» к базе данных «dev»

Настраиваем репликацию с SRV-HQ на SRV-BR:
SRV-HQ:
• Открываем конфигурационный файл «/var/lib/pgsql/data/postgresql.conf»:
vim /var/lib/pgsql/data/postgresql.conf
• редактируем следующие параметры:

где:
wal_level указывает, сколько информации записывается в WAL (журнал операций, ко-торый используется для репликации);
max_wal_senders — количество планируемых слейвов;
max_replication_slots — максимальное число слотов репликации;
hot_standby — определяет, можно или нет подключаться к postgresql для выполнения запросов в процессе восстановления;
hot_standby_feedback — определяет, будет или нет сервер slave сообщать мастеру о запросах, которые он выполняет.
• Перезапускаем службу postgresql:
systemctl restart postgresql
SRV-BR:

• Останавливаем службу postgres:
systemctl stop postgresql
• Удаляем содержимое каталога с данными:
rm -rf /var/lib/pgsql/data/*
• И реплицируем данные с SRV-HQ сервера:
pg_basebackup -h 10.0.10.2 -U postgres -D /var/lib/pgsql/data —wal-method=stream —write-recovery-conf

  • Назначаем владельца:

chown -R postgres:postgres /var/lib/pgsql/data/

  • Снова запускаем сервис postgresql:

systemctl start postgresql

Проверяем репликацию:

SRV-HQ:

  • Создаём тестовую базу данных:

psql -U postgres

CREATE DATABASE test_replica;

SRV-BR:

  • Смотрим список всех баз данных:

admin

Recent Posts

Настройка узла управления Ansible в Linux

a) Настройте узел управления на базе SRV-BR  a. Установите Ansible.b) Сконфигурируйте инвентарь по пути /etc/ansible/inventory.…

8 месяцев ago

Реализация основного доменного контроллера на базе FreeIPA

Задача: Создайте 30 пользователей user1-user30. Пользователи user1-user10 должны входить в состав группы group1. Пользователи user11-user20…

8 месяцев ago

Настройка DNS на ОС linux

Задача: Реализовать основной DNS сервер компании на SRV-HQa. Для всех устройств обоих офисов необходимо создать…

8 месяцев ago

vESR — настройка NAT (SNAT) для доступа в интернет

Создаем зоны безопасностиСоздадим зону безопасности «trusted» и установим принадлежность интерфейса gi (интерфейс который смотрит в…

8 месяцев ago

Настройка DHCP на vESR

ip dhcp-server pool HQ network 10.0.10.32/27 default-lease-time 3:00:00 address-range 10.0.10.34-10.0.10.62 default-router 10.0.10.33 dns-server 8.8.8.8 domain-name…

8 месяцев ago

Создание защищенного соединения vESR

Создадим профиль протокола IKE.В профиле укажем группу Диффи-Хэллмана 2, алгоритм шифрования AES 128 bit, алгоритм…

8 месяцев ago