Восстановление сбойного узла на 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.
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