Всем доброго дня. Перетаскиваем торговую базу 1С размером в 200+ ГБ

с мсскуля на линуксовый постгрес (пока всё по теме чатика 😁).

· Средствами мсскуля база бэкапится за 10±3 минут каждые полчаса (требование руководства), ужимаясь раз в 5-6 от исходной.
· Бэкап посредством pg_dump при минимальном сжатии хоть и пакует базу раз в 7-8, но занимает аккурат полчаса, что слишком долго — и это в отсутствие нагрузки на сам сервер. Без сжатия вдвое быстрее, но слишком жирно по месту получается.

Пришли к необходимости инкрементного бэкапа.
Поисковики по данной теме подсовывают в основном варианты с кластером или с разными серверами — боевым и для бэкапов, однако проблема в том, что второй сервер под кластеризацию/репликацию/резервное копирование образуется только после того, как освободим от базы нынешний мсскуль, поставим линя и развернём второй постгрес. А инкремент нужен прям сейчас.

Подскажите, пожалуйста, кто как с подобной проблемой разбирался?
Обязательно ли необходим спецсофт типа бармена, рубэкапа, pg_probackup и им подобных, или проще наскриптовать архивацию файловой составляющей через rsync, а остальное — вызовами к СУБД?

Поделитесь бэст-практиками, коллеги!

15 ответов

38 просмотров

пакуется база чем? проц при этом полностью утилизируется ?

Сергей Михненков
пакуется база чем? проц при этом полностью утилизи...

На данный момент в мсскуле? Или ещё не пущенная в бой на постгре? Оба варианта указаны: - на виндосервере — через мсскуль-менеджер, - на линёвом — через pg_dump. Насчёт нагрузки на проц в мс-варианте не скажу: не использую винду никак и нигде. Да и зачем эта инфа, если в итоге всё равно постгрес будет так или иначе? На линёвом пока не засекал нагрузок, но не должно быть уж очень. И он ведь не в работе ещё.

Спец софтины не обязательны. Я по крону дёргаю pg_basebackup,. А в качестве archive_command использую scp. Но все равно все обернуто скриптами для мониторинга и для сжатия архива журналов. Заскриптовать все ручками считаю полезным для понимания как оно работает. Спецсофтины удобны, наверное, когда у Вас с 10+ серверов. И когда нужно отдать админство другому человеку.

Нужно гуглить postgres pitr. Вот, например, https://www.postgresql.org/docs/current/continuous-archiving.html

Сергей Якушев
Нужно гуглить postgres pitr. Вот, например, https:...

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

Сергей Якушев
Спец софтины не обязательны. Я по крону дёргаю pg...

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

Aleksey Boltenkov
Не говорите ерунды, бейзбэкап из коробки все сдела...

Даже в заббикс отправляет, что он выполнился удачно?

Большынство вариантов вы да, ужэ указали. Или логический бэкап через pg_dump (pg_dumpall) -- только данные, прилично жмутся, никаких инкрементов. Или варианты с физическим бэкапом -- тогда записаны и все индэксы, данных заметно большэ. Но есть всякие варианты с инкрементами. >Без сжатия вдвое быстрее, Вполне оптимизируемый момент. Форматы plain и custom можно отправлять в stdout, который сжымать другим процэссом, другими алгоритмами или на другом сервере. Хочу обратить внимание ещё на один вариант -- простой физический бэкап и архив PITR. Через pg_archivecommand. Очень свежая резервная копия, не очень большая загрузка процэссора. >Поисковики по данной теме подсовывают в основном варианты с кластером или с разными серверами — боевым и для бэкапов, Что довольно странно -- инкрементальные бэкапы есть только в разных pg_probackup/wal-g, и от наличия второго сервера они никак не зависят.

Вадим «Дым» Илларионов ☭
И это я тоже нагуглил наряду со многим прочим — на...

Я проходил все по ссылке. Грабель нет. Cвои скрипты писал для мониторинга, сжатия и ротации бекапов.

Сергей Якушев
Спец софтины не обязательны. Я по крону дёргаю pg...

Почему-то рубануло мой развёрнутый ответ, попробую кусочками.

Сергей Якушев
Спец софтины не обязательны. Я по крону дёргаю pg...

Большое спасибо за пояснения, но поскольку я только вникаю в механику постгре-резервирования, вопросов ещё куча. :)

Попробуйте pg_probackup . Удовлетворит все ваши потребности. Полную копию базы 600 Гб делал минут за 20. Инкрементальные копии за минуты.

Вадим «Дым» Илларионов ☭
Почему-то рубануло мой развёрнутый ответ, попробую...

Что до крона, давно пересел на таймеры, о чём можно почитать в статье "Таймеры_systemd_вместо_crond" на вики альтлинукса (вот за что мой пост рубануло — я ссылку на статью вставил). Но то неважно.

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

Обсуждают сегодня

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта