К содержанию
Все статьи справки
  1. Справка
  2. Модули

Резервные копии

Ночная зашифрованная копия базы, копии вне сервера — второй диск, сетевая папка, хранилище S3, облако DentOS, — еженедельная проверка восстановления, тревоги и подъём клиники на новом компьютере.

Как делается копия

Каждую ночь в заданный час DentOS выгружает базу, шифрует её потоком (AES-256-GCM) и сразу проверяет: расшифровывает и читает оглавление. Подменённый байт или чужой ключ проверка ловит. Копия, которая проверку не прошла, удаляется и никуда не уходит.

На самом сервере хранятся:

  • 7 последних дней;
  • 4 последних воскресенья;
  • 6 последних месяцев.

Всё о копиях — в «Настройки → Резервные копии». Кнопка «Сделать копию сейчас» есть, когда DentOS установлен у клиники.

Копию делает отдельная служебная роль базы. Роль самой программы выгрузить базу целиком не может — так работает защита строк между клиниками.

Ключ

Копии шифруются ключом BACKUP_KEY из настроек сервера. Сохрани ключ вне сервера, например в менеджере паролей директора: без него копию не восстановить, и поддержка DentOS тоже не сможет.

Копии вне сервера

Копия на том же компьютере сгорит вместе с ним. Поэтому DentOS сам уносит свежую копию в другое место — в «Настройки → Резервные копии → Копии вне сервера». Мест может быть несколько:

  • Облако DentOS. Есть у сервера в клинике само, настраивать не нужно. Хранит 14 последних копий и прочитать их не может — ключа у него нет.
  • Другой диск, флешка или сетевая папка. Например, E:\DentOS-копии или \\NAS\backup\DentOS. Диск должен быть другим: копия на том же диске не спасёт.
  • Хранилище S3 — Yandex Object Storage, Selectel, VK Cloud или другое S3-совместимое. Адрес и регион подставятся сами, бакет создай в консоли хранилища заранее.

Наружу уходит только копия, зашифрованная ключом клиники. Пароль сетевой папки и ключи хранилища DentOS хранит зашифрованными ключом сервера, а в настройках показывает только маской.

Кнопка «Проверить доступ» пишет и удаляет пробный файл — так видно, что место доступно и писать туда можно, ещё до сохранения.

Расписание. Каждый день — свежая копия уходит сразу после ночной. Раз в неделю — одна копия в семь дней, удобно для флешки, которую уносят домой. Не получилось (нет сети, NAS выключен) — DentOS пробует снова через час.

Хранение. У каждого места своё: по умолчанию 7 ежедневных, 4 недельных и 12 месячных копий. Остальные копии DentOS удаляет из места сама. Чужие файлы в папке или бакете не трогает.

Сетевая папка Windows

Служба DentOS работает под учёткой NT SERVICE\DentOS без прав администратора. Для сети это сам компьютер-сервер, и обычный NAS его не пустит. Поэтому:

  • NAS или папка на другом компьютере — отметь «Сетевая папка со своим пользователем и паролем» и укажи пользователя, которому на NAS разрешена запись, например NAS\backup. DentOS подключается им только для своей службы, без буквы диска.
  • Второй диск или флешка на самом сервере — пароль не нужен. Если «Проверить доступ» скажет, что прав нет, дай учётке NT SERVICE\DentOS право «Изменение» на папку: свойства папки → «Безопасность» → «Изменить» → «Добавить».

Флешка в FAT32 не принимает файлы больше 4 ГБ — отформатируй её в exFAT или NTFS.

Хранилище S3

  1. Создай бакет без публичного доступа — только для копий.
  2. Создай сервисный аккаунт со статическим ключом доступа: ему нужны запись, чтение и удаление в этом бакете.
  3. В DentOS выбери хранилище, впиши бакет, идентификатор ключа и секретный ключ, нажми «Проверить доступ».

Проверка восстановления

Раз в неделю ночью DentOS скачивает последнюю копию из каждого места, расшифровывает её, разворачивает во временную базу рядом с рабочей и сверяет число строк каждой таблицы с тем, что лежит в самой копии. Потом временную базу удаляет. Итог виден у каждого места: «развернулась во временную базу, 155 таблиц и 125 128 строк сошлись».

Проверить можно и сразу — кнопкой «Проверить восстановление». Проверке нужно свободное место на диске копий: примерно три размера копии.

Тревоги

Директор и все, у кого есть право «Настраивает внешние копии базы», видят красную полосу над экраном, если:

  • в каком-то месте нет удачной копии дольше заданного: по умолчанию 36 часов для ежедневного и 8 суток для недельного;
  • проверка восстановления не прошла;
  • восстановление не проверялось больше двух недель.

Полоса уходит сама, когда всё наладилось. Команда DentOS видит то же в технической сводке сервера — только числа, даты и виды мест, без названий, путей и данных клиники.

Восстановление

На том же сервере. Копия восстанавливается в пустую базу, после проверки программа переключается на неё. Это делает администратор сервера по инструкции.

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

Чего пока нет

  • Расписание и места копий для облачной установки DentOS: в облаке копии делает и хранит платформа.
  • Восстановление на новом компьютере из окна установщика — пока командой по инструкции инженера.