Потеря данных из-за сценария обработки отказа MySQL DRBD Heartbeat

Я не знаю способ сделать это, но я думал, что вмешаюсь. То, почему не создать сертификаты для истечения 20 лет (случайное число здесь, могло быть меньше, или больше) после создания вместо этого?

4
задан 2 June 2009 в 15:49
3 ответа

Это, вероятно, не большая справка, но это было обсуждено экстенсивно в последнее время в списках рассылки Linux-HA и Кардиостимуляторе.

Я не очень хорош с heartbeat, но с кардиостимулятором я настроил бы ограничение, которое заставило кластерный менеджер ресурсов сбрасывать диски с блокировкой записи к диску (или вниз mysql временно) прежде, чем попытаться переключиться и затем выпустить блокировку, после того как переключатель был завершен.

2
ответ дан 3 December 2019 в 03:38

Способ протестировать heartbeat состоял бы в том, что Вы выпустите сервисную остановку heartbeat на одной машине, и это заменяет к другой машине и автоматически поднимает все сервисы на другой узел, также Вы не хотите к повороту drbd сервисов.

Другой способ протестировать состоит в том, чтобы сделать "жесткую" перезагрузку на одной машине.

0
ответ дан 3 December 2019 в 03:38

От всего я читал, и мой ограниченный опыт с heartbeat, все, что Вам придется сделать к вручную обработке отказа от одного сервера до другого, проблема

service heartbeat stop

команда. Всем, что находится в Вашем haresources файле, будет управлять heartbeat. Рассматриваемый вопрос, у меня есть кластер, который я настраиваю, который должен выполнить следующие сервисы:

snmpd
mysql

Вот конфигурация haresources

localhost00 \
drbddisk::home \
Filesystem::/dev/drbd0::/opt/local::ext3::defaults \
drbddisk::perf \
Filesystem::/dev/drbd1::/opt/local/perf::ext3::noatime,data=writeback \
IPaddr::1.1.1.1/24 \
mysqld \
snmpd 

и вот результаты, которые я получаю (мои извинения, если это - путаница, я не могу получить разрывы строки в правильном месте):

[root@localhost00 ~]# service snmpd status
snmpd (pid 18558) is running...
[root@localhost00 ~]# service mysqld status
mysqld (pid 18509) is running...
[root@localhost00 ~]# service drbd status
drbd driver loaded OK; device status:
version: 8.2.6 (api:88/proto:86-88)
GIT-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-build, 2008-10-03 11:30:17
m:res      cs         st                 ds                 p  mounted           fstype
0:home  Connected  Primary/Secondary  UpToDate/UpToDate  C  /opt/local       ext3
1:perf  Connected  Primary/Secondary  UpToDate/UpToDate  C  /opt/local/perf  ext3
[root@localhost00 ~]# service heartbeat stop
Stopping High-Availability services:
                                                           [  OK  ]
[root@localhost00 ~]# service snmpd status
snmpd is stopped
[root@localhost00 ~]# service mysqld status
mysqld is stopped
[root@localhost00 ~]# service drbd status
drbd driver loaded OK; device status:
version: 8.2.6 (api:88/proto:86-88)
GIT-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-build, 2008-10-03 11:30:17
m:res      cs         st                   ds                 p  mounted  fstype
0:home  Connected  Secondary/Secondary  UpToDate/UpToDate  C
1:perf  Connected  Secondary/Secondary  UpToDate/UpToDate  C
[root@localhost00 ~]#
[root@zenoss00 ~]# service heartbeat start
Starting High-Availability services:
                                                           [  OK  ]
[root@zenoss00 ~]# service snmpd status
snmpd is stopped
[root@zenoss00 ~]# service mysqld status
mysqld is stopped
[root@zenoss00 ~]# service drbd status
drbd driver loaded OK; device status:
version: 8.2.6 (api:88/proto:86-88)
GIT-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-bu
m:res      cs         st                   ds                 p  mounted  fstype
0:zenhome  Connected  Secondary/Secondary  UpToDate/UpToDate  C
1:zenperf  Connected  Secondary/Secondary  UpToDate/UpToDate  C
[root@zenoss00 ~]# service snmpd status
snmpd (pid 23055) is running...
[root@zenoss00 ~]# service mysqld status
mysqld (pid 23006) is running...
[root@zenoss00 ~]# service drbd status
drbd driver loaded OK; device status:
version: 8.2.6 (api:88/proto:86-88)
GIT-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-build, 2008-10-03 11:30:17
m:res      cs         st                 ds                 p  mounted           fstype
0:zenhome  Connected  Primary/Secondary  UpToDate/UpToDate  C  /opt/zenoss       ext3
1:zenperf  Connected  Primary/Secondary  UpToDate/UpToDate  C  /opt/zenoss/perf  ext3
[root@zenoss00 ~]#

заметьте, что остановка heartbeat остановила все сервисы, которые присвоены heartbeat (mysqld, snmpd); также заметьте, что drbd все еще работает, и heartbeat НЕ остановил его. DRBD должен выполнять все время для обработки отказа для работы.

Попробуйте свою обработку отказа снова, но не выполняйте команды drbd, и я думаю, что Вы избежите своего повреждения данных.

2
ответ дан 3 December 2019 в 03:38

Теги

Похожие вопросы