Возможности
Копии и возврат
Копии шифруются ключом организации и уходят в ваше хранилище. Вернуть можно всё, только файлы или только базу — и это проверяется, а не обещается.
-
сегодня 04:00 1,84 ГБ
файлы + 2 базы
-
вчера 04:00 1,82 ГБ
файлы + 2 базы
-
2 дня назад 1,79 ГБ
файлы + 2 базы
-
3 дня назад —
не удалась: место на ноде
-
4 дня назад 1,74 ГБ
файлы + 2 базы
«Готова» ставит исход операции, а не отдельная память панели: иначе на экране «готова», а на сервере неуспех.
Куда ложатся копии
Хранилище — ваша машина, а не чужой счёт
Роль «хранилище» добавляется подготовкой машины, а не галочкой: роль без поставленной службы означала бы корзины, которые некуда класть. Небольшому парку хватает одной машины, которая держит и сайты, и хранилище сразу.
Корзины и ключи — ваши
Своё S3-совместимое хранилище на сервере парка: корзины под копии, ключи доступа к ним. Ключ выдумывает панель, хранит в шифре и отдаёт хранилищу секретом операции. Обратно с сервера секрет не едет никогда — ни в теле операции, ни в журнале его нет.
Сколько занято — отвечают факты машины, а не наши строки.
Ключи не едут в операции
В описании копии — только адрес, корзина и ключ объекта. Положи туда ключи доступа, и они окажутся в журнале операций, в карточке и в выгрузке — то есть у всех, кто видит экран.
Копия самой панели
База панели копируется тем же порядком: без неё вернуть парк не из чего, а значит она часть цепочки восстановления, а не исключение из неё.
План
Что копировать, как часто и сколько хранить
План — это три ответа, а не экран настроек: состав копии, расписание и срок хранения. Будильник планов ходит раз в минуту и ставит копии сам.
Двойного запуска в одну минуту не бывает: перед постановкой панель смотрит, не стоит ли уже копия этого плана за последнюю минуту. Планировщик может зайти дважды — после перезапуска или длинного прохода, — а «две копии в 04:00» значат двойной счёт места и двойную нагрузку на сайт в самый неудобный час.
Состав
Файлы сайта и его базы — вместе или по отдельности.
Расписание
Ежедневно в 04:00, по дням недели или своим выражением.
Хранить дней
30 — всё, что старше, уходит из корзины.
Хранить копий
7 последних, даже если по дням их меньше.
Неделя плана
Неудачная копия остаётся в ленте красной строкой с причиной. Пропуск, спрятанный от глаз, страшнее неудачи: о нём узнают в день возврата.
Шифр
Владелец машины с хранилищем копию не прочтёт
У каждой организации свой ключ шифра копий. Панель выдумывает его при первой копии и держит в шифре; на сервер он уезжает секретом операции, а на ноде хранилища лежит только шифротекст.
Ключ организации
Один на организацию, 32 байта. Заводится сам при первой копии.
Шифрование на сервере
Копия шифруется там, где собирается. По сети и в корзину уходит только шифротекст.
На ноде — шифротекст
Кто имеет доступ к железу хранилища, видит набор байтов, а не файлы клиента.
Обратная сторона названа вслух
Без ключа копию не расшифровать никому — и нам тоже. Поэтому ключ можно показать: чтобы вы унесли его копию. Каждый показ пишется в журнал действий — кто, когда и с какого адреса.
Неудобная правда
Ключ, который лежит рядом с копией, — это не ключ
Пока жива машина, цепочка цела: потеряли базу — подняли из копии ключом с этой же машины. Но если погибнет сама машина, погибнут оба: и копия, и ключ.
У нас это записано в документах — но записано для нас. Человек, купивший панель, наших документов не читает и узнаёт об этом в тот единственный день, когда уже поздно. Поэтому панель спрашивает сама и ждёт ответа «вынес».
Подтверждение привязано к отпечатку ключа, а не к галочке. Галочка пережила бы смену ключа и говорила бы «сохранён» про ключ, которого у вас больше нет. Сменился ключ — вопрос задаётся заново.
Ключ шифра копий
отпечаток 9f41c8d0a7b32e65
Ключ не вынесен с сервера
Сохраните его в другом месте и подтвердите это. Иначе гибель машины означает потерю и копий, и ключа к ним.
Это действие человека, и место ему там же, где остальные его действия — в общем журнале.
Возврат
Вернуть можно часть, а не только всё
Чаще всего беда касается чего-то одного: кто-то удалил каталог или положил базу неудачным обновлением.
Всё
Файлы и базы сразу, на место или на другую машину.
Только файлы
Базы остаются как есть — заказы, принятые после копии, не теряются.
Только базы
Файлы не трогаются: обновление откатывается без потери загруженного.
Для каждой базы из копии вы говорите, куда её положить: в ту же или в новую. Возврат «проверить и сравнить» не требует отдельного стенда: поднимите базу рядом и смотрите, прежде чем менять рабочую.
Возврат целится не только в исходный сервер. Это тот же порядок, которым сайт переезжает между вашими машинами, только источник — копия, а не живой сайт.
У слова «готово» один хозяин. Второй хозяин означал бы «готово» на экране при неуспехе на сервере — ровно то враньё, из-за которого копии перестают проверять.
Рядом
Копия, которую не проверяли, — обещание
Настройте план, верните один сайт из копии и убедитесь сами. Это занимает меньше, чем разговор об этом.