powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Построение отказоустойчивого кластера для Cache
14 сообщений из 14, страница 1 из 1
Построение отказоустойчивого кластера для Cache
    #38191248
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Необходимо создать отказоустойчивый кластер на базе 2 серверов с Cache, причем Cache по разным причинам может быть активно только на одном из серверов. Решение:
Устанавливаем два сервера Debian6-64 c Cache2012-64. На сервера устанавливаем дополнительно по одному HDD для организации RAID1. Устанавливаем ПО DRBD и Heartbeat. Сервера между собой соединены напрямую в сеть и средствами DRBD организуется RAID1 на вторых HDD. На организованное зеркало устанавливается рабочая база Cache. Один сервер всегда работает в режиме мастер и на нем запущено Cache с поднятым рабочим сетевым интерфейсом. На втором сервере Cache остановлено. В случае падения первого сервера автоматически на втором сервере стартует Cache и монтируется с RAID1 рабочая база, поднимается сетевой интерфейс. После восстановления 1 сервера, он становится вторых и автоматически синхронизирует данные с первого сервера. С данной технологией можно ознакомиться, например, здесь http://www.opennet.ru/docs/RUS/ha_cluster/.
...
Рейтинг: 0 / 0
Построение отказоустойчивого кластера для Cache
    #38191431
Шваров Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalin,
А зеркало с ZMIRROR или без?
...
Рейтинг: 0 / 0
Построение отказоустойчивого кластера для Cache
    #38191446
Шваров Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kalin,
Или вообще InterSystems Database Mirroring никак не задействуется?
...
Рейтинг: 0 / 0
Построение отказоустойчивого кластера для Cache
    #38191487
Шваров Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kalin,
в случае экстренного падения первого сервера (выключение питания) не понятно, как синхронизирует данные второй сервер с Cache?
Что синхрится - журнал или cache.dat? Что с транзакциями?
...
Рейтинг: 0 / 0
Построение отказоустойчивого кластера для Cache
    #38191686
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений, насколько я понял, имеется в виду Failover Cluster , но основанный не на разделяемых дисках, а на дисковой репликации. Репликация, естественно, на уровне физических блоков диска.
...
Рейтинг: 0 / 0
Построение отказоустойчивого кластера для Cache
    #38192495
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalin,
схема интересная, но одна уязвимость видна сразу.
В рабочем цикле демона записи (WRTDMN) есть фаза, когда запись последовательности блоков в CACHE.WIJ закончена, и начата запись в CACHE.DAT. Если происходит останов боевого сервера в этой фазе, зеркальный получает в наследство БД в нестабильном состоянии. В "нормальном" кластере (на разделяемом диске) при старте Cache на 2-ом члене кластера произойдёт дозапись остатка блоков из CACHE.WIJ в CACHE.DAT, после чего идёт откат транзакций по журналу (Journal). В вашем случае этого не будет, отсюда - возможные ошибки целостности БД (^Integrity).
Если вы поместите на зеркалируемый диск ещё и CACHE.WIJ (допустим, транзакции вас не волнуют), то большой вопрос, сумеет ли Cache на 2-ом члене кластера подхватить чужой WIJ?
...
Рейтинг: 0 / 0
Построение отказоустойчивого кластера для Cache
    #38193707
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov,
Пока проблем не было
Схема работает еще в 5 достаточно долгое время.
Было падение и основного, и запасного серверов. Ни разу базу восстанавливать не пришлось
...
Рейтинг: 0 / 0
Построение отказоустойчивого кластера для Cache
    #38193725
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Размер баз исчисляется десятками гигабайт, изменения проходят ежесекундно
...
Рейтинг: 0 / 0
Построение отказоустойчивого кластера для Cache
    #38193735
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читаем http://ru.wikipedia.org/wiki/DRBD
Синхронизируется рабочий cache.dat. На зеркало можно забросить все, что необходимо синхронизировать.
...
Рейтинг: 0 / 0
Построение отказоустойчивого кластера для Cache
    #38193740
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalinРазмер баз исчисляется десятками гигабайт, изменения проходят ежесекундно
Это еще не достаточный показатель высокой нагрузки, у нас есть проект где прирост БД по несколько гигабайт в сутки, БД уже на несколько терабайт, при такой нагрузке на WriteDaemon запросто могут возникнуть описанные выше проблемы.
...
Рейтинг: 0 / 0
Построение отказоустойчивого кластера для Cache
    #38193742
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslovkalin,
схема интересная, но одна уязвимость видна сразу.
В рабочем цикле демона записи (WRTDMN) есть фаза, когда запись последовательности блоков в CACHE.WIJ закончена, и начата запись в CACHE.DAT. Если происходит останов боевого сервера в этой фазе, зеркальный получает в наследство БД в нестабильном состоянии. В "нормальном" кластере (на разделяемом диске) при старте Cache на 2-ом члене кластера произойдёт дозапись остатка блоков из CACHE.WIJ в CACHE.DAT, после чего идёт откат транзакций по журналу (Journal). В вашем случае этого не будет, отсюда - возможные ошибки целостности БД (^Integrity).
Если вы поместите на зеркалируемый диск ещё и CACHE.WIJ (допустим, транзакции вас не волнуют), то большой вопрос, сумеет ли Cache на 2-ом члене кластера подхватить чужой WIJ?
Только эта схема предполагает, по видимому, одновременную работу двух серверов Cache, что в приводимой схеме неприемлемо.
...
Рейтинг: 0 / 0
Построение отказоустойчивого кластера для Cache
    #38193869
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalin,
схема-то ваша, а не моя ))
И в общем-то ясно, что это отказоустойчивый кластер, а значит об одновременной работе 2-x Cache речь не идёт. Вопрос в том, что поместить на зеркалируемый диск. В технологии ISC, описанной по приведённой выше ссылке, на разделяемый диск помещается вся Cache. Она дважды устанавливается на разделяемый диск (в одно и то же место) на каждом из узлов кластера, но активна всегда только на одном узле. Если вы поступаете иначе (зеркалируете только CACHE.DAT), то рискуете, и практика здесь аргумент неважный: может 99 раз обойтись, а на 100-й обломиться.
Да и практика у каждого своя. В моей практике работы с серверами начального уровня (аппаратный RAID-5, когда-то SCSI, теперь SAS) вылетали именно диски. Поэтому не стал бы строить отказоустойчивое решение с "единой точкой отказа" в виде диска.

Но я вовсе не ругаю вашу схему. Просто, имхо, она нуждается в доводке, возможно, в контакте с WRC ISC.
...
Рейтинг: 0 / 0
Построение отказоустойчивого кластера для Cache
    #38194407
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так в этой схеме работает 2 диска. Отказ их одновременно на двух серверах маловероятен. Если этого мало, можно добавлять еще сервера со своими дисками. Фича вся заключается в автоматическом запуске второго сервера (без участия человека) в случае отказа основного с поднятием всех необходимых сетевых интерфейсов и всяких нужных демонов как в системе, так в Cache. Система должна работать в реальном режиме и останов ее на 10 минут уже грозит большими проблемами. А так, к дополнению, постоянно идет мониторинг за работой raid массива и состоянием жестких дисков на предмет появления неисправностей на них.
...
Рейтинг: 0 / 0
Построение отказоустойчивого кластера для Cache
    #38194690
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalinТак в этой схеме работает 2 диска. Отказ их одновременно на двух серверах маловероятен.Да, это большой плюс вашей схемы по сравнению с классической, которая с разделяемым диском. Свои сомнения изложил выше, мне в общем-то добавить больше нечего. Вам работать - вам и решать.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Построение отказоустойчивого кластера для Cache
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]