3 Установка и настройка программы
|
Перед началом установки "Спектра" необходимо убедиться в доступности хоста с ПО "Скала^р Геном" с хоста "Спектра". Проверить доступность можно при помощи команды
|
В приведенных в данном руководстве примерах команд в качестве интерпретатора команд терминала используется Bash.
Примеры команд в ряде случаев приведены вместе с приглашением интерпретатора команд, которое может отличаться у пользователя. В данном руководстве в приглашении интерпретатора команд выводятся имя пользователя, имя узла, на котором запускаются команды, и текущий каталог, в котором находится пользователь. Приглашение интерпретатора команд заканчивается символом "#", что означает, что все команды выполняются под привилегированным пользователем root. Если приглашение заканчивается символом "$", это означает что пользователь, выполняющий установку, не является привилегированным и при запуске команд необходимо повышение привилегий пользователя при помощи команды sudo.
При вводе команд пользователю не требуется вводить приглашение интерпретатора. Например, если в руководстве приводится команда
[root@spectrum-host ~]# mkdir -p spectrum-dist
это означает, что в терминале необходимо вводить только
mkdir -p spectrum-dist
3.1 Установка основного ПО "Спектр"
Дистрибутив "Спектра" представляет собой tar.gz архив, который необходимо распаковать в произвольный каталог на хосте "Спектра", например в /root/spectrum-dist.
|
В данном руководстве приводятся примеры команд для версии "Спектра" 1.6.0-274. Номер версии используется в имени файла с архивом дистрибутива |
Распакованный архив содержит все RPM-пакеты, необходимые для работы "Спектра", а также скрипт установки install.sh.
Для установки необходимо перейти в директорию, в которую был распакован архив, и выполнить скрипт install.sh:
[root@spectrum-host ~]# mkdir -p spectrum-dist
[root@spectrum-host ~]# tar -xvf spectrum-dist-alt10-v1.6.0-274.tar.gz -C ./spectrum-dist
[root@spectrum-host ~]# cd spectrum-dist/spectrum-rpm-dist-v1.6.0-274
[root@spectrum-host spectrum-rpm-dist-v1.6.0-274]# ./install.sh
В ходе установки будут созданы все необходимые каталоги, установлено необходимое ПО (Ansible и необходимые для работы python-библиотеки), установлено ПО СУБД PostgreSQL, создана необходимая для работы "Спектра" база данных.
В ходе установки пользователю необходимо ввести IP-адрес, по которому доступен модуль управления ПО "Скала^р Геном":
Enter host IP for Genome: 1.2.3.4
|
Если при установке "Спектра" не будет указан IP-адрес, по которому доступно ПО модуля управления "Скала^р Геном", то в функциональности "Спектра" будут следующие ограничения:
|
Также в ходе установке необходимо ввести IP-адрес ПО "Скала^р Визион":
Enter host IP for Vision: 1.2.3.5
Для пропуска ввода IP-адресов нужно при соответствующем запросе нажать клавишу Enter.
|
Если при установке "Спектра" не будет указан IP-адрес, по которому доступно ПО "Скала^р Визион", отображение данных мониторинга узлов будет недоступно. В полях для графиков будет отображаться "Нет данных". Также будет отсутствовать мониторинг сервисов. |
3.2 Установка дополнительного ПО "Спектр"
Для корректной работы всех функций "Спектра" требуется установка на узлы кластеров, которыми управляет "Спектр", следующего дополнительного программного обеспечения:
-
PgAdminна хосте "Спектра" для администрирования СУБД, -
Агент "Спектра",
-
Агент уведомлений "Спектра".
Установка дополнительных компонентов "Спектра" выполняется в два этапа:
-
установка Агента "Спектра" на узлы кластера, выполняется до импорта кластера в "Спектр";
-
установка Агента уведомлений "Спектра", выполняется после импорта кластера в "Спектр".
|
В примере установка дополнительного ПО для "Спектра" выполняется для одного кластера. Если под управлением "Спектра" находятся несколько кластеров, то шаги по установке дополнительного ПО на узлы (Агента "Спектра" и агента уведомлений "Спектра") необходимо выполнить для каждого кластера. |
3.2.1 Установка PgAdmin
Дистрибутив PgAdmin представляет собой tar.gz архив pgadmin-dist-< OS >-< версия >.tar.gz, который необходимо распаковать в произвольный каталог на хосте "Спектра", например в /root/spectrum-dist.
|
В данном руководстве приводятся примеры команд для архива с названием |
Распакованный архив содержит образы docker-контейнеров, необходимых для работы PgAdmin, а также скрипт установки deploy.sh.
Для установки необходимо перейти в директорию, в которую был распакован архив, и выполнить скрипт deploy.sh:
[root@spectrum-host ~]# mkdir -p spectrum-dist
[root@spectrum-host ~]# tar -xvf pgadmin-dist-altlinux10-61.tar.gz -C ./spectrum-dist
[root@spectrum-host ~]# cd spectrum-dist/pgadmin-dist
[root@spectrum-host pgadmin-dist]# ./deploy.sh
|
По умолчанию контейнер |
3.2.2 Установка агента "Спектра"
Установка дополнительных компонентов "Спектра" выполняется с хоста "Спектра" из терминала, аналогично установке самого "Спектра".
В каталоге дистрибутива "Спектра" при помощи любого текстового редактора необходимо отредактировать файл inventory_samples/cluster.yml, введя параметры кластера и узлов, узнать их можно в инсталляционной карте Машины МБД.П (должны быть указаны IP-адреса в сети управления).
Если каталог, в который распакован дистрибутив "Спектра" – это /root/spectrum-dist, то полный путь к нужному файлу будет
/root/spectrum-dist/spectrum-rpm-dist-v1.6.0-274/inventory_samples/cluster.yml
Проверить наличие файла можно командой ls:
ls /root/spectrum-dist/spectrum-rpm-dist-v1.6.0-274/inventory_samples/cluster.yml
Просмотреть содержимое файла cluster.yml можно, например, командой cat:
cat /root/spectrum-dist/spectrum-rpm-dist-v1.6.0-274/inventory_samples/cluster.yml
Для установки Агента "Спектра" в файле cluster.yml необходимо заполнить раздел hosts, в котором надо указать IP-адреса узлов кластера. Должны быть указаны IP-адреса в сети управления, узнать их можно в инсталляционной карте Машины МБД.П. Также можно указать пути к файлам сертификатов, подробнее про настройку SSL см. п. 3.3.
# ...
# Хосты узлов, на которых будет настроен алерт-агент
hosts:
node01:
ansible_host: 192.168.1.1 (1)
host_ca_cert: /path/to/host-ca.crt (2)
host_cert: /path/to/host-cert.crt (3)
host_key: /path/to/host/key (4)
node02:
ansible_host: 192.168.1.2
# ...
Здесь:
| 1 | IP-адрес узла, к которым есть доступ с узла Спектра. |
| 2 | Путь к файлу корневого сертификата хоста. |
| 3 | Путь к файлу сертификата хоста. |
| 4 | Путь к файлу приватного ключа хоста. |
Если файлов корневого сертификата, сертификата или ключа нет, закомментируйте соответствующие поля.
|
По умолчанию файл заполнен некорректными данными, которые необходимо исправить. При установке Агента "Спектра" раздел |
Полученный файл можно сохранить для использования в последующих обновлениях "Спектра". Например, скопировать в домашний каталог пользователя, под которым выполняется установка "Спектра". Для этого перейти в каталог, в который распакован архив с дистрибутивом "Спектра". Например, если архив распакован в /root/spectrum-dist, то выполнить команду
cd /root/spectrum-dist/spectrum-rpm-dist-v1.6.0-274
и скопировать файл при помощи команды cp:
[root@spr-test-installer_v1_1 spectrum-rpm-dist-v1.6.0-274]# cp inventory_samples/cluster.yml ~
После заполнения IP-адресов узлов кластера можно перейти к установке Агента "Спектра" на узлы кластера.
Установка производится из каталога, в который распакован архив с дистрибутивом "Спектра". Например, если распаковали архив в /root/spectrum-dist, то выполнить команду
cd /root/spectrum-dist/spectrum-rpm-dist-v1.6.0-274
И далее выполнить следующие команды:
source /opt/skala-r/spectrum/python-modules/bin/activate
ansible-playbook -i inventory_samples/cluster.yml deploy_spectrum_agent.yml -k
Если для установки Агента "Спектра" использовалась копия файла cluster.yml в домашнем каталоге пользователя (см. п. 3.2.2), под которым выполняется установка "Спектра", то последняя команда будет иметь вид:
ansible-playbook -i ~/cluster.yml deploy_spectrum_agent.yml -k
После запуска требуется ввести пароль пользователя root для доступа к узлам кластера.
При успешном выполнении команды должны отсутствовать сообщения об ошибках, а в итоговом отчете о запуске плейбука должны отсутствовать шаги со статусом failed:
PLAY RECAP **************************************************************************************
node01 : ok=30 changed=11 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node02 : ok=30 changed=11 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node03 : ok=30 changed=11 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Далее необходимо выполнить импорт кластера в "Спектр" с использованием графического веб-интерфейса. Подробнее об импорте кластеров см. в документе "Руководство пользователя ПО Скала^р Спектр", раздел 7 "Импорт кластеров".
3.2.3 Установка Агента уведомлений "Спектра"
Перед установкой Агента уведомлений "Спектра" кластеры должны быть видны в графическом интерфейсе и иметь статус "ДОСТУПЕН", например:
Для установки Агента уведомлений "Спектра" потребуются IP-адрес хоста "Спектра" и ID импортированного кластера.
IP-адрес отображается в адресной строке браузера, в котором открыт веб-интерфейс "Спектра". ID кластера также отображаются в веб-интерфейсе в адресной строке браузера при переходе на страницу информации о кластере:
В приведенном примере IP-адрес "Спектра" — 192.168.190.138, ID кластера — это значение 24ed3935-e6ce-4e72-8163-d2078f40d70c.
Полученные ID кластера и IP-адрес необходимо вписать в соответствующие строки секции recipients того же файла cluster.yml, который использовался для установки Агента "Спектра" (см. п. 3.2.2):
---
all:
vars:
ansible_user: root
ansible_ssh_extra_args: "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
rpm_mode: true
recipients:
- name: spectrum
cluster_id: 24ed3935-e6ce-4e72-8163-d2078f40d70c
spectrum_host: 192.168.190.138
# ...
Для кластера, приведенного в примере выше, итоговое содержимое файла inventory_samples/cluster.yml будет иметь вид:
all:
vars:
ansible_user: root
ansible_ssh_extra_args: "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
rpm_mode: true
# Список переменных, используемых для настройки алерт-агента recipients:
# Название конфигурации уведомлений и JSON файла, который его описывает
- name: spectrum
# UUID кластера, для которого настраиваются уведомления. Можно найти в адресной строке, перейдя на страницу обзора кластер
cluster_id: 24ed3935-e6ce-4e72-8163-d2078f40d70c
# Хост Спектра, для которого настраиваются уведомления. Указать реальный IP адрес Спектра, доступ к котором есть с узла кластера
spectrum_host: 192.168.190.138
# Хосты узлов, на которых будет настроен алерт-агент
hosts:
node01:
# указать реальные IP адреса узлов кластера, к которым есть доступ с узла Спектра
ansible_host: 192.168.190.61
# Раскомментировать, если на хосте Спектра настроена аутентификация и указать реальный путь до ключа и сертификата на хосте Спектра
host_ca_cert: "/opt/skala-r/spectrum/certs/ca.crt" # Путь к корневому сертификату на хосте Спектра, откуда тот будет скопирован на узлы
# Раскомментировать, если на хосте Спектра настроена аутентификация и указать реальный путь до ключа и сертификата на хосте Спектра
host_cert: "/home/root/node01_server.crt" # Путь к клиентскому сертификату на хосте Спектра, откуда тот будет скопирован на узлы
host_key: "/home/root/node01_server.key" # Путь к ключу для клиентского сертификата на хосте Спектра, откуда тот будет скопирован на узлы
node02:
ansible_host: 192.168.190.62
host_ca_cert: "/opt/skala-r/spectrum/certs/ca.crt"
host_cert: "/home/root/node02_server.crt"
host_key: "/home/root/node02_server.key"
node03:
ansible_host: 192.168.190.63
host_ca_cert: "/opt/skala-r/spectrum/certs/ca.crt"
host_cert: "/home/root/node03_server.crt"
host_key: "/home/root/node03_server.key"
Далее для установки Агента уведомлений перейти в каталог, в который распакован архив с дистрибутивом "Спектра". Например, если архив распакован в /root/spectrum-dist, то выполнить команду
cd /root/spectrum-dist/spectrum-rpm-dist-v1.6.0-274
и далее следующие команды:
source /opt/skala-r/spectrum/python-modules/bin/activate
ansible-playbook -i inventory_samples/cluster.yml deploy_spectrum_alert_agent.yml -k
Если для установки Агента "Спектра" использовалась копия файла cluster.yml в домашнем каталоге пользователя, под которым выполняется установка "Спектра" (см. п. 3.2.2), то последняя команда будет иметь вид:
ansible-playbook -i ~/cluster.yml deploy_spectrum_alert_agent.yml -k
После запуска требуется ввести пароль пользователя root для доступа к узлам кластера.
При успешном выполнении команды в отчете о запуске плейбука должны отсутствовать шаги со статусом failed, при первой установке агента уведомлений будут присутствовать шаги со статусом ignored и сообщение об ошибке с пометкой …ignoring:
TASK [remove existing alerts for spectrum]*************
fatal: [node01]: FAILED! => {"changed": true, "cmd": "pcs alert delete spectrum alert", "delta": "0:00:00.452687", "end": "2023-06-01 16:12:14.057743",
": "Error: alert 'spectrum alert' does not exist\nError: Errors have occured, therefore pcs is unable to continue", "stderr_lines": ["Error alert "sp
continue"], "stdout": "", "stdout_lines": []}
...ignoring
TASK [debug] ****************************************************************************************************************************************
ok: [node01] => {
"msg": ""
}
TASK [create spectrum alerts] ***********************************************************************************************************************
changed: [node01]
TASK [add recipients to spectrum alert] *************************************************************************************************************
changed: [node01] => (item={'name': 'spectrum', 'cluster_id': '24ed3935-e6ce-4e72-8163-d2078f40d70c', 'spectrum_host': '192.168.190.138'})
PLAY RECAP ******************************************************************************************************************************************
node01 : ok=30 changed=11 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
node02 : ok=30 changed=11 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node03 : ok=30 changed=11 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
3.3 Настройка SSL
"Спектр" поддерживает возможность использования SSL для шифрования данных, передаваемых между хостом "Спектра" и узлами кластеров, а также хостами "Генома" и "Визиона". Для корректной работы SSL необходимо предоставить подписанные корневой, серверный и клиентские сертификаты с ключами, а также внести изменения в конфигурационные файлы модулей "Спектра", Агента "Спектра" и Агента уведомлений "Спектра". При использовании SSL с "Геномом" или "Визионом" потребуется также настроить соответствующее ПО на соответствующих хостах, инструкция по настройке которых не входит в данное Руководство.
3.3.1 Генерация сертификатов
При первой установке "Спектра" генерируются ключ и самоподписанный серверный сертификат, но для корректной работы необходимо иметь также и корневой сертификат, которым будут подписаны все остальные сертификаты. Сертификаты могут иметь цепочки любой длины, должны иметь формат PEM с расширением файла .pem или .crt и могут быть самоподписанными. Ключ сертификата должен иметь расширение файла .key.
3.3.2 Установка сертификатов
|
Название файлов сертификатов и ключей сертификатов, а также их расположение может отличаться от приведенных в данном Руководстве. |
После генерации сертификатов необходимо расположить их на соответствующих хостах. На хосте "Спектра" должны присутствовать:
-
Корневой сертификат
ca.crt; -
Серверный сертификат
spectrum_server.crt; -
Ключ серверного сертификата
spectrum_server.key; -
Клиентский сертификат
spectrum_client.crt; -
Ключ клиентского сертификата
spectrum_client.key.
На узлах кластеров должны присутствовать:
-
Корневой сертификат
ca.crt; -
Серверный сертификат
node_server.crt; -
Ключ серверного сертификата
node_server.key.
В данном руководстве сертификаты и ключи будут расположены в директории /opt/skala-r/spectrum/certs.
В файлах конфигурации на хосте "Спектра" spectrum-api, spectrum-tasks, spectrum-scheduler необходимо указать пути к файлам сертификатов и ключей. Каждая из секций с параметрами сертификатов отвечает за настройку соединения с отдельным компонентом, т. е., если необходимо включить SSL для Агента "Спектра", нужно указать пути к файлам в секции spectrum-agent.
Необходимо удостовериться, что в конфигурации Nginx присутствуют следующие директивы с корректно указанными путями:
ssl_certificate /opt/skala-r/spectrum/certs/spectrum_server.crt;
ssl_certificate_key /opt/skala-r/spectrum/certs/spectrum_server.key;
ssl_verify_client optional;
ssl_client_certificate /opt/skala-r/spectrum/certs/ca.crt;
В файлах конфигурации spectrum-agent и Агента уведомлений "Спектра" на узлах кластера должны быть указаны пути к сертификатам.
Если при установке Спектра производилась установка Агента "Спектра" и Агента уведомлений "Спектра" (см. п. 3.2.2 и п. 3.2.3), то в соответствующих файлах конфигурации уже будут указаны пути к файлам сертификатов и ключей, а сами файлы находятся на узлах кластера.
Примеры файлов конфигураций приведены в Приложении 1 данного руководства.
3.4 Настройка интеграции с KeyCloak и Avanpost FAM
"Спектр" поддерживает возможность интеграции c системами аутентификации KeyCloak и Avanpost FAM. Перед этим необходимо настроить соответствующие платформы, инструкции по настройке изложены в Приложении 2 (для KeyCloak) и Приложении 3 (для Avanpost FAM) соответственно.
3.4.1 Настройка интеграции с KeyCloak
В файле конфигурации spectrum-api нужно заполнить секцию аутентификации, согласно примеру, приведенному ниже:
[auth]
auth_server=https://192.168.1.2:8080 # Адрес хоста, на котором расположен identy provider
realm=spectrum # Название realm, который был выбран в процессе настройки
client_id=spectrum-users # ID клиента, который был создан в процессе настройки
cert=/opt/skala-r/spectrum/certs/keycloak-chain.pem # Путь к файлу сертификата. Опциональный параметр
enabled=1 # Указать 1 для включения аутентификации, 0 для отключения
Также необходимо сохранить значение поля Client secret, полученное после создания клиента, в файл зашифрованного хранилища .vault_store.
Для этого выполнить следующие команды:
source /opt/skala-r/spectrum/python-modules/bin/activate
ansible-vault edit /opt/skala-r/spectrum/.vault_store
После этого необходимо ввести пароль хранилища, после чего будет открыт текстовый редактор. Пример содержания файла можно найти в Приложении 1.
Добавить следующую строчку, где secret - значение поля Client secret из KeyCloak:
client_secret: secret
и сохранить файл.
После этого нужно перезапустить сервис API, введя команду:
systemctl restart spectrum-api
3.4.2 Настройка интеграции с Avanpost FAM
Шаги по настройке аналогичны шагам из п. 3.4.1, за исключением содержания секции аутентификации в файле конфигурации spectrum-api:
[auth]
auth_server=http://192.168.1.3:8080 # Адрес хоста, на котором расположен identy provider
client_id=spectrum-users # ID клиента, который был создан в процессе настройки
enabled=1 # Указать 1 для включения аутентификации, 0 для отключения
В зашифрованном хранилище в поле client_secret нужно указать значение поля secret, совпадающее с заданным при создании "приложения" в Avanpost FAM.
3.5 Подключение узлов хранения
|
Здесь описан вариант подключения узлов СХД вручную. Рекомендуемый способ — выполнение операции изменения дополнительных параметров кластера в веб-интерфейсе. |
Для корректной работы резервного копирования с узлов хранения и диагностических отчётов выполните дополнительные настройки. Предполагается, что на момент выполнения этих настроек уже была выполнена корректная настройка системы хранения и узлов кластера МБД.П.
-
Получите сведения для настройки узлов хранения.
Получить сведения можно на любом узле кластера из файла
/etc/fstab:cat /etc/fstabВ выводе будут строки для монтирования каталога резервных копий по NFS, например:
192.168.186.211:/mnt/nas/lundata /MBD_BACKUP/mount/data nfs rw,vers=3,proto=tcp,timeo=600,soft,rsize=65536,wsize=65536,namlen=255,nolock,retrans=2,sec=sys,_netdev 0 0 192.168.186.211:/mnt/nas/lunwal /MBD_BACKUP/mount/wal nfs rw,vers=3,proto=tcp,timeo=600,soft,rsize=65536,wsize=65536,namlen=255,nolock,retrans=2,sec=sys,_netdev 0 0-
192.168.186.211— VIP-адрес модуля хранения; -
/mnt/nas/lundata— каталог данных на активном узле хранения; -
/mnt/nas/lunwal— путь к каталогу архива WAL на активном узле хранения; -
/MBD_BACKUP/mount/data— путь к точке монтирования каталога данных на узлах кластера.
В дополнение к этим данным необходим путь к каталогу резервных копий, который можно получить из веб-интерфейса "Спектра".
На странице найдите в списке все сервисы настраиваемого кластера и для каждого из них проверьте пути к каталогу резервных копий:
-
Нажмите на имя сервиса — откроется страница детализации сервиса.
-
Перейдите на вкладку .
-
В параметре
restore_commandскопируйте путь к каталогу резервных копий, например:
/MBD_BACKUP/spr-uv/pgbackupДля настройки сохраните уникальные пути к каталогу резервных копий.
-
-
Проверьте версию
pg_probackup— она должна совпадать с версией на узлах кластера:pg_probackup --version -
Проверьте
uid gidпользователяpgbackupна каждом узле хранения:cat /etc/passwd | grep pgbackupВ выводе будут строки:
pgbackup:x:2000:2000::/home/pgbackup:/bin/bashUid gidпользователяpgbackupдолжны совпадать сuid gidпользователяpostgresна узле кластера — должен быть 2000. -
Проверьте, что на каждом узле хранения, в домашнем каталоге пользователя
pgbackup, в файле.pgpass, для каждого узла кластера и сервиса СУБД присутствуют записи с паролем пользователяbackup, а также указаны IP-адреса узлов и VIP мастера в сети interconnect:192.168.102.229:5432:*:backup:123 192.168.102.228:5432:*:backup:123 192.168.102.227:5432:*:backup:123 192.168.102.34:5432:*:backup:123Пароль "123" указан в качестве примера. Формат файла описан в документации к PostgreSQL: www.postgresql.org/docs/current/libpq-pgpass.html.
Пароль пользователя
backupуказан на узлах кластера, в файле.pgpass, в домашнем каталоге пользователяpostgres(обычно это/var/lib/postgres/.pgpass). Права на чтение и запись этого файла должны быть только у владельца. Проверить можно с помощью команд:su - pgbackup ls -l ~/.pgpassПример вывода:
-rw------- 1 pgbackup pgbackup 18 авг 26 15:27 /home/pgbackup/.pgpassЕсли права отличаются от
rw, измените их:chmod 600 ~/.pgpass -
Добавьте SSH-ключи пользователя
spectrumна узлы хранения.Если на хосте "Спектра" для пользователя
spectrumуже был сгенерирован SSH-ключ, используйте его. По умолчанию ключ хранится в домашней директории пользователя в файлеhome/spectrum/.ssh/id_rsa.pub.Если ключи отсутствуют, для их создания на хосте "Спектра" выполните следующие команды:
su - spectrum -s /bin/bash ssh-keygen -t rsaПо умолчанию ключи будут записаны в файлы
home/spectrum/.ssh/id_rsaиhome/spectrum/.ssh/id_rsa.pub.Если такие файлы уже существуют, введите иное имя (полный путь), чтобы не было замены ключей.
Если файлов таких нет, на запрос пути нажмите клавишу Enter, и созданные ключи будут сохранены в файлы по умолчанию. А также на запрос парольной фразы поле оставьте пустым и нажмите клавишу Enter.
Скопируйте содержимое файла публичного ключа (введенный_путь/введенное_имя.pub), открыв его в текстовом редакторе или запросив командой
cat, например:ssh-rsa AAA..w== spectrum@ИМЯ_ВМСкопированный ключ добавьте в файл авторизованных ключей на узле хранения, находящийся в домашней директории
pgbackupпо путиhome/pgbackup/.ssh/authorized_keys. Чтобы перейти в домашнюю директорию пользователяpgbackup, используйте команду:su - pgbackupЧтобы снова выполнять команды из-под пользователя
root, выйдите из-под пользователяspectrum, например, при помощи командыexitили комбинации клавиш ctrl+d. -
Добавьте в файл
pg_hba.confдля каждого сервиса СУБД на узлах кластера следующие записи для пользователяbackup:host replication backup samenet scram-sha-256 host postgres backup samenet scram-sha-256Проверить наличие записей и добавить их при необходимости можно в веб-интерфейсе (см. раздел 11.16 Руководства пользователя "Спектра").
-
Поместите публичный ключ пользователя
pgbackupиз узла хранения (/home/pgbackup/.ssh/id_rsa.pub) на все узлы кластера пользователюpostgres(/var/lib/postgres/.ssh/authorized_keys). -
Заполните файл
nodes_setup.yml(в папкеinventory_samplesдистрибутива "Спектра") — впишите путь (или пути) к каталогу резервных копий (см. п. 1)Путь к файлу
nodes_setup.ymlможет быть иным. -
Запустить плейбуки из папки дистрибутива "Спектра":
source /opt/skala-r/spectrum/python-modules/bin/activate ansible-playbook setup_storage_nodes.yml -i inventory_samples/nodes_setup.yml -k ansible-playbook setup_cluster_nodes.yml -i inventory_samples/nodes_setup.yml -kПри запуске плейбуков необходимо ввести пароль пользователя
rootдля доступа с использованием SSH на узлы хранения и узлы кластера. Пароль пользователяrootможет отличаться для узлов хранения и узлов кластера. -
Перейдите в веб-интерфейс "Спектра" и выполните операцию изменения дополнительных параметров кластера, добавив узлы СХД, которые были настроены вручную.