Как сделать снапшот

Обновлено: 08.07.2024

Почему так важно делать резервные копии данных

Потеря данных — страшный сон всех, кто работает в IT-сфере или пользуется её услугами. Случайное удаление файлов или сбой системы могут уничтожить важную информацию и повлечь грандиозные убытки.

Когда может произойти потеря или деструктуризация данных? Спектр причин широкий — от землетрясения до невнимательности сотрудника.

  • Технические неисправности.
  • Сбои ПО.
  • Ошибки работников.
  • Вирусы и хакерские атаки.
  • Форс-мажорные обстоятельства (пожар, ограбление).
  • Стихийные бедствия.

Как видите, существует много не поддающихся контролю факторов. Поэтому сохранение копий важной информации — необходимое действие для любого специалиста сферы IT.

В этой статье мы расскажем, что такое снапшот сервера, как работает snapshot и как его сделать.

Что такое снапшот и чем он отличается от бэкапа

Снапшот — это снимок файловой системы, который фиксирует её состояние.

Чтобы лучше понять технологию, сначала нужно узнать о ещё одном способе сохранения данных — бэкапе (backup с английского — резервная копия, дублирование). Он позволяет копировать все данные в полном объёме. Копия информации хранится на другом носителе, если основное устройство выйдет из строя. Когда вы сохраняете папку с фотографиями на компьютере, флешке и в облачном хранилище — это как раз бэкап.

Но у бэкапа есть свои недостатки. Это трудоёмкий процесс, который занимает время. Пока файлы копируются, на сервере могут произойти изменения — например, один из пользователей переместит файл или создаст новый раздел. В бэкапе ещё нет этих процессов, а в системе несколькими секундами позже — уже есть.

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

Многие путают снапшоты с бэкапами, ведь у этих двух способов одна цель. Но в основе их работы лежит разный принцип.

Различия между Backup и Snapshot

backup

снапшот

используется для сохранения любых видов данных — файлов, папок, кода, системы, разделов диска

используется в работе с виртуальными машинами, фиксирует только текущее состояние

сохраняется на сторонний носитель

сохраняется рядом с исходными данными

требует много ресурсов и времени, замедляет процессы системы

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

делается только на включенной аппаратуре

можно делать, если машина выключена

может храниться длительное время

хранится недолго и автоматически удаляется

имеет большой размер

компактный и лёгкий

одна версия сохраняется в нескольких экземплярах на разных носителях

на основном диске могут сохраняться несколько снапшотов, выстроенных в хронологическую цепочку

Нельзя сказать, что какой-то из этих способов лучше или хуже. Выбор технологии резервного копирования зависит от поставленной задачи.

Какая информация содержится в снапшотах

Снапшоты фиксируют состояние виртуальной машины, её дисков и содержимого.

Они сохраняют не файлы, а их расположение, произведённые пользователем или администратором действия и прочую подобную информацию. К примеру, если файл перемещён из папки А в папку Б или удалён — действие фиксируется. А вот сам файл не сохраняется.

Как работает снапшот

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

Снапшоты работают в автоматическом режиме на виртуальных серверах и в операционных системах, делая снимок через определённые промежутки времени. Оптимально — раз в сутки. Эту опцию можно регулировать. Поскольку снапшоты всё же занимают место, их не хранят вечно, а периодически удаляют.

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

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

Снапшоты на Cityhost.ua

В Cityhost.ua технология снапшотов используется, чтобы у клиента была возможность восстановить данные, которые были актуальны на момент создания снимка в случае обновлений, деплоя, исправлений и/или внесения каких-либо изменений на виртуальном или виртуальном сервере.

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

Срок жизни (хранения) снапшота — 24 часа.

Максимальный объем файла — 10 гигабайт.

Возможно существование только одной актуальной копии точки восстановления.

Подробнее о том, как работать со снапшотами, вы можете узнать из видеоролика.

Снапшоты хороши для подстраховки во время работы с виртуальными машинами — без них каждая ошибка или неисправность превращалась бы в катастрофу. Благодаря этой технологии можно смело вносить изменения в систему, тестировать программное обеспечение, пробовать новые способы работы и не бояться экспериментов.

О том, как использовать снапшоты в Cityhost читайте в разделе поддержка: Как использовать снимки текущего состояния VPS.

Snapshot - технология резервного копирования данных, доступная на виртуализации KVM. Так же есть еще одно требование - диск в формате qcow2. Все новые сервера открываются именно с таким форматом диска.

При создании snapshot'a создается снимок виртуальной машины в конкретный момент времени. Дальнейшие изменения на виртуальной машине не коснутся данного снимка и будет возможность откатиться до него.

Внимание! Снэпшот не является полноценной заменой резервной копии. Правильнее рассматривать его, как точку отката к конкретному моменту времени.

Если процесс создания занимает слишком много времени, можно попробовать сделать снэпшот в выключенном состоянии VDS.

  • Разработчики. Подстрахуйтесь в процессе разработки – сделайте снимок перед спорным коммитом. В случае неудачи – вы можете вернуть систему в предыдущее состояние.
  • Экспериментаторы. Изучаете OS семейства Unix? Даже если в процессе настройки системы вы введете фатальные команды – откатитесь к ближайшему снимку системы.

1. Для того чтобы у вас была возможность создания snapshot, вам нужно обратиться в службу поддержки клиентов и попросить активировать данную функцию. 2. Заходим в VMmanager - Виртуальные машины. Проверяем наличие значка и если он есть то можно приступить к созданию snapshot'a, нажатием кнопки Снимки:

Snap1.jpg

Snap2.jpg

Snap3.jpg

4. Значок крутящегося диска сообщает нам о том что в данный момент происходит создания snapshot'a. Snapshot создан.

Snap4.jpg

1. Заходим в VMmanager - Виртуальные машины. Нажатием кнопки Снимки открывается список готовых snapshot'ов:

Snap1.1.jpg

Snap4.5.jpg

3. После этого нам потребуется перезагрузить виртуальную машину, о чем нам сообщает значок . После перезагрузки ВМ готова к работе с данных сохраненных в snapshot'e

Snap5.jpg

1. Работа виртуальной машины замедляется. Запись на диск падает. Подробнее. 2. После переустановки виртуальной машины НЕВОЗМОЖНО восстановить сервер из snapshot’а. 3. Snapshot’ы удаляются во время переустановки виртуальной машины. 4. На одном сервере может храниться не больше двух снапшотов.

Backup и Snapshot: что это?

До появления виртуальных машин все администраторы делились на две группы: тех, кто еще не делает бэкапы (bakup - резервное копирование), и тех, кто уже делает.

С появлением гипервизоров выделились еще две полярные группы: тех, кто еще не делает снэпшоты (snapshot - снимки файловой системы), и тех, кто уже делает.

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

Резервное копирование (backup)

Резервные копии нужны для восстановления утраченной или испорченной информации. Также резервное копирование применяется для архивирования (сохранения данных для использования их в будущем).

Копировать можно:

  • отдельные файлы;
  • группу файлов, объединенных по какому-то признаку;
  • операционную систему;
  • диски или разделы дисков (посекторно или поблочно);
  • виртуальные машины

Виды резервного копирования

Существует несколько видов резервного копирования.

Полное резервное копирование

Во время полного резервного копирования сохраняются все данные. Когда старые бэкапы теряют актуальность, они удаляются целиком, чтобы освободить место. Такое резервное копирование требует много дискового пространства на носителе для резервной копии. Полное резервное копирование занимает много времени и, и поэтому проводится в нерабочее время. Такой способ позволяет сохранить важную информацию, но из-за больших сроков копирования он не очень подходит для восстановления быстро меняющихся данных. Полное резервное копирование для больших объемов рекомендуется сочетать с другими видами создания бэкапов: дифференциальным и инкрементным копированием

Дифференциальное копирование

Дифференциальное создание резервной копии – это копирование только тех файлов, которые были изменены с момента последнего полного копирования. Это позволяет уменьшить объем данных на резервном носителе и при необходимости ускорить процесс восстановления данных. Так как дифференциальное копирование обычно производится гораздо чаще, чем полное, оно очень эффективно, так как позволяет восстанавливать те данные, которые подвергались изменению совсем недавно, и отслеживать изменения файлов с момента полного копирования.

Инкрементное копирование

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

Время резервного копирования

Для того чтобы правильно планировать резервное копирование, необходимо рассчитать два показателя: RPO и RTO.

RPO (recovery point objective) – это максимальный период времени, за который могут быть потеряны данные в результате аварии. Например, у нас есть информационная система, и если произойдет авария, и мы готовы ее восстановить за один час. Это значит, что за этот час новые данные не будут поступать в нашу информационную систему, и RPO равняется часу. Эти данные невозможно восстановить из резервной копии, потому что они не поступали в информационную систему. Показатель RPO говорит нам, как часто делать резервные копии нашей системы. На основании RPO мы можем выбрать нужную систему резервного копирования и какие технологии применять, чтобы вписаться в этот промежуток времени. Можно ли свести его к нулю? Можно, если использовать два хранилища, которые работают зеркально.

RTO (recovery time objective) - это промежуток времени, в течение которого система может оставаться недоступной в случае аварии. Например, в серверной произошла авария, и мы хотим, чтобы система была снова доступна через час. Это и есть значение RTO. Мы должны создать такой план аварийного восстановления, чтобы за этот час восстановить работоспособность информационной системы на резервном оборудовании или площадки.

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

Инструменты резервного копирования

Все инструменты резервного копирования можно поделить на следующие группы:

  • Встроенные инструменты
  • Бесплатные программы
  • Коммерческие системы
  • Облачное резервное копирование

Встроенные инструменты резервного копирования

Современные операционные системы уже включают в себя инструменты резервного копирования. Например, для Windows, начиная с Microsoft Vista, доступна программа Windows Backup And Restore (Архивация и Восстановление). Эта программа позволяет создавать полный бэкап операционной системы с возможностью инкрементного копирования. Windows Backup And Restore позволяет создавать автоматический полный бекап на сменный носитель, оптические диски или в специальное место на удаленном сервере.

Для копирования небольшого количества файлов и каталогов часто используется команда xcopy. Эту команду можно использовать с планировщиком Windows.

Для UNIX-систем самой популярной программой резервного копирования файлов является утилита rsync. Оно обладает богатыми возможностями, включая инкрементное резервное копирование, обновление всего дерева каталогов и файловой системы, как локальных, так и удаленных резервных копий, сохранение прав доступа к файлам, ссылок и многое другое.

Также имеет графический пользовательский интерфейс Grsync, но главное преимущество с Rsync заключается в том, что резервные копии могут быть автоматизированы с использованием сценариев и заданий cron системными администраторами прямо в командной строке.

Бесплатные и платные программы резервного копирования

Существует множество бесплатных и платных программ резервного копирования, которые можно легко найти в интернете. Большинство из них копируют файлы и каталоги, некоторые из них позволяют произвести резервное копирование виртуальных машин и осуществить посекторное копирование носителей.

Главное – это перед использованием на реальных данных проверить на тестовой копии тех же самых данных. Кроме того, необходимо проверить можно или восстановить данные из архива.

Облачное резервное копирование

Существуют решения, которые позволяют копировать в облако не только данные, но и целые виртуальные машины. Так

Такие системы, как CommVault или Veeam позволяют делать резервные копии в облако для:

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

При резервном копировании в облако через сеть Интернет особенно важно учитывать значения RPO и RTO, так как каналы с Интернет обычно достаточно медленные.

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

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

Shapshot – снимки системы

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

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

Затем, чтобы получить данные с диска, сначала нужно прочить содержимое снимка диска, а затем учесть все связанные с файлом или виртуальной машиной дисковые операции, записанные в отдельном файле. При записи новых или измененных данных на диск достаточно записать эти данных в отдельные файлы.

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

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

Рассмотрим виды создания снэпшотов.

Файловые службы

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

В теневых копиях (VSS) содержатся записи об изменениях файлов. Копии делаются автоматически каждый час - по умолчанию Windows хранит 64 копии файла. Использовать копии можно без прав администратору.

Вот важные особенности теневых копий:

  • Под теневое копирование выделяется 10% емкости раздела, это значение можно изменить.
  • Теневое копирование включается для тома целиком, и включить его для отдельного каталога нельзя.
  • Microsoft не рекомендует создавать снимки чаще, чем раз в час.
  • По умолчанию максимально хранимых снимков для диска - 64. При превышении этого значения служба VSS начинает циклическую перезапись теневых копий и удаляет самые ранние снимки.

В UNIX-системах можно использовать файловую систему ZFS, которая предоставляет широкие возможности по созданию и управлению снимками файловой системы.

Снимки могут быть сделаны одноразовыми или запланированными как задание cron. В любой момент вся файловая система может быть отброшена до последнего моментального снимка. Старые снимки могут быть клонированы и доступны для восстановления данных из этой версии файловой системы.

Снэпшоты в виртуальных машинах

Виртуальная машина - это файл. Такой файл содержит описание конфигурации виртуальной машины на языке, понятной гипервизору, а также содержимое виртуального жесткого диска, памяти и регистров процессора. Таким образом, с виртуальными машинами можно обходиться точно также, как и с обычными файлами - делать их копии, или создавать с них снимки. Как только создается снимок виртуальной машины, то на диск будет записана копия этого файла. Все, что в виртуальной машине будет изменяться, будет записываться в другой файл. Дальнейшая работа виртуальной машины ведет к модификации этого файла с изменений. В любой момент можно создать новый снимок виртуальной машины, тогда будет создан еще один файл, содержащий изменения. Можно также вернуться назад, на один из сделанных файлов изменений.

  • Снэпшоты сохраняются рядом с виртуальными дисками, на основе которых создаются снимки.
  • Снэпшоты быстро растут и могут превысить размер исходных виртуальных дисков, особенно быстро это проихсходит на высоконагруженных серверах и серверах баз данных.
  • Файлы снэпштотов всегда резервируются динамически, а это негативно отражается на общей производительности, особенно в случае высоконагруженных систем.
  • Несмотря на то, что теоретически можно создать цепочки из 32 снимков для одной виртуальной машины, не рекомендуется создавать более трех снэпшотов для сохранения производительности и стабильности работы виртуальной машины.
  • Продолжительность жизни одного снимка не должен превышать 72-х часов. В противном случае, его размер станет очень большой, а виртуальная машина будет работать очень медленно.

Такие гипервизоры, как Hyper-V или Wmware vSphere содержат встроенные средства создания снэпшотов. Использование СХД для размещения виртуальных машин и их снэпшотов позволяет снизить влияние снимков на производительность виртуальных машин, благодаря особенному устройству дисковых массивов.

Выводы

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

Технология создания снимков была разработана в первую очередь для тестовых систем. Например, вы создаете виртуальную машину, затем изменяете ее конфигурацию или устанавливаете новое программное обеспечение, а затем быстро откатываете изменения, если что-то не работает, или удаляете снэпшот если все в порядке.

При создании резервных копий необходимо обратить внимание на следующие моменты.

Бэкап важных данных следует делать в соответствии с правилом 3-2-1:

1. Создавайте три копии важных данных.

2. Две копии должны быть сохранены на различных физических носителях.

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

Термины Редактор: Дмитрий Сокол 749 12 мин Аудио

Что такое снапшот?

Снапшот (английское snapshot – моментальный снимок) используется в сфере VDS/VPS, а также в облачном хостинге.

Создание снапшота - это сохранение полной копии всей файловой системы виртуального сервера. Из этой копии можно сделать полное восстановление состояния сервера с сохранением оперативной памяти.

При восстановлении сервера из снапшота он продолжит свою работу ровно с того момента, когда был создан снимок.

Разница между снапшотом и резервным копированием

Снапшоты, как и обычные резервные копии, применяются для сохранения информации пользователя с возможностью восстановления при необходимости.

Снапшот Резервная копия
На создание тратится всего лишь несколько секунд. Создание резервной копии может занять от нескольких минут до несколько часов.
Технология создания снапшотов отлично справляется с виртуальными серверами, когда сохранению подлежит целиком весь сервер. Традиционное резервное копирование сохраняет только данные: файлы и базы данных, без сохранения всего виртуального сервера. Резервное копирование удобно применять для виртуального хостинга, где пользователю принадлежат и нуждаются в сохранении лишь конкретные файлы.
Создание снапшота происходит очень быстро по сравнению с резервной копией. Работа виртуального сервера приостанавливается буквально на несколько секунд. Изменение данных на нем в это время невозможно, поэтому вся информация в снапшоте является актуальной на момент его создания. При создании резервных копий сервер продолжает работать, и информация на нем может меняться. Таким образом, в состав резервной копии могут попасть не все данные, актуальные на момент начала ее создания.
Снапшот можно сделать, даже если виртуальный сервер находится в выключенном состоянии. Традиционную резервную копию данных сделать невозможно, если сервер выключен.
Внутри снапшота информация хранится в специальном формате, специфическом для используемой технологии виртуализации. Чтобы извлечь нужный файл из снапшота, самым быстрым вариантом будет развертывание из снапшота виртуального сервера целиком. Преимуществом традиционной резервной копии является относительная легкость извлечения из нее информации. Как правило, она выглядит, как архив, внутри которого находятся файлы сервера. Это позволяет легко найти и восстановить конкретный нужный файл.

Пример: Допустим, создается резервная копия файлов сайта. Также допустим, что информация в файлах A и B связана между собой, то есть при изменении файла B также должен измениться и файл A и наоборот. Процесс создания резервной копии занимает несколько минут. Последовательно копируются все файлы: сначала A, потом B. Если за это время информация в связанных файлах изменяется, то существует вероятность того, что в резервную копию попадут неактуальные данные, например, файл A был скопирован в резервную копию до обновления в нем информации, а файл B - уже после.

На практике при обновлении и чтении информации из связанных таблиц базы данных или файлов доступ к ним приостанавливается, поэтому неактуальная информация в резервную копию попасть все-таки не должна. Это означает, что на время создания резервной копии в той или иной мере приостановится также доступ к сайту, что является недостатком этой технологии.

Снапшот можно развернуть в виде новой копии виртуального сервера. Единственным ограничением при этом служит предоставляемый провайдером объем оперативной памяти и дискового пространства нового виртуального сервера, который должен быть не меньше, чем у сервера, с которого делался снапшот.

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

Использование технологии снапшотов у хостинг-провайдеров

Хостинг-провайдеры в своих панелях управления иногда называют снапшоты резервными копиями, видимо, для того, чтобы не пугать пользователей непонятным термином. От этого может возникнуть определенная путаница. Как правило, полные резервные копии виртуальных серверов, с технической точки зрения, являются именно снапшотами.

Пример: У провайдера Vdsina снапшоты виртуального сервера в личном кабинете называются резервными копиями:



Вот так выглядит создание снимка (снапшота) сервера в панели управления хостингом у провайдера ServerSpace:


И так - восстановление сервера из предварительно сохраненного снимка:


Выводы

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

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

Дмитрий Сокол

Редактор материала • Дмитрий Сокол Хостинг-эксперт (опыт работы 13 лет) Основная специализация - составление обзоров хостинг-провайдеров, написание статей и составление рейтингов. Верит, что невозможное - возможно и убеждает всех: "круто делай - круто получится!".

Читайте также: