Полезный инструмент — snapshots: как создаются и что им под силу
- Главная
- Блог
- Техподдержка
- Полезный инструмент — snapshots: как создаются и что им под силу
Безопасность и сохранность данных — важный вопрос для любого бизнеса. В отличие от физических серверов, у облаков эти возможности гораздо шире. Например, можно полностью восстановить «из прошлого» диск виртуальной машины. Это доступно благодаря полезному инструменту — snapshots. Ранее мы уже писали, что это и почему их называют машиной времени. Теперь расскажем подробнее, при каких условиях создаются snapshots и каким образом достигается хранение двух снимков каждого диска виртуальной машины клиента.
Snapshots — это полные снимки дисков виртуальных машин клиентов, которые мы создаём на регулярной основе. Для всех пользователей сервисов TuchaFlex+, TuchaBit+ и TuchaBit мы делаем снимки и храним два последних из них для каждого диска клиента. Стоимость создания и хранения снимков уже включена в стоимость аренды серверов.
Для чего нужны snapshots? Снимок может быть использован для восстановления диска машины в том состоянии, в котором он был на момент создания снимка. Также снимок может быть выгружен для дальнейшего использования в качестве образа новой виртуальной машины или же добавлен как дополнительный диск к любому серверу в пределах нашей облачной инфраструктуры.
Напомним, как создаются snapshots. Во время создания снимка работа виртуальной машины останавливается. Пауза может длиться от нескольких секунд до нескольких минут — всё зависит от объёма диска и размера данных, которые изменились со времени последнего создания снимка. В это время снимок имеет статус Creating. Когда снимок создан, он получает статус BackingUp, а виртуальная машина возобновляет свою работу. Далее снимок копируется из основного хранилища в резервное. Этот процесс занимает от нескольких минут до нескольких часов, точное время зависит от объёма диска. На работу виртуальной машины это никак не влияет. После этого снимок удаляется из основного хранилища, а виртуальная машина в это время ненадолго останавливает работу. Когда снимок удалится из основного хранилища, виртуальная машина продолжит работу, а сохранённый в резервном хранилище снимок получит статус BackedUp.
Мы создаём снимки в период с 20:00 до 06:00. Для одного хранилища одновременно создаются не более двух снимков, при этом в фазе Creating может быть только один снимок. Допускается, что ещё один снимок в это время имеет состояние BackingUp.
В какой же последовательности создаются снимки? В очереди больший приоритет имеют те диски, для которых последний сохранённый снимок создавался раньше остальных. Есть интеллектуальный алгоритм, который определяет их очередь, учитывая «возраст» последних снимков и загруженность инфраструктуры.
Для конкретной виртуальной машины можно сместить время создания снимков или сделать этот промежуток более узким. Однако стоит учитывать вот что: если сузить временной промежуток слишком сильно, то вероятность того, что снимок будет сделан в течение этого периода, значительно уменьшается. Это происходит потому, что возрастает другая вероятность: в указанный промежуток времени хранилище уже будет создавать снимок другого диска. Поэтому если пользователь всё же желает сузить временной промежуток создания снимков, мы рекомендуем установить ширину зазора хотя бы в 3-4 часа.
Виртуальная машина также может уступить свою очередь и в другом случае: если в тот момент, когда к ней подходит очередь создания снимка, она производит операции работы с диском с интенсивностью более 1024 КБ/с. Именно по этой причине снимки не всегда создаются строго каждую ночь.
Разумеется, можно игнорировать общую очередь и показатели активности виртуальной машины. То есть создавать снимки строго в определённые часы и дни (например, раз в сутки в 4:20). Однако при этом возникают определённые риски. Например, риск повреждения данных внутри самого сервера, поскольку операционная система при создании снимка может начать производить запись каких-либо данных, которые не будут дозаписаны из-за паузы в работе виртуальной машины, необходимой для создания снимка. В итоге файловая система теоретически может потерять консистентность (целостность), что приведёт к повреждению или потере каких-то данных.
Если же для клиента будет удобным другое время создания снимков, можно изменить расписание. Для этого стоит всего лишь обратиться в нашу службу техподдержки, и мы всё организуем.
В якій же послідовності створюються знімки? У черзі більший пріоритет мають ті диски, для яких останній збережений знімок створювався раніше за інших. Є інтелектуальний алгоритм, який визначає їх чергу, з огляду на «вік» останніх знімків та завантаженість інфраструктури.
Віртуальна машина може поступитися чергою, якщо в той момент, коли до неї підходить черга створення знімка, вона здійснює операції роботи з диском з інтенсивністю понад 1024 КБ/с.
Зрозуміло, можна ігнорувати загальну чергу та показники активності віртуальної машини. Тобто створювати знімки строго в конкретні години та дні (наприклад, кожного 10 числа місяця о 4:20). Однак при цьому виникають певні ризики. Наприклад, ризик пошкодження даних усередині самого сервера, оскільки операційна система при створенні знімка може почати здійснювати запис яких-небудь даних, які не буде дозаписано через паузи в роботі віртуальної машини, необхідної для створення знімка. Внаслідок цього файлова система теоретично може втратити консистентність (цілісність), що призведе до пошкодження або втрати якихось даних.
Якщо у клієнта виникає потреба чи бажання створювати знімки незалежно від алгоритму та черги (скажімо, щодня о 18:00, через день або раз на тиждень), він може зробити це власноруч у зручний для себе час за допомогою панелі керування хмарним ЦОД. Докладна наочна інструкція зі створення знімків власноруч є на сайті Tucha.
Звертаємо увагу на те, що в такому разі ми наполегливо рекомендуємо вимкнути сервер перед створенням та запустити його, щойно все буде готово. Така нескладна дія допоможе суттєво знизити ймовірність отримання неконсистентних даних у знімку.
- Noremove
Любой снимок может быть отмечен меткой noremove со значением 1. Это значит, что он не будет автоматически удалён, изменён или перезаписан (хотя может быть удалён вручную). Такую метку нужно устанавливать на сам снимок, а не на виртуальную машину или диск. Отметим, что в том случае, когда оба снимка отмечены меткой noremove, новые снимки будут создаваться, но не будут сохраняться. А значит, актуальные снимки не появятся.
- Nosnapshot
Также виртуальная машина или её диск могут быть отмечены меткой nosnapshot со значением 1. В таком случае автоматические снимки для них не будут создаваться до момента удаления метки.
Отметим важный момент, который касается как меток noremove, так и nosnapshot. Поле Value должно содержать точное время действия меток.
Время можно прописывать в одном из 3 форматов:
- %Y%m%d%H%M%S (например, 20191231235959);
- %Y-%m-%d %H:%M:%S (например, 2019-12-31 23:59:59);
- %H:%M:%S %d-%m-%Y (например, 23:59:59 31-12-2019).
Другие форматы будут игнорироваться.
Почему это важно? К примеру, в случае с меткой nosnapshot, если время задано в другом формате, будет считаться, что метки вообще нет.
Если пользователь действительно уверен, что снимки его виртуальной машины никогда не должны создаваться, в качестве значения он может установить, к примеру, 9999-12-31 23:59:59. Это необходимо, чтобы избежать случаев, когда пользователи устанавливают метку nosnapshot и забывают о том, что её пора снять.
Добавлять метки можно с помощью панели управления сервером.
Для всех клиентов, которые используют виртуальные машины на базе сервисов TuchaFlex+, TuchaBit+ и TuchaBit, мы храним два последних снимка для каждого диска пользователя. Как только завершается создание нового снимка, самый старый снимок, у которого нет метки noremove, безвозвратно удаляется. Именно таким образом и обеспечивается постоянное наличие двух актуальных снимков.
Можно создавать и хранить большее количество снимков уже за дополнительную плату. Например, если в ИТ-инфраструктуру клиента часто вносятся изменения или есть необходимость иногда обращаться к тем данным, с которыми он работал ранее.
Если snapshots — это полные снимки всех дисков виртуальной машины, то бекапы — резервные копии отдельных файлов на диске. Восстановить диск машины в том состоянии, в котором он был на момент создания снимка, под силу только snapshots. Резервные копии же помогут возобновить отдельные файлы, например, в случае их удаления, повреждения или изменения. Для надежного хранения бекапов всех важных файлов мы рекомендуем воспользоваться сервисом TuchaBackup. Он позволяет размещать данные на удаленных серверах в дата-центрах Германии и обеспечивает стабильный доступ к резервным копиям 24×7 из любой точки мира.
Важно, что хранение снимков дисков не заменяет необходимость создания бекапов. Прежде всего, snapshots не имеют гарантии консистентности данных и значительной глубины версионности. Кроме этого, при работе со снимками гораздо труднее найти и точечно восстановить отдельные нужные данные. Поэтому для наибольшей безопасности и уверенности пользователей в сохранении данных лучше использовать эти инструменты вместе.
Snapshots — важный инструмент защиты данных в облаке. Он поможет уберечь информацию на диске и восстановить её даже в случае критических изменений.
Мы как ответственный провайдер, который заботится о безопасности данных своих клиентов, предоставляем пользователям snapshots по умолчанию. Пишите нам на sales@tucha.ua или звоните +380 44 583-5-583, если нужна помощь команды Tucha в решении любых облачных задач. Мы на связи 24×7!