Мы запускаем кластер MySQL Galera (5.6) на 3 узлах.
Чтобы сделать резервную копию кластера, я пытаюсь следовать этому примеру: http://galeracluster.com/documentation-webpages/backingupthecluster.html
Команда, которую я использую:
node1: ~ $ sudo / usr / bin / garbd --address gcomm: //10.0.0.120: 3307? gmcast.listen_addr = tcp: //0.0.0.0: 4444 --group example_cluster --donor MyNode1 --sst backup
10.0.0.120 - это локальный адрес узла 1. Я также попробовал 10.0.0.10-3306, который является VIP кластера через HAProxy.
Оба терпят неудачу с ошибкой:
FATAL: исключение при создании цикла приема: не удалось открыть соединение с группой: 110 (время ожидания соединения истекло) в garb / garb_gcs.cpp: Gcs (): 35
Оставив меня со следующими вопросами:
Как указать файл резервной копии, который я могу передать на FTP-сервер для потенциального восстановления кластера.
Почему не удается установить соединение? Нужно ли мне настраивать кластер для резервного копирования?
Спасибо заранее за любую помощь.
Я прилагаю подробный вывод после выполнения команды резервного копирования:
2015-09-01 12:29:56.240 INFO: CRC-32C: using hardware acceleration.
2015-09-01 12:29:56.241 INFO: Read config:
daemon: 0
name: garb
address: gcomm://10.0.0.120:3307?gmcast.listen_addr=tcp://0.0.0.0:4444
group: example_cluster
sst: backup
donor: MyNode1
options: gcs.fc_limit=9999999; gcs.fc_factor=1.0; gcs.fc_master_slave=yes
cfg:
log:
2015-09-01 12:29:56.245 INFO: protonet asio version 0
2015-09-01 12:29:56.245 INFO: Using CRC-32C for message checksums.
2015-09-01 12:29:56.246 INFO: backend: asio
2015-09-01 12:29:56.246 WARN: access file(./gvwstate.dat) failed(No such file or directory)
2015-09-01 12:29:56.247 INFO: restore pc from disk failed
2015-09-01 12:29:56.248 INFO: GMCast version 0
2015-09-01 12:29:56.249 INFO: (63af44e0, 'tcp://0.0.0.0:4444') listening at tcp://0.0.0.0:4444
2015-09-01 12:29:56.249 INFO: (63af44e0, 'tcp://0.0.0.0:4444') multicast: , ttl: 1
2015-09-01 12:29:56.250 INFO: EVS version 0
2015-09-01 12:29:56.250 INFO: gcomm: connecting to group 'example_cluster', peer '10.0.0.120:3307'
2015-09-01 12:29:59.255 WARN: no nodes coming from prim view, prim not possible
2015-09-01 12:29:59.256 INFO: view(view_id(NON_PRIM,63af44e0,1) memb {
63af44e0,0
} joined {
} left {
} partitioned {
})
2015-09-01 12:29:59.759 WARN: last inactive check more than PT1.5S ago (PT3.50916S), skipping check
2015-09-01 12:30:29.287 INFO: view((empty))
2015-09-01 12:30:29.288 ERROR: failed to open gcomm backend connection: 110: failed to reach primary view: 110 (Connection timed out)
at gcomm/src/pc.cpp:connect():162
2015-09-01 12:30:29.289 ERROR: gcs/src/gcs_core.cpp:gcs_core_open():206: Failed to open backend connection: -110 (Connection timed out)
2015-09-01 12:30:29.290 ERROR: gcs/src/gcs.cpp:gcs_open():1379: Failed to open channel 'example_cluster' at 'gcomm://10.0.0.120:3307?gmcast.listen_addr=tcp://0.0.0.0:4444': -110 (Connection timed out)
2015-09-01 12:30:29.290 FATAL: Exception in creating receive loop: Failed to open connection to group: 110 (Connection timed out)
at garb/garb_gcs.cpp:Gcs():35
Во-первых, чтобы решить вашу проблему, вы должны подключиться к порту Galera, а не к порту MySQL, чтобы ПРИСОЕДИНЯТЬСЯ К КЛАСТЕРУ. Порт Galera по умолчанию - 4567.
У вас есть 3 узла, поэтому вы можете указать до 3 адресов.
Как только вы подключитесь к кластеру, ваш garbd запросит узел «MyNode1» (при условии, что есть один такой узел) для запуска сценария wsrep_sst_backup (поскольку вы указали «резервное копирование» - вы действительно создали этот сценарий?).
node1:~$ sudo /usr/bin/garbd --address gcomm://10.0.0.120:4567,10.0.0.121:4567,10.0.0.121:4567?gmcast.listen_addr=tcp://0.0.0.0:4444 --group example_cluster --donor MyNode1 --sst backup
Сообщите мне, если это все еще не работает.