Развертывание кластера на CentOS 8 и Red Hat 8

  • Требования к операционной системе и платформе
Операционная система Поддерживаемые архитектуры CPU
CentOS 8 - 8.4
Red Hat Enterprise Linux 8
x86_64
ARM 64/v8
  • Пример информации о кластере

В этом документе в качестве примера используется трехузловой кластер: узел master — mdw, а два сегментных узла — sdw1 и sdw2.

Установка сервера

Процесс установки сервера состоит из пяти этапов: проверка базовой информации о сервере, подготовка к установке, установка RPM-пакета базы данных, развертывание базы данных и конфигурация после установки.

1. Проверка базовой информации о сервере

Перед началом установки проверьте основную системную информацию. Это хорошая практика, поскольку понимание характеристик сервера поможет вам более эффективно спланировать развертывание кластера.

Шаг Команда Назначение
1 free -h Просмотр использования памяти
2 df -h Просмотр объема дискового пространства
3 lscpu Просмотр количества ядер процессора
4 cat /etc/system-release Просмотр версии ОС
5 uname -a Отображение всей информации о ядре в следующем порядке (если результаты -p или -i неизвестны, они опускаются): имя ядра; имя хоста; релиз ядра; версия ядра; аппаратная архитектура; тип процессора (непереносимый); аппаратная платформа (непереносимая); название ОС
6 tail -11 /proc/cpuinfo Просмотр подробных сведений о процессоре

2. Подготовка к установке

2.1 Инициализация репозитория DNF

CentOS 8 и RHEL 8 используют dnf в качестве менеджера пакетов по умолчанию.

EPEL (Extra Packages for Enterprise Linux) предоставляет дополнительные пакеты, отсутствующие в стандартных репозиториях Red Hat и CentOS. PowerTools содержит библиотеки и инструменты разработчика. Он доступен в RHEL/CentOS, но по умолчанию отключен. Пакеты EPEL зависят от PowerTools. Если EPEL включен, PowerTools также должен быть включен.

Выполните следующие шаги от имени пользователя root или с правами root.

# dnf -y install epel-release && \
  dnf -y install 'dnf-command(config-manager)' && \
  dnf config-manager --set-enabled powertools && \
  dnf config-manager --set-enabled epel && \ 
  dnf -y update

2.2 Установка зависимостей

Установите необходимые зависимости от имени пользователя root или с правами root.

# dnf install -y libicu python3-devel python3-pip openssl-devel openssh-server net-tools

2.3 Копирование RPM-пакета на серверы

Скопируйте RPM-пакет с локального компьютера на все узлы кластера.

~ scp <local file path> <username>@<server IP>:<server file path>

2.4 Изменение системной конфигурации

Отключите брандмауэр:

# systemctl stop firewalld.service
# systemctl disable firewalld.service

Отключите SELinux. Отредактируйте файл /etc/selinux/config и установите значение SELINUX=disabled:

# sed s/^SELINUX=.*$/SELINUX=disabled/ -i /etc/selinux/config
# setenforce 0

Остановите службы sssd:

# systemctl stop sssd
# systemctl stop sssd-kcm.socket

Убедитесь, что каждый узел имеет постоянное имя хоста. Если оно не задано, используйте следующую команду. Например, на узле master:

# hostnamectl set-hostname mdw

Аналогичным образом задайте имена хостов на двух сегментных узлах:

# hostnamectl set-hostname sdw1
# hostnamectl set-hostname sdw2

Убедитесь, что все узлы могут взаимодействовать друг с другом по имени хоста или IP-адресу. Добавьте записи в файл /etc/hosts, чтобы сопоставить имена хостов с адресами сетевых интерфейсов локальной сети. Например, файл /etc/hosts на каждом из трех узлов должен содержать строки, аналогичные следующим:

192.168.100.10 mdw
192.168.100.11 sdw1
192.168.100.12 sdw2

3. Установка RPM-пакета YMatrix

Примечание!
Вы должны установить RPM-пакет базы данных на всех узлах сервера с использованием учетной записи root или с правами sudo. Системные зависимости будут установлены автоматически.

# dnf install -y matrixdb6_6.2.0+enterprise-1.el8.x86_64.rpm

После успешной установки процессы supervisord и MXUI запускаются автоматически. Эти фоновые службы обеспечивают веб-интерфейс управления и контроль процессов.

Если необходимо настроить порты, измените файл /etc/matrixdb6/defaults.conf после установки RPM-пакета. Этот шаг требуется только на узле Master.

# vim /etc/matrixdb6/defaults.conf

4. Развертывание базы данных

YMatrix предоставляет графический инструмент для развертывания. Удаленный веб-интерфейс доступен через порты 8240 и 4617. После установки эти порты по умолчанию открыты на всех узлах. Процесс MXUI обеспечивает службу веб-интерфейса.

Примечание!
Если графический интерфейс недоступен, обратитесь к разделу развертывание из командной строки.

Для доступа к мастеру установки через веб-браузер. Сервер, IP-адрес которого вы введете, станет узлом Master вашего кластера (в данном примере — mdw):

http://<IP>:8240/

На первой странице установщика введите пароль суперпользователя. Вы можете просмотреть его с помощью следующей команды:

На второй странице выберите «Развертывание на нескольких узлах», затем нажмите «Далее».


Продолжайте выполнение четырех шагов развертывания на нескольких узлах.

Шаг 1: Добавление узлов
Нажмите кнопку «Добавить».

Введите IP-адреса, имена хостов или полные доменные имена sdw1 и sdw2 в текстовое поле. Нажмите «Comfirm», затем «Далее».


Шаг 2: Настройка параметров кластера
«Зеркальное отображение данных» определяет, будут ли сегментные узлы включать резервные зеркала. Включите зеркалирование в производственных средах для обеспечения высокой доступности. Система автоматически рекомендует наибольший диск и соответствующее количество сегментов на основе системных ресурсов. Настройте в соответствии с вашим вариантом использования. Конфигурацию топологии кластера можно просмотреть на диаграмме. После подтверждения нажмите «Далее».


Шаг 3: Настройка путей хранения данных и etcd
Выберите путь хранения для etcd на каждом сервере. Кластер etcd будет создан на случайном нечетном числе серверов для обеспечения согласованности выборов и предотвращения ничьих.

Если вы установите флажок для развертывания etcd на дисках с данными, имейте в виду связанные с этим риски.


Шаг 4: Выполнение развертывания
На этом шаге отображаются ранее настроенные параметры. Проверьте их и нажмите «Развернуть».

Система автоматически развертывает кластер и показывает подробные шаги и ход выполнения. Когда все шаги успешно завершены, развертывание завершено.

Развертывание завершено.

5. Конфигурация после установки

По умолчанию YMatrix разрешает удаленные подключения. Если во время установки вы не выбрали «Разрешить удаленный доступ к базе данных», вручную добавьте строку, аналогичную следующей, в файл pg_hba.conf. Это позволит любому пользователю с любого IP подключаться с аутентификацией по паролю. При необходимости скорректируйте диапазон IP-адресов или имя базы данных, чтобы снизить риски безопасности:

# host  all       all   0.0.0.0/0  md5

После внесения изменений переключитесь на пользователя mxadmin и перезагрузите файл pg_hba.conf:

# su - mxadmin
$ mxstop -u    

Используйте следующие команды для запуска, остановки, перезапуска или проверки состояния кластера YMatrix:

$ mxstart -a
$ mxstop -af
$ mxstop -arf 
$ mxstate -s
Команда Назначение
mxstop -a Остановка кластера. (Останавливается только после завершения активных сеансов; может зависнуть при наличии активных сеансов.)
mxstop -af Принудительная немедленная остановка кластера
mxstop -arf Перезапуск кластера. Ожидает завершения текущих SQL-запросов. (Может зависнуть при наличии активных сеансов.)
mxstate -s Проверка состояния кластера