<< Click to Display Table of Contents >> Администрирование (Linux) > Расширенная установка > Установка сервисов на выделенном сервере Развертывание дополнительного сервиса хранилищ на одном сервере |
![]() ![]() ![]() |
Иногда на сервере с установленным сервисом хранилищ нужно развернуть второй такой же сервис. Например, это может потребоваться, когда:
•на сервере подключены два жестких диска. Для работы с текущими документами рекомендуется выделить быстрый диск SSD, а редко используемые хранить на более медленном HDD;
•нет ресурсов для создания отдельного сервера;
•нужно перенести данные с файлового хранилища в объектное.
Чтобы развернуть второе хранилище на том же сервере:
1.Создайте копию конфигурационного файла config.yml. Пример команды:
cp /srv/drx_distr/etc/config.yml /srv/drx_distr/etc/StorageSecond.yml
2.В созданном конфигурационном файле StorageSecond.yml в секции variables добавьте переменные:
•instance_name. Задайте для нее значение second. Это нужно, чтобы дополнительные контейнеры с HAProxy и хранилищем создались с именами, отличными от существующих;
•http_port и https_port. Укажите в них порты, номера которых отличаются от занятых. Например, если порты 80 и 443 заняты, укажите 81 и 444 соответственно.
3.Если развертываете файловое хранилище, то в секции StorageService в параметре STORAGE_PATH укажите путь до папки второго файлового хранилища, в которую нужно перемещать содержимое документов. Добавьте в конец строки переменную {{ instance_name }}.
4.В секции SungeroHaproxy заполните параметры:
•haproxy_config – путь до конфигурационного файла HAProxy второго файлового хранилища;
•http_port и https_port – номер порта. Укажите в параметрах ранее заданные переменные.
5.Закомментируйте или удалите настройки для остальных сервисов. Секцию common_config с общими настройками удалять не нужно.
Пример настройки для файлового хранилища:
variables:
instance_name: 'second'
http_port: 81
https_port: 444
...
common_config: &base
...
services_config:
StorageService:
<<: *base
PORT: # auto
STORAGE_PATH: '{{ home_path }}/storageservice_{{instance_name}}'
STORAGE_RELATIVE_PATH: 'StorageSecond'
SungeroHaproxy:
haproxy_config: '{{ home_path }}/haproxy/haproxySecond.cfg'
http_port: '{{ http_port }}'
https_port: '{{ https_port }}'
Пример настройки для объектного хранилища:
variables:
instance_name: 'second'
http_port: 81
https_port: 444
...
common_config: &base
...
services_config:
StorageService:
<<: *base
PORT: # auto
STORAGE_TYPE: 'S3'
S3_STORAGE_SERVICE_ADDRESS: 'https://s3.cloud.ru'
S3_STORAGE_ACCESS_KEY: '1fQF2lHcxkHQmFDfKGU34W'
S3_STORAGE_SECRET_KEY: 'bDV9vQZ5Eu7uc8b4gsB8NSgdt4C6b7dLZ4s3YNj2Jkhu'
S3_STORAGE_BUCKET_NAME: 'bucket1'
SungeroHaproxy:
haproxy_config: '{{ home_path }}/haproxy/haproxySecond.cfg'
http_port: '{{ http_port }}'
https_port: '{{ https_port }}'
Подробное описание параметров объектного хранилища см. в разделе «Утилита S3Tool».
6.Запустите развертывание второго хранилища. В параметре --config укажите путь до его конфигурационного файла. Пример команды:
/srv/drx_distr/do.sh all --config="/srv/drx_distr/etc/StorageSecond.yml" up
7.Для настройки перенаправления URL-адресов откройте конфигурационный файл HAProxy haproxy.cfg первого хранилища. Пример пути: /etc/haproxy/.
8.В секцию frontend добавьте строку с информацией о втором сервисе хранилищ:
use_backend storageservice2_backend if { path_beg -i /StorageSecond }
Она должна располагаться выше строки:
use_backend storageservice_backend if { path_beg -i /Storage }
важно. Строка для второго хранилища добавляется выше, т.к. HAProxy ищет первое вхождение строки и сразу перенаправляет запрос на подходящий сервер. Если строку добавить ниже, то HAProxy никогда не перенаправит запрос на второе хранилище. Это условие обязательно для выполнения, если адреса до хранилищ начинаются одинаково.
9.Добавьте секцию storageservice2_backend для второго хранилища. В ней задайте строку с информацией о сервере в формате server <Имя сервера> <IP-адрес виртуальной машины>:<Номер порта>. Порт должен совпадать с тем, который указан в секции SungeroHaproxy в параметре http_port либо https_port конфигурационного файла StorageSecond.yml.
Пример настройки для работы:
backend storageservice2_backend
server storageservice2_server 10.10.0.102:<Номер порта>
10.Перезапустите HAProxy первого хранилища. Пример команды:
/srv/drx_distr/do.sh haproxy restart
После завершения настроек добавьте второе хранилище в системе Directum RX и настройте политики хранения и перемещения.
© Компания Directum, 2024 |