powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ExternalFreeze, поделитесь опытом
10 сообщений из 10, страница 1 из 1
ExternalFreeze, поделитесь опытом
    #39382067
AlexKB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, Уважаемые форумчане.
Есть вопросы относительно ##class(Backup.General).ExternalFreeze().
Допустим, ночью я смогу резко снизить активность изменений в БД, путем остановки процессов выполняющих такие изменения. Но все остановить не могу, процессы с низкой активностью должны остаться, их изменения БД незначительны по отношению к штатной работе.
Могу увеличить таймаут со стандартных 10 минут на большее значение.
И выполняю копирование БД по своему списку на отдельный диск.
Все это я могу, но боюсь напороться на всяческие подводные камни.
Пошли вопросы:
1. До какого значения можно увеличивать таймаут, чтобы у Каше крыша все-таки не поехала, или же он просто проигнорирует мое значение, а подставит свое максимальное или свое по умолчанию?
2. Если у меня кэш глобалов был практически полный и я вызываю метод ExternalFreeze(), то перед заморозкой Каше все-таки выполняет сброс кэша глобалов на диск, или просто ждет его переполнения, которое может наступить буквально через пару минут?
3. Как лучше всего выводить из ступора Каше, если метод ExternalThaw() выполнится с ошибкой, бывало ли у кого такое? (перезапуск - понятно)
4. Если необходимо копировать несколько файлов БД, то как лучше поступать, для каждого копируемого файла БД применять обрамление ExternalFreeze()---ExternalThaw(), или для всех сразу?

Очень надеюсь на Ваше понимание, богатый опыт и хорошее расположение звезд в мою сторону.
...
Рейтинг: 0 / 0
ExternalFreeze, поделитесь опытом
    #39382112
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexKB,

Первое, о чем нужно понимать перед началом работы с таким бэкапом, это сколько времени вы потратите на сам бэкап одной базы или всех сразу. Это вы и сами понять можете, зная размеры БД, и скорость дисков, примерно расчитать. Можно и на практике проверить.

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

Увеличение таймаута нужно, если вы не успеете забэкапить базу пока действует фриз по записи, иначе после таймаута произодет фриз всей системы.

Для каждой отдельной базы имеет смысл если они у вас большие, только нужно выжидать время перед фризами, чтобы предыдущий этап записался (это кстати можно и отследить, например через mgstat). Потому как фриз сработает на всю запись.
...
Рейтинг: 0 / 0
ExternalFreeze, поделитесь опытом
    #39382160
AlexKB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor,
Что-то я сомневаюсь, чтобы не сохраненные данные накапливались не в кэше глобалов, а в журнале до записи...?
Журнал до записи необходим для краткосрочного хранения, чтобы обеспечить три фазы самого сохранения в файл БД из кэша глобалов...А иначе как то не логично получается...
Я конечно же буду экспериментировать, буду отслеживать времена.
Но чувствую, что может наступить момент, когда нужно будет замораживать и отпускать сервер не для всех копируемых файлов БД, а для каждого в отдельности (или групп файлов БД). Выжидать это понятно, еще лучше бы иметь некий признак. Если бы метод ExternalThaw() возвращал управление после завершения освобождения кэша глобалов, было бы еще лучше...
...
Рейтинг: 0 / 0
ExternalFreeze, поделитесь опытом
    #39382204
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробую дополнить ответ Дмитрия.

AlexKB1. До какого значения можно увеличивать таймаут, чтобы у Каше крыша все-таки не поехала, или же он просто проигнорирует мое значение, а подставит свое максимальное или свое по умолчанию?Можно выставить любое значение, контроля нет. Обрати внимание, что там два таймаута, и (для некластерных систем) надо использовать ExternalFreezeTimeOut. В нормальных условиях WRTDMN активируется по истечении 80с или по заполнении 25000 буферов, что наступит раньше. Если же WRTDMN (демон записи) заморожен, заполнение кэша будет продолжаться. См. статистику работы вашей системы (mgstat), насколько интенсивно она пишет в БД, и прикинь, как быстро заполнятся 75% кэша (надо ведь и для чтения что-то оставить) в худших условиях в то время суток, когда выполняется бэкап.

AlexKB3. Как лучше всего выводить из ступора Каше, если метод ExternalThaw() выполнится с ошибкой, бывало ли у кого такое? (перезапуск - понятно)
Только перезапуск, но вероятность ошибки здесь мала; не видел такого.

P.S. ИМХО, попытка использовать заморозку на время внешнего бэкапа, если он идёт десятки минут, добавляет проблем, которых в принципе нет, если использовать он-лайн бэкап Cache, обычно выполняющийся ненамного медленнее внешнего бэкапа. Кстати, придумана была технология заморозки прежде всего для заморозки записи в БД на время создания snapshot'а (о чём недвусмысленно "намёкнуто" в документации), причём подразумевался snapshot на уровне СХД, хотя есть и другие варианты. Создание shapshot'a - быстрая операция, обычно занимает несколько секунд, поэтому 10 минут выбраны с большим запасом.
...
Рейтинг: 0 / 0
ExternalFreeze, поделитесь опытом
    #39382210
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В нормальных условиях WRTDMN активируется по истечении 80с или по заполнении 25000 буферов, что наступит раньше.Поэтому представление, что изменённые данные где-то "накапливаются", неверно. Я не видел более 24000 "грязных" буферов даже на очень загруженных системах, с тысячами пользователей.
...
Рейтинг: 0 / 0
ExternalFreeze, поделитесь опытом
    #39382500
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, Murray Oldfield готовит статью о бекапах снепшотами в VMWare с использованием фриза.
Статья пока в черновиках, но надеюсь скоро он ее опубликует.
...
Рейтинг: 0 / 0
ExternalFreeze, поделитесь опытом
    #39382536
AlexKB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какие добавляются проблемы при заморозках длительных, скажем 35-45 минут..?
...
Рейтинг: 0 / 0
ExternalFreeze, поделитесь опытом
    #39382611
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблемы видятся как минимум две: при внезапном ("внеплановом") всплеске активности во время бэкапа может не хватить:
1- заданного таймаута
или
2- буферов в кэше.

Простой пример: допустим, система пишет 20000 буферов 1 раз в 80 секунд. Сколько потребуется кэша, чтобы удержать их в памяти в течение 30 минут?
20000/80*(30*60)*8/1024 ~ 3.4GB

Если размер кэша глобалов хотя бы 6GB, пережить заморозку скорее всего удастся.

Но допустим БД вдвое выросла, и нам требуется уже 60 минут, а администратор забыл увеличить таймаут? Имеем проблему №1: WRTDMN оттает раньше, чем завершится бэкап, и он у нас будет "грязным".
Если же админ увеличил таймаут до 3600 сек, но забыл увеличить кэш, имеем проблему №2: система просто зависнет.

Ни одной из этих проблем не просматривается при он-лайн бэкапе Cache. За что ты его так не любишь? :)
...
Рейтинг: 0 / 0
ExternalFreeze, поделитесь опытом
    #39382625
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если есть нежурналируемые БД (отличные от CACHETEMP), данные в которых тем не менее нельзя терять при перезапуске Cache, добавляется проблема №3: если во время заморозки произойдёт "лёгкий" сбой в работе Cache, в результате которого её придётся перезапустить, то все изменения, проделанные в нежурналируемых БД во время заморозки, будут потеряны.
...
Рейтинг: 0 / 0
ExternalFreeze, поделитесь опытом
    #39383733
Шваров Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот статья сегодня вышла по теме.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ExternalFreeze, поделитесь опытом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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