Spec-Zone.ru › MariaDB

Руководство по ручному SST узла кластера Galera с Percona XtraBackup

Вместо XtraBackup следует использовать Mariabackup во всех поддерживаемых версиях. См. руководство по ручному SST с Mariabackup.

В MariaDB 10.1 и более поздних версиях, Mariabackup является рекомендуемым методом резервного копирования вместо Percona XtraBackup.

В MariaDB 10.3, Percona XtraBackup не поддерживается. Для получения дополнительной информации см. Обзор Percona XtraBackup: Совместимость с MariaDB.

В MariaDB 10.2 и MariaDB 10.1, Percona XtraBackup поддерживается только частично. Для получения дополнительной информации см. Обзор Percona XtraBackup: Совместимость с MariaDB.

Иногда может быть полезно выполнить «ручной SST», когда стандартные SST Galera прерываются. Это особенно полезно, когда размер кластера datadir очень большой, так как в этом случае стандартный SST может долго выполняться, прежде чем прерваться.

Ручной SST в основном состоит из создания резервной копии донора, загрузки резервной копии на присоединяющийся узел и последующего ручного редактирования состояния кластера на узле присоединения. Эта страница покажет, как выполнить этот процесс с помощью Percona XtraBackup.

Процесс

  • Убедитесь, что у донорского и присоединяющегося узлов одинаковая версия XtraBackup.
innobackupex --version
  • Создайте директорию для резервной копии на донорском узле.
MYSQL_BACKUP_DIR=/mysql_backup
mkdir $MYSQL_BACKUP_DIR
  • Создайте полную резервную копию донорского узла с помощью innobackupex. Также необходимо использовать опцию --galera-info, чтобы резервная копия также содержала состояние кластера узла.
DB_USER=sstuser
DB_USER_PASS=password
innobackupex --user=$DB_USER --password=$DB_USER_PASS --galera-info --no-timestamp $MYSQL_BACKUP_DIR
  • Убедитесь, что процесс MariaDB Server остановлен на узле присоединения. Это зависит от вашего менеджера сервисов.

Например, на системах systemd вы можете выполнить команду:

systemctl status mariadb
  • Создайте директорию для резервной копии на узле присоединения.
MYSQL_BACKUP_DIR=/mysql_backup
mkdir $MYSQL_BACKUP_DIR
  • Скопируйте резервную копию с донорского узла на узел присоединения.
OS_USER=dba
JOINER_HOST=dbserver2.mariadb.com
rsync -av $MYSQL_BACKUP_DIR/* ${OS_USER}@${JOINER_HOST}:${MYSQL_BACKUP_DIR}
  • Подготовьте резервную копию на узле присоединения.
innobackupex --apply-log $MYSQL_BACKUP_DIR
  • Получите идентификатор версии кластера Galera из файла grastate.dat на донорском узле.
MYSQL_DATADIR=/var/lib/mysql
cat $MYSQL_DATADIR/grastate.dat | grep version

Например, очень распространенное значение версии — «2.1».

  • Получите состояние кластера узла из файла --xtrabackup_galera_info в резервной копии, которая была скопирована на узел присоединения.
cat $MYSQL_BACKUP_DIR/xtrabackup_galera_info

Пример вывода:

d38587ce-246c-11e5-bcce-6bbd0831cc0f:1352215

Этот вывод имеет формат:

uuid:seqno
  • Создайте файл grastate.dat в директории резервной копии на узле присоединения. Идентификатор версии Galera Cluster, uuid кластера и seqno из предыдущих шагов будут использованы для заполнения соответствующих полей.

Например, с использованием значений из предыдущих шагов мы можем сделать так:

sudo tee $MYSQL_BACKUP_DIR/grastate.dat <<EOF
# GALERA saved state
version: 2.1
uuid:    d38587ce-246c-11e5-bcce-6bbd0831cc0f
seqno:   1352215
safe_to_bootstrap: 0
EOF
  • Удалите содержимое существующего файла datadir на узле присоединения.
MYSQL_DATADIR=/var/lib/mysql
rm -Rf $MYSQL_DATADIR/*
  • Скопируйте содержимое каталога резервной копии в datadir на узле присоединения.
cp -R $MYSQL_BACKUP_DIR/* $MYSQL_DATADIR/
  • Убедитесь, что права доступа к datadir корректны на узле присоединения.
chown -R mysql:mysql $MYSQL_DATADIR/
  • Запустите процесс MariaDB Server на узле присоединения. Это зависит от вашего менеджера сервисов.

Например, на системах systemd вы можете выполнить команду:

systemctl start mariadb
  • Отслеживайте журнал ошибок MariaDB на узле присоединения и убедитесь, что узлу не требуется выполнить стандартный SST из-за выполнения ручного SST.
tail -f /var/log/mysql/mysqld.log
Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержание не предварительно проверяется MariaDB. Мнения, информация и мнения, выраженные в данном содержимом, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/manual-sst-of-galera-cluster-node-with-percona-xtrabackup/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API