У меня есть веб-сервер под управлением Windows Server 2012 с тремя основными функциями:
Сегодня мне пришло в голову, что я был так занят разработкой в течение прошлого года, что ни разу не подумал о резервном копировании чего-либо - и, к счастью, это произошло со мной сегодня, а не после сбоя сервера!
Мне интересно, как лучше всего каждую ночь делать резервную копию этих трех разрозненных вещей. Думаю, я мог:
создать своего рода «образ диска», что было бы неплохо, поскольку я мог бы хранить изображения и легко возвращаться к вчерашним данным, если произойдет что-то катастрофическое, но я когда-либо создавал образы дисков только для личного использования, и если мой диск составляет 1 ТБ , размер изображения составляет 1 ТБ - хотя я не знаю, единственный ли это способ сделать это, и не уверен, что у меня есть место на жестком диске, чтобы делать это каждую ночь. Плюс - у меня только 1 сервер с 2 дисками, поэтому я не уверен, куда бы я вообще делал резервную копию. Если бы это был лучший вариант, я бы нашел способ заставить его работать.
Я мог бы написать сценарий для копирования всех веб-файлов (php, html и т.д.) каждую ночь, и относительно легко написать сценарий резервного копирования MySQL, но поиск в Интернете для резервного копирования solr не кажется таким простым. Конечно, я думаю, что смогу это выяснить, а затем просто подтвердить эти три вещи по отдельности, но, вероятно, кому-то будет труднее вернуть эти данные в компанию, если со мной что-то случится.
Есть (всегда) третий вариант, который я не вижу
Добро пожаловать в мир резервного копирования, Брайан! Я думаю, что некоторое время назад я был на вашей позиции, когда думал о резервных копиях как о пустой трате времени и, возможно, денег, но однажды вы попадаете в точку!
Я думаю, вам нужно резервное копирование на основе образов с интеграцией VSS, которая гарантирует согласованность ваших данных и резервных копий. Доступно множество решений с различными опциями, ценами и т. Д.
Все, что нужно учесть:
1) Хранилище, в основном там, где вам нужно хранить ваши резервные копии (например, на месте или за пределами площадки => в облаке) 2) RTO, RPO => подумайте о количестве потерь данных (это фактически делает вашу частоту резервного копирования и дневник) и скорость восстановления (например, насколько быстро вы восстанавливаете данные, зависит от конкретного случая) - оба составляют общую политику хранения. 3) Решение. Я пробовал разные и, исходя из своих соображений, могу предложить следующее: Cloudberry Backup, Veeam Endpoint, Crashplan и некоторые другие. 4) Какие варианты восстановления вам нужны (в основном то, что вы хотите защитить свою форму, например, весь компьютер, несколько файлов, транзакции mysql / базы данных / экземпляры / возможность отката и т. Д.). Все это в основном следует рассматривать вместе с RTO №2.
Подумайте и взвесьте четыре вышеуказанных вещи и примите решение. И да, резервные копии важны, особенно когда вы начинаете терять свои данные, так что вы в спешке! Резервные копии - ваша страховка.
Образ диска будет работать если все приложения остановлены - иначе вы не узнаете, есть ли у вас незавершенные транзакции, когда вы делаете дамп. Это также медленный способ восстановления, если вам не нужно восстанавливать все.
Дампы MySQL просты, как и текстовые файлы (хорошая идея - git с автоматическим git push). Для solr похоже, что есть резервный URL-адрес, который вы можете вызвать, который сбросит его, но я использую его только в Elasticsearch, поэтому YMMV.
Есть много приложений, которые отлично справляются с резервным копированием SQL, файлов, состояния системы или простых резервных копий на уровне файлов, особенно для Windows. Я бы порекомендовал использовать морошку или другой программный пакет на ваш выбор, чтобы убрать человеческий фактор из резервной копии. Резервное копирование базы данных sql, состояния системы и выбора файлов / каталогов, включая папку индекса solr.
Также будет работать комбинация планов резервного копирования на основе сценариев SQL и пакетных сценариев, выполняемых с помощью планировщика задач (как вы, кажется, упомянули в своем вопросе). Однако, если вы пойдете по этому пути, убедитесь, что вы часто его проверяете или используете такую утилиту, как vbackup, которая позволяет вам создавать журналы! Я могу предоставить примеры сценариев, которые я использовал, если хотите.
РЕДАКТИРОВАТЬ: Чтобы ответить на ваш вопрос более подробно, использование таких приложений, как Cloudberry, позволит обеспечить сжатие, шифрование и гораздо более низкие требования к пропускной способности.
Я бы рекомендовал создать резервную копию каждого элемента отдельно. Таким образом, если что-то пойдет не так только с одним элементом, вам нужно будет восстановить только этот один элемент ...
Похоже, вы на правильном пути для резервного копирования веб-контента, но для SQL я бы предложил использовать функциональность заданий на сервере MSSQL (в отличие от планировщика задач). Это дает дополнительное преимущество, так как дает вам историю состояния выполнения задания. https://blogs.msdn.microsoft.com/sqlagent/2010/10/12/create-a-database-backup-job-using-sql-server-management-studio/