Резервное копирование "онлайн" клиент-серверных баз в dt (не отключая пользователей)

Публикация № 681438 03.10.17

Администрирование БД - Архивирование (backup)

выгрузка dt архивирование копии баз бекап облачное резервирование.

Как реализовать резервное копирование клиент-серверных баз 1с в формат dt, не отключая пользователей. Рассматривается способ, делающий резервирование наименее заметным для пользователей и серверного оборудования.

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

Большинству компаний, у которых есть собственный IT отдел, сервера и статичный перечень рабочих баз, вполне может хватать и стандартных средств онлайн архивации средствами выбранного ими SQL сервера. В этом случае возникает только одно неудобство: Чтобы развернуть такую базу хотя бы в копию, нужен работающий SQL сервер, желательно не тот, где развернута рабочая база, также нужны навыки работы с SQL сервером. В общем, этот вариант, замечательный для IT службы, не очень удобен для программистов 1С, которые для разработки очень часто разворачивают файловые варианты баз.

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

Мы рассматривали несколько вариантов реализации бекапов в онлайн.

Один из рассмотренных вариантов — это воспользоваться средствами самого SQL, pgdump или pg_basebackup. Например:

Создадим дамп базы данных по имени, в файл

pg_dump -U postgres base > pgsql.backup

Создадим новую базу base-backup

createdb -T template0 base-backup

Зальем наш дамп базы из файла в созданную только что базу

psql -U postgres base-backup < pgsql.backup

Но этот вариант и другие, которые требуют копирования большого количества данных, мы сразу забраковали по следующим причинам:
Если база большого размера, то 

  1. Процесс дампа значительно нагружает систему.
  2. Нужно довольно много дорогостоящего места на дисках, где распологаются SQL сервера.
  3. В наших кластерах, где сотни информационных баз, использование значительных ресурсов для бекапов очень расточительно.

И мы разработали следующий алгоритм бекапов, который полностью нас устроил:

Особенности реализации:

Postgresql в среде виртуализации.

Среда виртуализауции построена на базе системы linux.

Файловая система среды виртуализации поддерживает снапшоты и работает по COW технологии

1. Сервера PostgreSQL развернуты на файловой системе с поддержкой COW (CopyOnWrite). В вашем случае это может быть вtrfs или zfs. (Зависит от предпочтений linux или freebsd).

В нашем случае откомпилированный под freebsd postgresql на zfs показал лучшую производительность, чем под linux.

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

Поэтому на первом шаге мы выполняем SQL команду в нужной нам базе:

CHECKPOINT;

Таким образом сбрасывая на диск все завершенные транзации PostgreSQL

И сразу после этого создаем снапшот системы, например:

btrfs subvolume snapshot /mnt/data/lxc1001  /mnt/data/lxc1001-backup

или 

zfs clone rpool/data/jail1001@clone rpool/data/jail1001-backup

У нас процесс автоматизирован, поэтому время между CHECKPOINT и снапшотом составляет доли секунды. Таким образом мы получаем клон файловой системы PostgreSQL на момент времени.

2. На следующем шаге мы должны превратить наш диск в vm qemu, lxc или jail freebsd.

Поскольку диск уже существует, то нам остается только сгенерировать конфигурационный файл для нашей машины, что также делается практически мгновенно, если процесс автоматизирован. Если вы используете KVM виртуализацию, не забудьте поместить новую виртуальную машину или в изолированную виртуальную сеть или vlan, поскольку после старта у нее будет такой же адрес как и у оргинального postgresql.

3. Далее процесс уже вполне понятен. На сервере 1С мы создаем новую базу и указываем новый postgresql сервер. (Программно можно через RAS ). Чтобы снизить нагрузку на оборудование и сделать процесс бекапа наименее заметным для пользователей, лучше всего для целей бекапов держать отдельный сервер 1С на отдельном оборудовании, на котором не работают пользователи.

4. Подключаемся конфигуратором и выгружаем базу в dt.

5. Уничтожаем созданную базу на сервере 1С, виртуальную машину Postgresql и затем созданный клон и снапшот.

Вот, собственно, и всё.

Подытожим преимущества данного способа:

  1. Минимальное количество дисковых операций и затраты на дисковое пространство
  2. Минимальное время (если автоматизировано) на подготовку Postgres для выгрузки dt.
  3. Если сервер 1С для бекапов развернут на отдельном оборудовании, то пользователи даже не заметят процесса выгрузки архивной копии.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. МихаилМ 03.10.17 21:35 Сейчас в теме
для ms sql я делал dt ,не выгоняя пользователей так
1) создал пустую базу в мс скл для выгрузки в дт
2) создал в ней представления (скриптом) на таблицы базы ,из которой нужно сделать дт
3) создал базу в кластере ручками (но сейчас можно скриптом)
4) выгрузил дт ручками (сейчас можно скриптом).

думаю такое можно сделать и в postgresql. ведь чудес не бывает - и за использование COW все равно расплачиваетесь падением производительности.
7. konstanta_online 04.10.17 10:13 Сейчас в теме
(1)
2) создал в ней представления (скриптом) на таблицы базы ,из которой нужно сделать дт

Интересно, как вы думаете зачем 1С тогда сделала возможность резервирования только в монопольном режиме?
Что будет с содержимым вашего архива, когда бекап делается минут 30, а за эти 30 минут пользователи активно вводят данные?
Evil Beaver; kild; echo77; user747571; user852781; user821186; Brawler; +7 Ответить
2. nvv1970 03.10.17 22:10 Сейчас в теме
Читаешь, читаешь... Виртуализация, скрипты, быстрый PG, бэкапы, все автоматизировано... Все как во сне... А потом бац!... выгрузка в ДТ. ((( Рука лицо.
Кому он вдруг понадобился при таком уровне автоматизации администрирования??
collider; baracuda; o.egorova.omsu; Liris; kild; Anchoret; uri1978; Brawler; tsukanov; +9 Ответить
3. МихаилМ 03.10.17 22:39 Сейчас в теме
(2)
не все разработчики могут (могли) позволить себе для разработки купить 1с серверную.
поэтому им для работы в файловой базе нужна "урезанная" версия рабочей базы.
сейчас можно и не урезать.
9. Sprinter2000 04.10.17 11:06 Сейчас в теме
(3) Не особая проблема, если что-то не специфическое и привередливое. Linux+Postgresql+1C server x32. До 12 подключений лицензию на сервер не надо, пока-что
4. konstanta_online 04.10.17 00:06 Сейчас в теме
(2)
Читаешь, читаешь... Виртуализация, скрипты, быстрый PG, бэкапы, все автоматизировано... Все как во сне... А потом бац!... выгрузка в ДТ. ((( Рука лицо.
Кому он вдруг понадобился при таком уровне автоматизации администрирования??


Странный вопрос ) Именно программисты и спрашивают. У нас в облаке кроме пользователей крутятся и сторонние программисты. И на удивление, им зачем-то постоянно нужны именно свежие dt для доработок клиента. Часто еще сервер хранилища конфигураций просят настроить. Наверное, все-таки разработка на локальной файловой базе идет быстрее.
5. nvv1970 04.10.17 08:51 Сейчас в теме
(4) Когда база переваливает за десятки гигов, то про какую выгрузку может идти речь? Тот же ms делает уже сжатый бэкап от силы пару минут... (на днях демонстрировал человеку: 17 Гб чистых данных (30Гб база) у меня на ноуте забэкапились за 20-30 сек.), а выгрузка в ДТ - это минут 10-20 может быть. А что делать с базами в 100, 500, 1000 Гб??
Программист должен владеть основными операциями СУБД. MS владеют все. PG отдельные. Если это не так - то это еще не программист. (недавно коллега спросила как установить себе на комп 1с сервер... беда...)
В конце концов администратор БД всегда придет на помощь и покажет как и что делается. Да и гугл кагбэ есть.
Разработка в файловом варианте тестовой базы (только если заказчик не пользует файловый) - нонсенс и дилетантство.
Eugen-S; kievanton; collider; o.egorova.omsu; Liris; Danil.Potapov; user747571; kot26rus; GeRon; manlak; uri1978; wbazil; Brawler; Spacer; Saint13; gorakh; artempo; mickey.1cx; +18 1 Ответить
6. konstanta_online 04.10.17 10:01 Сейчас в теме
(5)
Никто ведь и не говорит, что бекап средствами sql делается медленно. Наше облако делает 4-х кратное резервирование и файловой системой и резервными хранилищами и бекапами целиком виртуальных машин с sql и средствами sql. Статья называется "Как делать бекапы в dt в онлайн режиме". О том и речь.
У нас в облаке есть и большие базы и по 50Гб и больше. В них, действительно программисты вынуждены вести разработку в режиме клиент-сервер, но большая часть баз - это средние организации с количеством рабочих мест 5-20 с базами по 2-5Гб со своими сторонними программистами, которые подключаются к нам в облако и быстро вносят какие-либо правки "по старинке" в свою файловую базу.
user852781; CyberCerber; frkbvfnjh; +3 Ответить
10. asved.ru 35 04.10.17 11:11 Сейчас в теме
(6) Таким заголовком статьи Вы укореняете мысль о том, что dt - это бэкап.
В то же время 1С не рекомендует использовать выгрузку в dt для целей резервного копирования.
Shmell; o.egorova.omsu; kild; olegmedvedev; echo77; japopov; kot26rus; tiniji; grumagargler; Saint13; grfru; artempo; +12 Ответить
12. Sprinter2000 04.10.17 11:15 Сейчас в теме
(10) Плюс еще в зависимости от варианта клиент-сервера можно выловить различные проблемы. dt не всегда можно легко выгрузить в связке PostgreSQL+1C сервер х32
56. echo77 1451 08.12.17 15:50 Сейчас в теме
(10) Поддержу - выгрузка дампа базы в dt - это не архивирование, хотя и выглядит, вроде кошерно, выполняется из конфигуратора.
Правильное архивирование файловой базы - это копирование содержимого каталога, когда в базе никого нет, серверной базы - бэкап средствами СУБД
olegmedvedev; +1 Ответить
58. baracuda 2 12.12.17 14:32 Сейчас в теме
(10) был ли в вашей практике случай когда из dt база не восстанавливалась? Только по чесноку ответьте.
60. asved.ru 35 12.12.17 17:44 Сейчас в теме
(58) Какая разница? Вам на ИТС русским по белому написано, что гарантии восстановления из dt отсутствуют.
62. baracuda 2 13.12.17 09:44 Сейчас в теме
(60) Из ответа я понимаю, что подобных случаев не было. У меня например тоже, хотя за свою скудную практику немало загружал dt в базу.
В общем не стоит говорить, что dt не является бэкапом. Это полноценный бэкап. А рекомендуется этот метод для резервирования или нет это другой вопрос.
63. asved.ru 35 13.12.17 13:08 Сейчас в теме
(62) Вы считаете себя умнее разработчиков платформы? Ну-ну.
64. baracuda 2 13.12.17 14:13 Сейчас в теме
(63)я просто констатирую факты
70. OlegAr 11 13.12.17 15:35 Сейчас в теме
(63)а Вы считаете разработчиков 1С самыми умными, тогда откуда косяки в разработках и куча обновлений до бесконечности. по моему настоящий ...
сегодня только пробовал использовать типовую обработку по переносу БП 3.0 в КА 2.4 и что. в ...опе бы им всем...
81. oldcopy 136 13.12.20 20:44 Сейчас в теме
(62) Подобные случаи были. Когда поврежденной оказывалась и база и "резервные копии" в DT. Потому что DT - это дамп базы и многие ошибки не препятствуют выгрузке в него. В этом случае бекап в виде файла базы позволит вам хотя бы эту базу загрузить (даже если в ней есть ошибки), с DT вы просто останетесь у разбитого корыта.
65. Diagnostiks 17 13.12.17 14:24 Сейчас в теме
(58) Были такие случаи, и достаточно часто
66. baracuda 2 13.12.17 14:36 Сейчас в теме
(65) уверен что не сильно чаще случаев когда не загружался бэкап СУБД. Сам кстати строго юзаю архивирование средствами СУБД.
67. Diagnostiks 17 13.12.17 14:40 Сейчас в теме
(66) Не поверите, но бэкап СУБД еще не разу не давал сбоев))) А вот dt подводили только так))) Даже разработчики 1С в принципе согласны, что dt это не бэкап, а просто вариант переноса базы.

Если "битый" бэкап:
Средствами СУБД - при неудачном восстановлении база восстанавливается на момент заливки бэкапа.
DT - при неудачном восстановлении гробит базу наглухо, итог: нет базы и нет бэкапа (т.к. он "битый").

Думаю, плюсы очевидны.
68. baracuda 2 13.12.17 14:46 Сейчас в теме
(67) Все очень индивидуально. У меня при простой модели восстановления в MSSQL2012 был случай когда из бэкапа база не развернулась. Пришлось предыдущий бэкап брать и за несколько часов доки восстанавливать.
И еще я вроде как подчеркнул, что не рекомендую делать бэкапы через dt, я лишь настаиваю, что на мой взгляд, делать их для разовых бэкапов имеет смысл.
69. DonAlPatino 161 13.12.17 15:35 Сейчас в теме
(67) ОК, dt не бэкап. Но как средство перетаскивания инфобазы с MS SQL на Postgress и обратно его можно рассматривать? Ну не через Универсальный обмен же базу переливать? Или еще есть варианты?
71. asved.ru 35 13.12.17 18:54 Сейчас в теме
(69) Да, это именно транспортный формат.
82. palsergeich 24.03.21 15:36 Сейчас в теме
(58) Да, особенно если это ДТ с файловой базы.
Событие нечастое, но случаи были
15. nvv1970 04.10.17 13:26 Сейчас в теме
(6)
У нас в облаке есть и большие базы и по 50Гб и больше. В них, действительно программисты вынуждены вести разработку в режиме клиент-сервер, но большая часть баз - это средние организации с количеством рабочих мест 5-20 с базами по 2-5Гб со своими сторонними программистами

Ключевое то что у вас облако и мелкие базы. И вы с программистами по разные стороны барикад. ))) Конечно это метод. Идея известная. За публикацию респект.
Я, например, работаю с клиентами >50Гб. Поэтому и другой взгляд на вещи.

программисты вынуждены вести разработку в режиме клиент-сервер
правки "по старинке" в свою файловую базу
Неверная формулировка. Это не "по старинке" или "вынуждены", нет. Это правильное программирование и тестирование того функционала, который крутится у заказчика.
Думаю, что не нужно объяснять, что при "правильном" программировании конфа должна быть работоспособна и в к-с и в файловом варианте.
18. frkbvfnjh 625 05.10.17 06:12 Сейчас в теме
(6)
Статья называется "Как делать бекапы в dt в онлайн режиме". О том и речь.
Полностью согласен. Кто там и чего рекомендует, это вопрос другой, а данная статья может многим быть полезной. Любой дурак может выгрузить бэкап правильно, только не всем дуракам удобно таким бэкапом пользоваться...
35. kembrik 3 11.10.17 11:50 Сейчас в теме
(6)
В них, действительно программисты вынуждены вести разработку в режиме клиент-сервер, но большая часть баз - это средние организации с количеством рабочих мест 5-20 с базами по 2-5Гб со своими сторонними программистами, которые подключаются к нам в облако и быстро вносят какие-либо правки "по старинке" в свою файловую базу.


Скажем так, это сильно "по старинке". Если уж "сторонние программисты" не умеют работать с Хранилищем (а вы им, как облачники, часто этого толком не позволяете), не проще ли, с точки зрения бизнеса и удобной опции отдельной строчкой в прайсе сделать "вчерашнюю копия базы" ведь очень редко "сопровождающему лицу" нужен прямо актуальный DT

Я как раз из тех "сопровождающих", у которого свой аккаунт на облаке, а клиентов я туда привожу по партнерке. И в моём случае ТП облака пошли навстречу - одна и та же SQL база видна и у меня,и у сопровождаемых мною клиентов, и есть одна "собственная" SQL база "Текущий клиент" (на сервере с отладкой), куда мне ТП делает копию базы по моему запросу (средствами MS SQL конечно)

А у вас с точки зрения технаря вроде всё нормально сделано - "Задачу поставили - задачу решили", а вот с точки зрения бизнеса и бизнес-заказчиков - костыль, Я уж молчу про безопасность - ведь получается вы физически знаете логин/пароль пользователя ПП, раз сами выгрузку инициируете в dt? - значит возможностей для злоупотребления у сотрудников облака куда как больше
17. Brawler 484 04.10.17 21:02 Сейчас в теме
(5) 300+ гиговая база у нас на кластере за 15 минут бэкапится со сжатием до 47 гигов средствами MS SQL.
Если выгружать в DT это будет дольше, да и потом этот DT можно засунуть себе куда подальше, так как из него не развернуть файловую базу...

Тогда зачем нужен этот DT спрашивается)))

Только для маленьких баз приведенный в статье материал.
24. herfis 427 05.10.17 14:21 Сейчас в теме
(17) Если цифра "300+ гигов" взята из свойства "Размер", то это вообще ни о чем еще не говорит. Подозреваю, что реальных данных, которые и бэкапятся, там гиг на 50. Ну, может, 60. Можете убрать сжатие бэкапов и сравнить. Не так уж сильно оно и жмет.
25. Brawler 484 05.10.17 16:19 Сейчас в теме
(24) это именно живые данные на 300 гигов
а как известно там сплошной текст и числа
а все это дело архиваторы любя и жмут довольно таки бодро
ну и не стоит забывать, что в базе есть и двоичные данные выраженные в изображениях
26. herfis 427 05.10.17 17:00 Сейчас в теме
(25) О как. Неслабо. А какой же у вас тогда размер базы (mdf+ldf, именно этот размер management studio показывает в свойствах базы как "размер базы")?
33. tiniji 168 10.10.17 15:38 Сейчас в теме
(26) Нормально SQL жмет. 84 Гб реальных данных сжимает до 13-14 Гб архив. PostgreSQL еще сильнее сжимает, но и восстанавливает дольше.
kot26rus; +1 Ответить
42. herfis 427 12.10.17 09:58 Сейчас в теме
(33) Каюсь, был неправ. А постгри, кстати, просто тупо индексы не бэкапирует и при восстановлении их полностью пересоздает. Поэтому и размер меньше / восстановление дольше.
8. viptextil 38 04.10.17 10:42 Сейчас в теме
Идея хороша, и действительно позволяет экономить ресурсы, но место
У нас процесс автоматизирован, поэтому время между CHECKPOINT и снапшотом составляет доли секунды. Таким образом мы получаем клон файловой системы PostgreSQL на момент времени.
Вызывает некоторое сомнение. Конечно, уменьшение времени позволяет минимизировать риски, но не устраняет их полностью. А так идея очень хороша.
13. herfis 427 04.10.17 11:18 Сейчас в теме
(8) Думаю, риски пренебрежимо малы. Запас времени до очередного чекпоинта существенный, а снапшот сделается фактически мгновенно. Так что идея выглядит вполне себе рабочей.
11. herfis 427 04.10.17 11:12 Сейчас в теме
Прикольно. С интересом почитал про zfs.
Плюс Лустин рассказывал, что использование zfs для 1С на postgres дает хорошие результаты в суровом продакшене...
Надо двигаться в эту сторону :)
14. herfis 427 04.10.17 11:44 Сейчас в теме
Пользуясь случаем спрошу. А есть какие-то тонкости в настроках той же zfs? Ну типа "перед началом работы сразу нужно изменить такие-то и такие-то настройки по такому-то принципу"? А то спросил админов, говорят пробовали экспериментировать с zfs и остались вопросы. Типа память любит сильно и заметная деградация производительности наблюдалась...
31. konstanta_online 09.10.17 11:20 Сейчас в теме
(14)
Для PostgreSQL желательно кластер статического размера.
Мы для датасета назначаем 4k
16. Sprinter2000 04.10.17 14:16 Сейчас в теме
Все что слышал это тоже, что память очень любит, особенно для дедупликации. А кроме этого только положительные отзывы. Но сам не пробовал. И в продакшене под того же слона тоже не гонял.
19. KroVladS 33 05.10.17 09:37 Сейчас в теме
Где готовые скрипты?
Или Вы похвастаться решили, какие Вы молодцы?
30. konstanta_online 09.10.17 11:16 Сейчас в теме
(19)
Именно )
И у нас не скрипты, а специально разработанная конфигурация для обслуживания Датацентра.
20. mad_maksim 91 05.10.17 10:12 Сейчас в теме
Тот случай, когда комментарии интереснее статьи )
21. Fragster 1076 05.10.17 12:07 Сейчас в теме
пгдамп > 7зип > неткат ....сеть... неткат > 7зип > пгрестор, и всё одним .sh файлом можно сделать с компа разработчика
22. Artemka20121 6 05.10.17 12:12 Сейчас в теме
(0) создать базу для бэкап_дт ... сделать скульный бэкап + развернуть в бэкапдт ->сделать выгрузку в дт файл
все можно сделать командной строчкой
23. nickperel 2 05.10.17 13:08 Сейчас в теме
Клоны какие-то... Виртуализация... В одном месте на бакапе экономим, в другом 1сные dump заряжаем. Мрак..
Этот dt-шник программерам нужен не часто. Чаще им надо потестироваться на актуальных данных. И они могут делать это прямо на копии по vpn или http. И зачем вгонять СУБД и кластер 1С в виртуальные машины? От этого им сразу нехорошо.

pg_dump из рабочей
pg_restore в копию с --clean
и 1cv8.exe .... /DumpIB и все это ночью или раз в неделю

Сисадмины любят снэпшоты. А здесь мгновенный способ выкинуть насторону dtшник, не теребя дампом сервер платящих клиентов.
Правда сервер будет пережевывать всю эту виртуализацию, имея по тесту гилева 8-11 попугаев, ну а так у большинства т.н. "продакшенов" в рф . Часто ли платят за повышение количества попугаев?
Годный прием сисадминства - "откинь проблемы эффективно". К ней еще прилагается - "работает - не трожь"
27. opera199 29 06.10.17 13:39 Сейчас в теме
Зачастую перед выгрузкой в .dt необходимо почистить некоторые таблицы, чтобы они не превышали 4гб, иначе dt-шник не загрузится в файловую базу.
73. Healer 1 15.06.18 16:51 Сейчас в теме
(27) Это нужно, только если есть ограничение файловой системы на максимальный размер файла. А ограничение в 4 ГБ свойственно только уродской Fat32 от Microsoft. У этой фирмы вообще везде такие проявления, куда ни глянь: модель бизнеса такая, понимаешь ли ;0\
74. Healer 1 15.06.18 16:52 Сейчас в теме
(27) ...в той же слизаной NTFS предел размера файла - пара экзобайт.
28. VmvLer 06.10.17 14:00 Сейчас в теме
В предисловии темы автором указан аргумент против стандартных бекапов из СУБД:

В этом случае возникает только одно неудобство: Чтобы развернуть такую базу хотя бы в копию, нужен работающий SQL сервер, желательно не тот, где развернута рабочая база, также нужны навыки работы с SQL сервером.


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


зачем мне еще больше переменных при решении подобных задач?
36. nickperel 2 11.10.17 20:09 Сейчас в теме
(28)у него задача - выкинуть проблему суппорта актуальными данными внешних программеров вон из рабочего сервера, чтобы дампом в dt не тормозили рабочую среду.
Этот дамп - единственная многонитевая\многопроцессорная функция в платформе.
Поэтому все завиртуалено. Тонна компромиссов. Не нужно все это, когда мало данных.
29. tiniji 168 08.10.17 05:09 Сейчас в теме
Только линуксоид может сделать задачу за тонну времени и сил, которая настраивается на MS SQL за 5 минут (со всеми проверками)
DT самый ненадежный архив
32. herfis 427 10.10.17 09:40 Сейчас в теме
34. tiniji 168 10.10.17 15:47 Сейчас в теме
(32) Читал, Вы можете назвать таких специалистов, которые по данной статье завтра смогут так-же все настроить ? И много таких админов в регионах ? Если тут пишут про то, что 1с-ник не может сделать бэкап и рестор средствами СУБД, я уже молчу тогда про сис. админов.

P.S. Статья узкоспециализированная под конкретную задачу, под конкретную СУБД, написанная скорее всего системным администратором.
38. nickperel 2 11.10.17 20:21 Сейчас в теме
(34)
Вы можете назвать таких специалистов, которые по данной статье завтра смогут так-же все настроить

А что тут сложного? Если 1Сник это не может, то не знаю для чего он нужен.
У 1сника работа - данные, а не игра в глупенькие разборки "сисадмин против 1сника".

Этот метод вполне рабочий, если перекидывается большими данными в 300, 500 Gb - 1 Tb.
41. herfis 427 12.10.17 09:49 Сейчас в теме
(34) Если бы читали, то не было бы этого абсолютно неуместного выпада linux vs ms
Банальное бэкапирование (сюрприз!) и на линуксе делается не менее банально, чем на ms
Статья про другое. Как вы правильно заметили - она про решение конкретной узкой задачи. Про очень эффективное решение. Только вы ошиблись - суть предлагаемой технологии не является специфичной для конкретной СУБД, несмотря на то что описывается она в приложении к postgresql.
А если вам не нравится, что она выходит за рамки пресловутой "привычной области знаний рядовых одинэсников", то это каким-то луддизмом попахивает, извините.
37. nickperel 2 11.10.17 20:15 Сейчас в теме
(29)Теперь нет. dt проверяется в процессе.
1С имеет в виду что dt не заменит бакап SQL сервера. Речь не про надежность, речь про то что sql-ный бакап может быть сделан он-лайн и восстановиться на момент времени.
39. nickperel 2 11.10.17 20:29 Сейчас в теме
(29)а sqlный бакап может спокойно слить в архив базу, которая убита некорректным динамическим обновлением.
И затереть предыдущий архивчик в том же задании.
Такие дела с надежностью..
40. VmvLer 12.10.17 08:24 Сейчас в теме
(39) если архивы нон-стоп и хранить последние скажем 48, то у вас будут архивы на каждый час, правда у нас период 20 минут.

таким образом, чтобы ни происходило в течение 2-х суток - риски минимизированы. Ну а если вы в течение 2-х суток не заметили проблем с базой, то это уже проблемы квалификации
43. nickperel 2 12.10.17 12:15 Сейчас в теме
(40)Попробуй хранить 48, если база гигабайт 700. эльфы
44. tiniji 168 12.10.17 14:55 Сейчас в теме
(43) С Вами бесмысленно спорить. Кто в теме, тот поймет что это 48 бэкапов журнала транзакций к полной копии.
45. nickperel 2 12.10.17 19:15 Сейчас в теме
44)Чета не понял, я начал с кем-то спорить что ли? Храни 48 журналов. Молодец.
Многие сисадмины с которыми имеют дела многие программисты 1с хранят только полные ночные копии. И что?
А задача топика выдать ВСЕ данные на СТОРОНУ. И что?
46. sinops 27.10.17 17:20 Сейчас в теме
Очередной не очень понятный велосипед.
Как уже говорили dt файл не самый лучший вариант хранения, я один раз столкнулся что база из dt не грузиться и ни как было не поднять.
Зато видел на ms sql базу битую , она работала, но не тестировалась и не с сохранялась штатными средствами, зато бекапы sql работали на ура.
По поводу нужны разработчикам dt.... Если база более 4 гигов, то быстрее её разворачивать из бекапа sql чем из dt, и если разработчик в теме он знает как поставить себе на рабочем месте сервер 1С для личного использования.
47. konstanta_online 30.10.17 11:44 Сейчас в теме
В dt онлайн выгружаем по следующим причинам:
1. Мы это можем.
2. Это требования облачных договоров. Чтобы клиенты облака могли периодически забирать архивы своих баз. Все-таки в dt они имеют наименьший размер.
Для чего делались этот механизм и другие интересные решения благодаря возможностям платформы виртуализации на нашем вебинаре:
Вебинар: Облако 1С с ориентиром на разработчиков
48. herfis 427 30.10.17 16:01 Сейчас в теме
(47) По сути, вы предоставляете выгрузки баз (для чего dt и нужен), а не делаете резервное копирование. Поэтому вы зря подставились, написав в статье про "резервное копирование". С другой стороны, каждый кто будет рад в это ткнуть, будет поднимать тему :)
50. konstanta_online 30.10.17 16:19 Сейчас в теме
(48)
Делаем и резервное копирование причем 2-х кратное, с дублированием на резервное хранилище архивов ). Резервные копии делаются целиком виртуальных машин. И я об этом писал выше. Так, что вы зря думаете, что у нас облако резервируется только выгрузками в dt.
Просто наши резервные копии виртуальных машин исключительно для внутреннего использования у нас и никак не интересны нашим партнерам и фрилансерам, которые располагаются у нас в облаке.
52. herfis 427 30.10.17 18:03 Сейчас в теме
(50) Я хвалил вас за использование выгрузки в dt по назначению, а не обвинял в отсутствии бэкапов. Вы же не с целью резервирования данных осуществляете выгрузку в dt. А название статьи вводит в заблуждение.
49. al.semenenko88 30.10.17 16:05 Сейчас в теме
Что-то у меня соменения, что таким образом можно много баз бекапить. Так все сервера лягут, если запустить бекап хотя-бы 5-и баз
51. konstanta_online 30.10.17 16:23 Сейчас в теме
(49)
У нас архивированием занимается управляющая база. В ней сейчас настроено ограничение на 15 параллельных бекапов. Конечно, когда они выполняются параллельно, то бекапы делаются несколько медленнее, но пользователям этого практически не видно. За бекапы отвечает специально предназначенный для этого хост.
53. waterya 31.10.17 16:25 Сейчас в теме
у меня давно сделано так:
вечером каждый раз снимается автоматом бэкап на MS SQL, далее он разворачивается также автоматом на копии базы, затем автоматом с этой копии выгружается dt - так на всякий случай, но это пока база в 8 гигов.
54. herfis 427 31.10.17 16:51 Сейчас в теме
(53) Это самый надежный вариант.
Потому как если успешно выгружается dt, то это не просто верификация бэкапа, но и весомое подтверждение логической целостности данных в нем.
Но на больших данных такая схема проблематична из-за высокой ресурсоемкости.
ЗЫ. Хотя надежнее, наверное, запускать ТиИ в пакетном режиме. Там можно указать вывод результатов в лог и потом лог анализировать.
57. asved.ru 35 08.12.17 17:30 Сейчас в теме
(54)
Подтверждением целостности является успешная загрузка dt, а не выгрузка. Не путайте с pg_dump > /dev/null
olegmedvedev; +1 Ответить
55. oleshko_alexey 08.12.17 11:59 Сейчас в теме
Предлагаю изменить заголовок- указать что инструкция для Постгреса
59. Ndochp 103 12.12.17 17:18 Сейчас в теме
Инструкция не для постгреса, а для zfs Если оно есть, то остальное - дело техники.

Которая на уровне гипервизора, правильно я понимаю? То есть если мы развернём виртуалку с MS SQL на борту, то алгоритм тот же самый - чекпоинт, клоним диск с файлами MS SQL, и далее по тексту.
61. konstanta_online 12.12.17 19:04 Сейчас в теме
(59)
Не совсем. У нас Postgres физически на zfs. MS SQL на zfs можно поместить только через zvol, поскольку MS может быть только в KVM. А в этом случае нужно еще заботиться о сбросе кешей в VM. В общем с MS такой способ менее надежен.
72. Evil Beaver 7184 14.12.17 13:06 Сейчас в теме
Клево! Осталось выложить скрипты автоматизации в опенсорс и написать для чайников статью-инструкцию. А то из статьи-то мы поняли, что вы молодцы, но а дальше-то нам с этого что? :))
75. baykovsky 25.01.20 00:29 Сейчас в теме
Как-то все очень заморочено получается...
Начиная с версии платформы 8.3.14, есть такой инструмент, как автономный сервер. С помощью этого инструмента можно выгрузить DT, не выгоняя пользователей из базы. Быстро и не надо с репликациями заморачиваться....
https://its.1c.ru/db/v8314doc#bookmark:adm:TI000000899
76. herfis 427 27.01.20 10:18 Сейчас в теме
(75)
С помощью этого инструмента можно выгрузить DT, не выгоняя пользователей из базы.

Это каким же таким волшебным образом? Если единственное назначение автономного сервера это http-прослойка?
77. konstanta_online 67 27.01.20 11:33 Сейчас в теме
(76) Рекомендую прочитать статью. Там нет упоминаний об автономном сервере.
78. herfis 427 27.01.20 11:53 Сейчас в теме
(77) Я отвечал на комментарий в (75), а не комментировал вашу статью. Статью я читал и комментировал ее ранее.
79. baykovsky 27.01.20 15:41 Сейчас в теме
80. herfis 427 27.01.20 16:00 Сейчас в теме
(79) На ИТС читал. А по приведенной ссылке вычитал следующее:
Более того, я пока не знаю, расценивать ли это как баг или как фичу, но для выгрузки dt-файла не требуется монопольный режим! Конечно же, пользоваться этим стоит с осторожностью. Не думаю что попытка сделать dt-шник в момент активной работы с базой пройдет без негативных эффектов.

И любой здравомыслящий человек не думает. Потому, что сделать целостную выгрузку не выгоняя пользователей невозможно без специальных механизмов. Они есть во "взрослых" СУБД. Они есть в файловых системах с использованием COW. А для обычного файлового режима единственный способ это сделать - заблокировать на время выгрузки работу пользователей. Ничего подобного в документации нет. Больше всего это действительно смахивает на багофичу, которой можно легко и просто получить "битый" dt.
Если я невнимательно читал документацию, то укажите конкретно место в документации, где написано, что автономный сервер решает проблему создания копий в разделенном режиме.
Оставьте свое сообщение

См. также

Скрипт удобного восстановления базы MSSQL при дифференциальном резервировании Промо

Архивирование (backup) v7.7 v8 1cv8.cf 1cv7.md Россия Бесплатно (free)

Если у Вас база на MSSQL и Вы пользуетесь разностными бекапами, то, скорее всего, столкнулись с тем, что поднять базу/копию базы из имеющихся резервных файлов не столь удобно, как того хотелось бы. В этой статье приведен скрипт по теме.

20.01.2011    31182    Ivon    12    

Резервное копирование PostgreSQL 12 и восстановление на определенный момент времени

Архивирование (backup) v8 Россия Бесплатно (free)

Непрерывное архивирование базы данных PostgreSQL на 12ой версии и восстановление на определенный момент времени.

11.08.2021    2425    Vismut    5    

Классическое резервное копирование

Архивирование (backup) v8 1cv8.cf Бесплатно (free)

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

04.02.2021    1397    creatermc    11    

Управление конфигуратором в режиме агента с помощью python

Инструменты администратора БД Архивирование (backup) Скрипты автоматизации v8 1cv8.cf 1С:Франчайзи, автоматизация бизнеса Россия Бесплатно (free)

Управление конфигуратором 1С:Предприятие в режиме агента. Опыт применения с реализацией на языке python. Результат получен с использованием интерактивной сессии оболочки через invoke_shell().

06.08.2020    2036    Alex10166    2    

Восстановление SQL базы 1С 8.2. рухнувшей во время сохранения конфигурации. Промо

Тестирование и исправление Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

При обновлении конфигурации вылетела 1С. После чего наотрез отказалась входить в базу. При этом в конфигураторе выдавалось сообщение "Внимание!!! При обновлении данных, после последней реструктуризации, произошла критическая ошибка. Повторить обновление?" Потом выходило сообщение "Обнаружена незавершённая операция сохранения конфигурации. Для продолжения необходимо завершить операцию". Горела кнопка Ок - на этом работоспособность конфигуратора и базы заканчивалась.

08.02.2012    134874    VanDiesel1    139    

Выгрузка в dt на сервере 1С по расписанию с завершением соединений и подключением к консоли сервера через com

Архивирование (backup) Инструменты администратора БД v8 Россия Бесплатно (free)

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

16.04.2020    9210    karamazoff    48    

Тонкая настройка ежедневного резервного копирования базы данных 1С средствами SQL ver. 2014 (SP3) - 12.0.6024.0 (X64)

Архивирование (backup) v8 Россия Бесплатно (free)

Хочу вам предложить небольшой пример, как можно реализовать резервное копирование 1С-ых баз данных средствами SQL. Данный материал не претендует на пулитцеровскую премию. Но возможно кому-то будет интересно узнать, что-то новенькое. Данный материал для резервного копирования только одной базы данных. А именно, если у вас 20-ть баз, то вам придется создавать 20-ть планов обслуживания для каждой базы индивидуально. (Слава разработчикам SQL, они разрешили копировать блоки из одного плана в другой, вам остается только произвести небольшую настройку для каждого скопированного блока - некоторые настройки блоков сбрасываются и выставляются значением по умолчанию и остаются неактивными)

07.10.2019    14686    DrZombi    53    

Быстрое копирование таблиц большого размера и/или с большим числом строк, на примере регистра сведений (для MS SQL)

Архивирование (backup) v8 Бесплатно (free)

Моментальное восстановление затертого регистра сведений из бекапа посредством SQL.

11.08.2019    8474    Zlohobbit    25    

К вопросу об архивации баз 1С (и снова, и снова...) Промо

Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

Из своего опыта хочу напомнить о самом простом способе архивации баз типовыми средствами 1С и планировщика Windows.

08.01.2010    27206    grum01    14    

Настройка резервного копирования (резервирования) баз данных 1С: Предприятие на MS SQL Server

Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

Настройка резервного копирования (резервирования) баз данных на "бюджетной" версии 1С Предприятие под MS SQL Server. Используется пример MS SQL Server 2008 R2 под Windows. Для малых и средних предприятий, исключая производственные и торговые, так как тестирование на них не проводилось.

30.10.2018    13283    unclevad    16    

Работа с конфигуратором по протоколу SSH (не в режиме агента)

Архивирование (backup) Инструменты администратора БД v8 Бесплатно (free)

Рабочее решение запуска пакетного скрипта конфигуратора 1С через SSH-клиента.

28.04.2018    11357    vsbronnikov    2    

Настройка зеркалирования базы для MS SQL

Архивирование (backup) HighLoad оптимизация v8 1cv8.cf Бесплатно (free)

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

19.05.2017    34488    MsDjuice    20    

Рекомендации по организации резервного копирования для систем с Windows Server / Windows SQL Server

Архивирование (backup) v8 Бесплатно (free)

В данной статье мы рассмотрим работу с резервными копиями базы данных 1С, а также некоторые приемы, оптимизирующие работу с резервными копиями.

10.10.2016    20175    Zebar    12    

Резервное копирование и восстановление базы 1С средствами PostgreSQL

Архивирование (backup) v8 Бесплатно (free)

Алгоритм резервного копирования баз 1С: 8 средствами PostgreSQL.

01.08.2016    76070    dimisa    35    

Как я восстанавливал разрушенную базу

Архивирование (backup) Распределенная БД (УРИБ, УРБД) Тестирование и исправление v8 1cv8.cf Бесплатно (free)

УТ10.3 на Платформе 8.2 на базе MSSQL была разрушена после попытки её восстановить после неудачного динамического обновления. Таблица Config целевой базы была заменена на содержимое таблицы Config от другой рабочей базы. Но на самом деле конфигурации у них существенно отличались, поэтому после таких действий целевая база рухнула окончательно. Что же делать?

21.08.2015    30576    METAL    25    

Просто и сердито. Архивирование (backup) типовых конфигураций 1С 8.2, 8.3

Архивирование (backup) v8 1cv8.cf Бесплатно (free)

После эксплуатации различных "бесплатных" обработок и скриптов решил написать свой cmd-файл для ежедневного архивирования баз 1С. Работает на конфигурациях, где есть процедуры "ЗавершитьРаботуПользователей" и "РазрешитьРаботуПользователей" (т.е. во всех типовых, в нетиповые данные модули можно скопировать из типовых). Сохраняет файлы как локально так и на удаленном файловом сервере. Автоматически удаляет старые архивы и копирует на удалённый сервер отсутствующие. Расписание задается установкой соответствующего задания (запуска cmd-файла по времени) в планировщике задач Windows. Для борьбы с зависшими сеансами, рекомендуется настроить в режиме конфигуратора параметры информационной базы: "Время засыпания пассивного сеанса" и "Время завершения спящего сеанса".

18.06.2015    18980    Prelude    14    

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

Архивирование (backup) Инструменты администратора БД v8 1cv8.cf Бесплатно (free)

В 1С:Предприятии 8.2 есть ограничение на выгрузку базы в формате DT. Выгрузить базу можно, только если в ней нет активных пользователей. В этой статье поделюсь способом, как обойти это ограничение и сделать невозможное.

16.09.2013    52863    yurega    55    

Восстановление SQL базы 1С 8.2. после неудачного сохранения конфигурации

Архивирование (backup) Инструменты администратора БД v8 Россия Бесплатно (free)

При динамическом обновлении, в процессе сохранения конфигурации, вылетела база 1С и отказалась заходить в режим Конфигуратора, выдавая сообщение "Внимание!!! При обновлении данных, после последней реструктуризации, произошла ошибка. Повторить обновление?", если ответить утвердительно, то появлялось сообщение "Обнаружена незавершенная операция сохранения конфигурации. Для продолжения работы необходимо завершить операцию.", после чего Конфигуратор закрывался.

18.07.2013    37601    lord_soth    45    

Резервное копирование 1С средствами MS SQL.

Архивирование (backup) v8 1cv8.cf Бесплатно (free)

В этой статье описано самое обычное резервное копирование ИБ 1С при помощи инструментов MS SQL Server 2008 R2, объяснено почему следует делать именно так, а не иначе, и развеяно несколько мифов.

17.02.2013    284354    speshuric    84    

Хранение удаленных документов в отдельной базе. Часть 1.

Инструменты администратора БД Архивирование (backup) v8 1cv8.cf Бесплатно (free)

Резервное хранение данных. Пример работы с внешними источниками данных. Работа с файлами. Подписка на событие. Работа с XML файлами. Сериализатор XDTO.

12.12.2012    16477    egorovntn    10    

Восстановление файловой версии базы данных *.1CD после ошибки динамического обновления.

Сервисные утилиты Архивирование (backup) Инструменты администратора БД Тестирование и исправление v8 1cv8.cf Бесплатно (free)

Восстановление работоспособности файл-серверной базы данных (файл *.1CD) после критической ошибки, возникшей в результате динамического обновления с последующим предупреждением "Внимание!!! При обновлении данных, после последней реструктуризации, произошла ошибка. Повторить обновление?".

02.10.2012    52901    djserega    78    

Автоматическое регулярное разворачивание оперативных бэкапов (совсем просто) в MS SQL 2008

Архивирование (backup) v7.7 v8 1cv8.cf 1cv7.md Россия Бесплатно (free)

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

10.08.2012    18885    sergiobargio1    6    

Регулярные оперативные копии рабочих баз 1С с помощью MS SQL 2008

Инструменты администратора БД Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

В течение дня необходимо производить отладку "допилов" на свежих копия рабочих баз. Также необходимы актуальные копии и для экспериментов, в том числе и пользователям. На этом замечательном ресурсе есть много полезных публикаций с различными вариантами, как это сделать. В одном из них предлагается использовать инструмент мгновенных снимков баз, которые возможно выполнить только в версии Express Edition. В этом посте очень простой вариант, не требующий дорогостоящей версии MS SQL

01.08.2012    19422    sergiobargio1    8    

Пошаговая инструкция по процедуре восстановления базы SQL. SQL Server 2008

Архивирование (backup) Инструменты администратора БД v8 1cv8.cf Россия Бесплатно (free)

Пошаговая инструкция по по процедуре восстановления бэкапа SQL 2008.

23.07.2012    137958    Vint88    19    

Автоматизация создания резервных копий в MS SQL Express Server

Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

В версии Microsoft SQL Server 2005/2008/2008R2 Express Edition серверах нет стандартных средств создания резервных копий баз данных по расписанию. Восполнить этот пробел поможет простое решение

18.06.2012    31094    LexSeIch    4    

Бэкап 1С:Предприятие 8.х

Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

Рекомендации по резервному копированию. Бесплатные программы для бэкапа Egida Backup, Effector saver 3, xStarter.

09.11.2011    28046    sinjevla    10    

Резервное копирование чеков во внешние файлы и их восстановление

Архивирование (backup) v8 Розница Россия Бесплатно (free)

Решение проблемы восстановления потерянных кассовых чеков после восстановления поврежденной базы розницы.

21.10.2011    11657    elizarovs    3    

Архивное копирование 1С8 автоматически и ежедневно

Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

Выложил ввиду "молодости и горячести" ХД и критики со стороны, дабы не спотыкаться в дальнейшем =)

19.04.2011    7930    AActor    15    

1С и Postgres: Бэкап

Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

Для начала пару слов о том, зачем и когда он нужен. Ни для кого не секрет, что сервер это не просто компьютер, а надежный компьютер! Поэтому, если он не сломался в первую неделю после запуска, то не сломается еще очень долго. И поэтому у вас всегда есть возможность какое-то время оставаться вовсе без резервной копии

17.12.2010    22977    alexcid    5    

Выгрузка ИБ 1С8 на сервере 1С:Предприятие

Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

Выгрузка ИБ 1С8 на сервере 1С:Предприятие стандартными средствами ОС и 1С. Без всяких хитростей.

25.10.2010    20207    daulberg    7    

Как выгрузить не всю конфигурацию в файл, а только изменения?

Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

Хочу поделиться одним способом сохранения не всей конфигурации в файл, а только изменений. Способ довольно заморочный, но он позволяет сохранить любые изменения конфигурации в файл, размер которой уменьшится, скажем, к 300 KB, по сравнению с размером конфигурации в 60 MB. Этот способ эффективен, когда у клиента очень слабое соединение с интернетом или оплачивается помегабайтно.

19.02.2010    36386    modul    78    

Архивирование баз данных 1С и не только... (настройка бесплатной программы Cobian Backup 9)

Архивирование (backup) v7.7 v8 1cv8.cf 1cv7.md Россия Бесплатно (free)

В данной статье описывается создание системы архивирования на основе бесплатной программы Cobian Backup 9 (http://www.cobiansoft.com/cobianbackup.htm)

14.01.2010    63609    Mx00    146    

SQL2005. Выгружаем базу средствами 1С не выгоняя пользователей.

Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

Очередной велосипед на тему архивации баз данных 1С средствами 1С.

21.09.2009    22982    IamAlexy    26