Восстановление сбойного узла на Percona 5.5.41-37.0-55

У меня есть перконовый кластер с 3 узлами, где 1 из узлов из-за сбоя сервера испытывает проблемы с последовательностью журналов InnoDB.

180425 17:32:53  InnoDB: Error: page 151555 log sequence number 
12431827692
InnoDB: is in the future! Current system log sequence number 
12421876039.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-reco . 
very.html
InnoDB: for more information.

Два других узла работают и работают, и кластер доступен. Когда я запускаю неисправный узел, он выполняет синхронизацию, но продолжает выдавать вышеуказанные сообщения об ошибках.

Используемая версия Percona: 5.5.41-37.0-55.

Версия Percona

The relevant part of the mysql config is.

[mysqld]

datadir=/var/lib/mysql
user=mysql

# Path to Galera library
wsrep_provider=/usr/lib/libgalera_smm.so

# Cluster connection URL contains the IPs of node#1, node#2 and node#3
wsrep_cluster_address=gcomm://10.213.157.8,10.213.157.9,10.213.157.10

# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW

# MyISAM storage engine has only experimental support
default_storage_engine=InnoDB

# This changes how InnoDB autoincrement locks are managed and is a 
requirement for Galera
innodb_autoinc_lock_mode=2

# Node #1 address
wsrep_node_address=10.213.157.10

# SST method
wsrep_sst_method=xtrabackup

Я могу принять mysql-дампов неисправного узла, и я также могу запустить узел без каких-либо innodb_force_recovery флаг

Как мне создать экземпляр неисправного узла или как решить проблему с этим узлом? Можно ли заново синхронизировать его с донора?

База данных достаточно мала (2 ГБ), поэтому восстановление можно выполнить довольно быстро

2 ответа

Решение

Поскольку db невелик, вы можете просто запустить его как новый узел и позволить ему синхронизироваться с существующим узлом (используя SST).

Кроме того, мы рекомендуем вам обновить систему до PXC-5.7 (или хотя бы до PXC-5.6).

Чтобы вызвать SST на существующем узле, вы можете сделать:

  • Остановите службу, удалите файл grastate.dat из каталога данных и перезапустите службу.
  • Перезапустите узел с чистым каталогом данных (переустановите pxc с чистым каталогом данных, а затем снова присоединитесь к кластеру).

Вот некоторая предыстория (хотя речь идет о том, чтобы избегать SST, а не заставлять его).

https://severalnines.com/blog/how-avoid-sst-when-adding-new-node-galera-cluster

Другие вопросы по тегам