|
|
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
Собственно есть два сервера, на которых стоит Firebird 2.5. Первый является рабочим (база около 2 Гб), хотелось бы поставить второй страховочный, на случай если с первым что-то случится. Вопрос первый: как лучше осуществлять копирование базы с одного на другой, может репликация, или что-то иное. Вопрос второй, в случае отказа главного сервера, возможно ли как то в автоматическом режиме настроить перенаправление на второй ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2013, 12:04:30 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
Andrew_BulkinВопрос первый: как лучше осуществлять копирование базы с одного на другой, может репликация, или что-то иное. Вопрос второй, в случае отказа главного сервера, возможно ли как то в автоматическом режиме настроить перенаправление на второй ?1) IBPhoenix Replicator - асинхронная репликация, демон replserver опрашивает свой журнал каждые NN сек (где NN - настраивается) и всё, что там будет, перетаскивает на другой сервер. Журнал (таблица repl_log в базе-источнике) пополняется after IUD триггерами тех таблиц, которые вам надо сохранять на случай восстановления. Таблицы выбираете с помощью его инструмента конфигурации. Последняя версия репликатора переносит помимо данных также и счетчики генераторов. Но перенос измененных метаданных он не делает - это надо отдельно решать. 2) Штатный create shadow - синхронная передача в базу-приёмник всех измененных страниц, на физическом уровне. База-приемник будет точной зеркальной копией, в т.ч. с измененными метаданными. На линухе можно через NFS выделить ("замапить") ресурс другого сервера и создать shadow на нём. В результате сбоя основного сервака достаточно будет поменять ip'шник у резервного на ip'шник основного, снять у теневой копии признак, что она есть тень, и дальше можно запускать на неё юзеров. Как сделать автоматическое перенаправление при сбое - не знаю, но наверное это тоже решаемо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2013, 13:15:16 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
Ответ первый: это зависит от требований, нагрузки, технических возможностей и т.п. Ответ второй: это зависит от типа отказа. В ряде случаев достаточно указать два IP адреса для одного доменного имени. Клиент 2.5 автоматически будет коннектиться ко второму если не сможет к первому. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2013, 13:16:49 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
Andrew_BulkinВопрос первый: как лучше осуществлять копирование базы с одного на другой, может репликация, или что-то иное. в серьезных конторах покупают дисковые полки, которые имеют соединение с двумя серверами, и полка переключается с одного сервера на другой быстро и без проблем. Собственно, это типа failover cluster http://www.ibase.ru/ibinstall/ib7cluster.htm (для ФБ - то же самое. про линукс - не в курсе, но тоже наверняка можно). Другое дело, если речь идет о повреждении БД. В этом случае - да, репликация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2013, 13:29:34 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
Andrew_Bulkin, я еще добавлю, что "страховочный" сервер не обязательно должен быть только страховочным. Т.е. его при репликации можно использовать для отчетов, т.е. фактически распределить нагрузку между серверами. p.s. для InterBase такое делается и без репликации, через online dump. В FB можно было бы использовать nbackup, но... только в 3.0, если реализуют аналогичный накат изменений на бэкап уровня 0, а не в отдельный файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2013, 13:33:40 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
правильно ли я понимаю, что зеркалирование базы и теневые копии не спасают при сбое самого FB и портятся обе базы? и вопрос про репликацию: В случае схемы основная база => резервная база, как происходит заливка в резервную базу? Репликаторы отключают триггеры в резервной базе или нужно переписывать абсолютно все триггеры, чтобы они не запускались при заливке данных репликатором? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 13:04:01 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
druffправильно ли я понимаю, что зеркалирование базы и теневые копии не спасают при сбое самого FB и портятся обе базы?Да. druffРепликаторы отключают триггеры в резервной базе или нужно переписывать абсолютно все триггеры, чтобы они не запускались при заливке данных репликатором?Репликатор не отключает триггера. Нужен скрипт, который будет их деактивировать перед началом репликации и активировать при переключении работы на репликант-базу в случае сбоя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 14:17:15 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
Вано СусанидзеНужен скрипт, который будет их деактивировать перед началом репликации и активировать при переключении работы на репликант-базу в случае сбоя. Ну или DBA, который хоть что-то понимает в триггерах и сумеет настроить репликацию так, чтобы триггера во второй базе репликации помогали, а не мешали. Кстати, аффтар, приведи пример триггера, который при репликации приходится отключать и я ткну пальцем в кривизну дизайна твоей базы. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 15:25:26 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovВано СусанидзеНужен скрипт, который будет их деактивировать перед началом репликации и активировать при переключении работы на репликант-базу в случае сбоя. Ну или DBA, который хоть что-то понимает в триггерах и сумеет настроить репликацию так, чтобы триггера во второй базе репликации помогали, а не мешали. Кстати, аффтар, приведи пример триггера, который при репликации приходится отключать и я ткну пальцем в кривизну дизайна твоей базы. Зачем тыкать в кривизну? Владельцы и так знают, что дизайн не очень... База не моя, я только прикидываю как прикрутить к ней репликацию. Если существующие триггеры оставить как есть, или ко всем им добавить условия на проверку того, что вставка идёт от репликационного юзера, то тестирования будет очень прилично. Триггеров реально много и бизнес-логики в них тоже много, например при поднятии статуса какой-нибудь операции вполне может создаваться ещё одна операция (и может получится, что одну и ту же операцию попробует создать и репликационный сервер и триггер в базе).Так что если все эти триггеры будут срабатывать и в резервной базе, то ого-го. В процессе репликации хочется просто перелить данные, без затрагивания бизнес-логики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 15:44:34 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
druffпри поднятии статуса какой-нибудь операции вполне может создаваться ещё одна операция (и может получится, что одну и ту же операцию попробует создать и репликационный сервер и триггер в базе). Значит не надо реплицировать это создание операции, только и всего. Пусть триггера на приёмнике делают свою работу. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 15:48:39 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, А как сказать репликатору, что эту запись не нужно трогать? Но вообще.. если ради этого придётся править код с бизнесс-логикой, то такой вариант не подходит. Если придётся искать все места, где может встретится такое поведение и править триггеры репликатора, то такой вариант тоже не подходит. Отключение триггеров на приёмнике выглядит более безопасным вариантом, "коробочные" репликаторы так не умеют делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 16:01:26 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
druffА как сказать репликатору, что эту запись не нужно трогать? Для этого и существует условная репликация. Если, конечно, "автоматические" операции валятся в ту же таблицу, что и "ручные". Если у разработчика хватило сообразительности выделить их в отдельную таблицу, достаточно исключить эту таблицу из репликации целиком. Отключать триггера на приёмнике умеет IBDataPump, который тоже с некоторой точки зрения - репликатор. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 16:07:18 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, я наверное совсем не в теме, а что такое условная репликация? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 23:37:18 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
druffчто такое условная репликация? Это репликация, которая осуществляется только если операция удовлетворяет определённому условию. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 23:49:41 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
druffБаза не моя, я только прикидываю как прикрутить к ней репликацию.Боюсь с репликацией на уровне SQL сервера ты получишь облом. Делай уровнем ниже, например на уровне снапшотов файловой системы или системы хранения данных, это не самый красивый вариант, но без исходников своей приклады у тебя особо и вариантов-то нет. Да, чтобы снять снапшот, надо сначала залочить базу nbackup-ом, потом снять снапшот, потом тем же nbackup-ом отпустить базу. Опять же классический вариант фаиловер кластера, когда 2 ноды подключены с одной СХД по файберченнелу или по айскази для тебя никто не отменял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2013, 09:52:31 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevsky, А в чём может быть причина облома? Я себе примерно такой план представляю: 0) на боевую базу ставят всё что нужно для репликации/настраивают 1) раз в сутки (или после восстановления боевой) с боевой базы делается копия с перекрытием вчерашней копии, которая будет использоваться в качестве таргета для репликатора на ближайшие сутки или до ближайшей поломки боевой базы (что произойдет раньше) 2) на таргете отключают триггеры 3) включают репликатор с минимально возможной частотой перекачки данных и поднимают обе базы в случае падения основной базы 4) дают завершить работу репликатору - докачать данные 5) гасят репликатор и боевой FB 6) на таргете включают отключенные триггеры 7) переносят таргет на боевой сервер и включают его и в случае падения базы и в конце очередных суток опять выполняют пп 1-3 nbackup'у админы не доверяют. Говорят что уже получали не восстановимые копии. Снапшоты часто делать не получится, значит будут потерянные данные при поломке базы? про фэйловер кластер не понял, там предпологается один инстанс FB или несколько? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2013, 10:13:43 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
план именно на случай софтового сбоя в FB, а они регулярны. Если ляжет железо боевого сервера, то в плане появятся ещё пункты с поднятием нового сервера, а сервер с таргетом в качестве боевого не будет использоваться никогда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2013, 10:28:26 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
druffплан именно на случай софтового сбоя в FB, а они регулярны Ахренетьдайтедва © Можно узнать, что и как вы делаете, что у вас случаются регулярные софтовые сбои ФБ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2013, 10:34:05 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
druffпро фэйловер кластер не понял, там предпологается один инстанс FB или несколько?С файберному сундуку подключено 2 разных железки каждая со своим SQL сервером, смотрят на одну БД,но работают с ней строго по очереди, за чем следит спец софтина, кои есть как под винды так и под линуксы. druffтакой план представляю:который обломается прямо на пункте 0: "настраивают". дальше тоже ужас, никак не коррелирующий с репликацией. Про триггера просто песня, Если основной сервер с базой упал, что тогда докачивать репликатору? оно же лежит уже. Возможно я подхожу с точки зрения пессимистического сценария, но без исходников приклады я лично не решусь настраивать репликацию. У нас есть реплицируемые и нереплицируемые таблицы, когда добавляем новые, то изначально просчитываем, что будет реплицироваться в оба конца(накладнушки и прочая первичка для них ПК разнесены по диапазонам), что только из центра на периферию (различные справочники), что вообще не будет трогаться репликатором и пересчитываться по месту (агрегаты всяческие), бывает что то, что можно было бы спокойно, не нарушая нормализации, хранить в одной таблице в угоду репликации раскладывается на несколько. Для отчетов выделен вообще отдельный сервер, который реплицируется строго в один конец и тд. и тп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2013, 11:29:50 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
Ivan_PisarevskyВозможно я подхожу с точки зрения пессимистического сценария, но без исходников приклады я лично не решусь настраивать репликацию. Ну, для первичной настройки должно хватить и исходников базы. Глюки приложения можно выловить по ходу и поправить либо в приложении, либо обойти переделкой базы. Но таки да, работа это большая и кропотливая. Поэтому все берут за неё бешеные бабки. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2013, 12:59:04 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
miwaonline, большие базы, большая нагрузка, работа с базой не по феншую. Если вы думаете что в FB нет багов, которые могут привести к необходимости восстанавливать базу, то вы ошибаетесь. Ivan_Pisarevsky, в чем именно "обломается" план я так и не услышал. Более конкретный пример можно привести? Ivan_Pisarevsky дальше тоже ужас, никак не коррелирующий с репликацией. Про триггера просто песня, Если основной сервер с базой упал, что тогда докачивать репликатору? оно же лежит уже. если репликация будет выкачивать данные раз в 5 секунд, то зависит от того насколько плохо стало базе и насколько критичны были эти данные. И ещё раз повторюсь, в моём случае репликатор рассматривается только для создания резервной копии базы. Кроме вероятной потери данных за период с последней репликации (предположим 5 секунд), какие проблемы могут ещё быть? Ivan_PisarevskyВозможно я подхожу с точки зрения пессимистического сценария, но без исходников приклады я лично не решусь настраивать репликацию. Исходники есть, но приложений работающих с базой очень много, и если потребуется какое-то серьёзное вмешательство в их код - от этого варианта скорее всего откажутся, т.к. работа по анализу, разработке и тестированию будет очень и очень трудозатратной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2013, 14:19:00 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
druff Если вы думаете что в FB нет багов, которые могут привести к необходимости восстанавливать базу, то вы ошибаетесь. Если вам известны такие баги, то надо сообщить об этом трекеру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2013, 14:32:30 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
druffmiwaonline, большие базы, большая нагрузка, работа с базой не по феншую. Если вы думаете что в FB нет багов, которые могут привести к необходимости восстанавливать базу, то вы ошибаетесь. Я не думаю, что в ФБ нет багов; я удивлен, что вы так уверенно заявляете об их наличии. Воспроизводимые тест-кейсы этих багов есть? А соответствующие записи в трекере? Кстати, пара гигабайт - это не большая база. И даже не средняя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2013, 15:30:45 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
druffЕсли вы думаете что в FB нет багов, которые могут привести к необходимости восстанавливать базу, то вы ошибаетесь.Бэкап должен быть всегда, независимо от. Отказы по вине ФБ не выбиваются из вероятности отказа по питанию, отказа дисковой, фатальных ошибок персонала и т.п. Где-то величины одного порядка. Не вижу никакого смысла выделять их в отдельную статью. druffИ ещё раз повторюсь, в моём случае репликатор рассматривается только для создания резервной копии базы.Возможно, имея в работе распределённую систему на базе ФБ я воспринимаю репликацию как нечто другое. Да возможно тотальная/безусловная односторонняя репликация и способна помочь сделать некую разновидность фаиловер кластера. druffИсходники естьТогда есть шанс. druffесли потребуется какое-то серьёзное вмешательство в их кодСтепень серьезности зависит от вашей структуры базы, это видно только вам. В любом случае настройка распределенной системы тот еще гемор. Да когда можно отпустить клиента с товаром, несмотря на упавший интернет, это окупается. Хотя и тут есть проблемы, когда один офис выписывает накладную на отпуск с удаленного склада, клиент подъезжает с накладной, а там еще конь не валялся, т.к. система не оповестила наборщиков в виду отсутствия канала связи, а выписываюший не отзвонился(не смог/забыл/не знал что канал упал). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2013, 16:29:42 |
|
||
|
Как сделать второй страховочный сервер, если ляжет первый ?
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevsky , бэкапы делаются ессно ) основная цель - минимизировать время простоя при поломке основной базы независимо от того где был сбой: в железе или софте (сервер FB). И я попробую погонять репликаторы, чтобы понять достижимо ли это. Если есть альтернативное решение, то я с удовольствием бы о нём услышал (ну может какой-нибудь железный HACMP так умеет, но это очень дорого) И база не пара гигабайт, а на порядок больше. Отправкой информации о багах занимаются админы. Но бизнесу ведь не скажешь, что дескать это ещё не пофиксенный или внезапно обнаруженный баг в новом релизе FB виноват в том, что всё остановилось, а родной отдел IT белый и пушистый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2013, 21:36:00 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38383653&tid=1564358]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
209ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
78ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 534ms |

| 0 / 0 |
