nano /home/multicheck/mp-pack/composes/storage/docker-compose-cluster.yamlМасштабирование хранилища файлов
Важно: на текущий момент нет способа сохранить данные при переходе от одной конфигурации кластера к другой.
Поэтому рекомендуется изменить конфигурацию кластера хранилища файлов после установки Системы.
К примеру, рассмотрим кластер из 4 нод:
10.130.5.77
10.130.5.78
10.130.5.79
10.130.5.80
По умолчанию кластер хранилища файлов, установленный на первых трёх нодах, будет расширен до 4х.
Вводные параметры: * Пользователь multicheck * Папка установки = MPPATH = /home/multicheck/mp-pack * Известно, какой пароль для storage был введен на этапе установки платформы
Для этого необходимо поменять compose:
docker-compose-cluster.yaml
x-storage-defaults: &storage-defaults
image: $\{MPREGISTRY}/mp-storage:latest
logging:
driver: json-file
options:
max-file: "5"
max-size: 50m
container_name: mp-storage
hostname: mp-storage
restart: unless-stopped
command: >
server
https://10.130.5.77/data
https://10.130.5.78/data
https://10.130.5.79/data
### Добавить адреса других инстансов
https://10.130.5.80/data
--address ":9000"
--console-address ":9001"
--certs-dir /certs
network_mode: "host"
environment:
- MINIO_ROOT_USER=$\{STORAGE_USER}
- MINIO_ROOT_PASSWORD=$\{STORAGE_PASSWORD}
volumes:
- $\{MPPATH}/data/storage:/data
- $\{MPPATH}/bin/certs/tls/storage/storage_private_key.key:/certs/private.key:ro
- $\{MPPATH}/bin/certs/tls/storage/storage_certificate.crt:/certs/public.crt:ro
- $\{MPPATH}/bin/certs/multicheck_ca:/certs/CAs:ro
services:
mp-storag-_1:
<<: [*storage-defaults]
mp-storage-2:
<<: [*storage-defaults]
mp-storage-3:
<<: [*storage-defaults]
### Добавить новые сервисы mp_storage_4, mp_storage_5 и т.д.
mp-storage-4:
<<: [*storage-defaults]Далее следует перейти в папку: cd /mp-pack/bin/certs/tls и отредактировать файл openssl.config
[ storage_alt_names ]
DNS.1 = localhost
DNS.2 = multicheck.ngrsoftlab.ru
DNS.3 = mp-storage
IP.1 = 127.0.0.1
IP.2 = 10.130.5.77
IP.3 = 10.130.5.77
IP.4 = 10.130.5.78
IP.5 = 10.130.5.79
### Добавить необходимые IP адреса
IP.6 = 10.130.5.80Следующим этапом необходимо выполнить команды для создания новых сертификатов:
openssl genrsa -out "storage/storage_private_key.key" 2048
openssl req -new -key "storage/storage_private_key.key" -out "storage/req.pem" -outform PEM -subj "/CN=storage-cluster.multicheck.ru/O=storage_cluster/" -nodes
openssl ca -config "openssl.config" -in "storage/req.pem" -out "storage/storage_certificate.crt" -notext -batch -extensions storage_ca_extensionsДалее сохранить и отправить файл всем соседям, ключи для соединения уже прокинуты:
# Редактировали файл на 10.130.5.77
scp /home/multicheck/mp-pack/composes/storage/docker-compose-cluster.yaml multicheck@10.130.5.78:/home/multicheck/mp-pack/composes/storage/docker-compose-cluster.yaml
scp /home/multicheck/mp-pack/composes/storage/docker-compose-cluster.yaml multicheck@10.130.5.79:/home/multicheck/mp-pack/composes/storage/docker-compose-cluster.yaml
scp /home/multicheck/mp-pack/composes/storage/docker-compose-cluster.yaml multicheck@10.130.5.80:/home/multicheck/mp-pack/composes/storage/docker-compose-cluster.yaml
scp -r /home/multicheck/mp-pack/bin/certs/tls/storage multicheck@10.130.5.78:/home/multicheck/mp-pack/bin/certs/tls
scp -r /home/multicheck/mp-pack/bin/certs/tls/storage multicheck@10.130.5.79:/home/multicheck/mp-pack/bin/certs/tls
scp -r /home/multicheck/mp-pack/bin/certs/tls/storage multicheck@10.130.5.80:/home/multicheck/mp-pack/bin/certs/tlsСледующим этапом следует запустить новый кластер.
Важно: в последовательности команд есть sudo rm -rf /home/multicheck/mp-pack/data/storage, которая влечет удаление всех данных.
Пароль, запрашиваемый при запуске, следует ввести тот который был введен при установке. В противном случае сервисы Системы не смогут подключится.
ssh -t multicheck@10.130.5.77 'read -s -p "Enter storage password: " STORAGE_PASSWORD; echo; export STORAGE_USER=multicheck; export STORAGE_PASSWORD="$\{STORAGE_PASSWORD}"; export MPPATH=/home/multicheck/mp-pack/; export MPREGISTRY=multicheck.ngrsoftlab.ru:5443; export PROCLIMIT=4; export RAMLIMIT=6G; docker stop mp-storage; docker rm mp-storage; sudo rm -rf /home/multicheck/mp-pack/data/storage; docker-compose -f "$\{MPPATH}/composes/storage/docker-compose-cluster.yaml" up -d mp-storage-1; unset STORAGE_PASSWORD'
ssh -t multicheck@10.130.5.78 'read -s -p "Enter storage password: " STORAGE_PASSWORD; echo; export STORAGE_USER=multicheck; export STORAGE_PASSWORD="$\{STORAGE_PASSWORD}"; export MPPATH=/home/multicheck/mp-pack/; export MPREGISTRY=multicheck.ngrsoftlab.ru:5443; export PROCLIMIT=4; export RAMLIMIT=6G; docker stop mp-storage; docker rm mp-storage; sudo rm -rf /home/multicheck/mp-pack/data/storage; docker-compose -f "$\{MPPATH}/composes/storage/docker-compose-cluster.yaml" up -d mp-storage-2; unset STORAGE_PASSWORD'
ssh -t multicheck@10.130.5.79 'read -s -p "Enter storage password: " STORAGE_PASSWORD; echo; export STORAGE_USER=multicheck; export STORAGE_PASSWORD="$\{STORAGE_PASSWORD}"; export MPPATH=/home/multicheck/mp-pack/; export MPREGISTRY=multicheck.ngrsoftlab.ru:5443; export PROCLIMIT=4; export RAMLIMIT=6G; docker stop mp-storage; docker rm mp-storage; sudo rm -rf /home/multicheck/mp-pack/data/storage; docker-compose -f "$\{MPPATH}/composes/storage/docker-compose-cluster.yaml" up -d mp-storage-3; unset STORAGE_PASSWORD'
ssh -t multicheck@10.130.5.80 'read -s -p "Enter storage password: " STORAGE_PASSWORD; echo; export STORAGE_USER=multicheck; export STORAGE_PASSWORD="$\{STORAGE_PASSWORD}"; export MPPATH=/home/multicheck/mp-pack/; export MPREGISTRY=multicheck.ngrsoftlab.ru:5443; export PROCLIMIT=4; export RAMLIMIT=6G; docker stop mp-storage; docker rm mp-storage; sudo rm -rf /home/multicheck/mp-pack/data/storage; docker-compose -f "$\{MPPATH}/composes/storage/docker-compose-cluster.yaml" up -d mp-storage-4; unset STORAGE_PASSWORD'Сравнение конфигураций
| До изменений | После изменений |
|---|---|
multicheck@astra-1-8-tpl:~$ mc admin info cluster
| multicheck@astra-1-8-tpl:~/mp-pack/bin/certs/tls$ mc admin info cluster
|
|
|
|
|
| |
Pool 1st, Drives Usage 19.8% (total: 75 GiB), Erasure stripe size 3, Erasure sets 1 | Pool 1st, Drives Usage, Erasure stripe size 4,Erasure sets 1 |
256 MiB Used, 1 Bucket, 3 Objects, 3 drives online, 0 drives offline, EC:1 | 4 drives online, 0 drives offline, EC:2 |
Была ли эта страница полезной?
Спасибо за отзыв!
Спасибо, мы учтём это для улучшения документации.