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 Подключение узлов хранения
Для корректной работы резервного копирования с узлов хранения и диагностических отчетов необходимо выполнить дополнительные настройки. Предполагается, что на момент выполнения этих настроек уже была выполнена корректная настройка системы хранения и узлов кластера МБД.П.
-
Получить сведения для настройки узлов хранения.
При настройке узлов хранения и узлов кластера необходимы следующие сведения:
-
VIP-адрес модуля хранения;
-
путь к каталогу данных на активном узле хранения. Например,
/mnt/nas/lundata; -
путь к каталогу архива WAL на активном узле хранения. Например,
/mnt/nas/lunwal; -
путь к каталогу резервных копий на узле. Например,
/MBD_BACKUP/mycluster/pgbackup; -
путь к точке монтирования каталога данных на узлах кластера. Например,
/MBD_BACKUP/mount/data.Получить эти параметры можно на любом узле кластера из файла
/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необходимо выполнить командуpg_probackup --versionВерсия
pg_probackupна узлах хранения должна совпадать с версией на узлах кластера. -
На каждом узле хранения проверить
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-адреса узлов в сети interconnect, а также 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Формат файла описан в документации к PostgreSQL: www.postgresql.org/docs/current/libpq-pgpass.html. Пароль "123" указан в качестве примера.
Пароль пользователя
backupможно получить на узлах кластара в файле.pgpassв домашнем каталоге пользователяpostgres(обычно это/var/lib/postgres/.pgpass).Файл
.pgpassна узлах хранения должен быть с правами на чтение и запись только для владельца. Проверить можно c помощью команд:su - pgbackup ls -l ~/.pgpassВывод команды:
-rw------- 1 pgbackup pgbackup 18 авг 26 15:27 /home/pgbackup/.pgpassЕсли права отличаются от
rw, то изменить можно при помощи команды:chmod 600 ~/.pgpass -
Добавить SSH-ключи пользователя
spectrumна узлы хранения.Если для пользователя
spectrumна хосте "Спектра" уже был сгенерирован SSH-ключ, использовать его. По умолчанию ключ хранится в домашней директории пользователяspectrumв файле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@ИМЯ_ВМ
При помощи команды
exitили комбинации клавиш ctrl+d выйти из-под пользователяspectrum, чтобы снова выполнять команды из-под пользователяroot.Скопированный текст публичного ключа добавить в файл авторизованных ключей на узле хранения, находящийся в домашней директории
pgbackupпо путиhome/pgbackup/.ssh/authorized_keys. Для облегчения поиска пути можно выполнить командуsu - pgbackup, которая осуществит переход в домашнюю директорию пользователяpgbackup. -
Настроить
pg_hba.confна узлах кластера.Для каждого сервиса СУБД на узлах кластера в файле
pg_hba.confдолжны присутствовать следующие записи для пользователяbackup:host replication backup samenet scram-sha-256 host postgres backup samenet scram-sha-256Просмотреть наличие записей и добавить их при необходимости можно при помощи "Спектра" (см. раздел 11.16 Руководства пользователя "Спектра").
-
Поместить публичный ключ пользователя
pgbackupиз узла хранения на все узлы кластера пользователюpostgres.Публичный ключ пользователя
pgbackupиз узла хранения находится в/home/pgbackup/.ssh/id_rsa.pub.На все узлы кластера пользователю
postgresпоместить ключи в/var/lib/postgres/.ssh/authorized_keys. -
Заполнить полученными в п. 1 данными файл
nodes_setup.ymlв папкеinventory_samplesдистрибутива "Спектра".Путь к файлу
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может отличаться для узлов хранения и узлов кластера.