Snapshot что это за программа
Перейти к содержимому

Snapshot что это за программа

Как правильно работать со снапшотами виртуальных машин

«Snapshot» в переводе с английского означает «выстрел» или «мгновенный фотоснимок». Снапшот — это своего рода фотоснимок виртуальной машины (ВМ), слепок её конкретного состояния. Виртуальная машина может использоваться для различного рода экспериментов, или в нее могут вноситься изменения, которые затем нужно быстро откатить назад. Именно для того, чтобы каждый раз не мучиться восстановлением предыдущего состояния ВМ и существуют снапшоты, возвращающие ВМ к исходному состоянию. Снапшоты — не такая уж простая операция, во всяком случае, делаться она должна по правилам, о которых мы сегодня и расскажем.

image

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

Снапшот сохраняет состояние виртуальной машины и данные по ней в определенный момент времени.

  • Состояние относится к энергетическим ресурсам виртуальной машины (например, включена, выключена, условное состояние);
  • Данные включают в себя все файлы виртуальной машины, включая диски, память и другие устройства, такие как виртуальные сетевые карты.

Лучшие практики

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

1) Снапшот — не .

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

2) Снапшоты образуют цепочки или деревья.

VMware советует делать в одной цепочке только 2–3 снапшота:

a. Большее число снапшотов или снапшоты большого размера могут вызвать уменьшение производительности виртуальной машины и хоста.

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

c. Файл снапшота может оказаться поврежденным.

d. Размер диска снапшотов оказывает непосредственное влияние на продолжительность времени, которое потребуется на удаление снапшота, относящегося к данной виртуальной машине.
image
Деревья снапшотов на Windows и Linux

3) Не делайте снапшотов памяти виртуальной машины:

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

b. Если нет острой потребности в возвращении виртуальной машины к конкретному состоянию памяти, отключите опцию «Память». Состояние памяти редко может потребоваться.

4) Используйте более одного снапшота для промежутка времени в 24–72 часа.

Хотя 2–3 дня — это рекомендуемый период, иногда снапшот хранится 5 дней, а затем автоматически удаляется:

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

b. Сделайте снапшот и удалите его сразу после того, как внесете необходимые коррективы.

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

5) Виртуальные машины с несколькими дисками:

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

b. Требования к свободному пространству дочернего диска дополняют требования к родительскому диску, от которого он зависит.

c. Дочерний диск может вырасти до такого размера, что заполнит все пространство для хранения.

d. Существует правило «Без снапшотов» для дополнительных дисков размером 100 Гб и больше, поскольку есть вероятность заполнения хранилища данных и прекращения работы всех виртуальных машин, которые используют одно и то же хранилище.

e. Дополнительные диски более 100 Гб размером считаются независимыми — это предотвращает переход влияние снапшота с родительского диска на дочерний.
image

Вместо заключения

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

Snapshot и Backup: в чем разница?

Рано или поздно все мы сталкиваемся с таким неприятным явлением, как потеря данных. Причины могут быть разными — от выхода из строя оборудования до сбоя программного обеспечения. Последствия потери данных могут быть тоже самыми разными — от потери времени до потери огромных средств. Для предотвращения потерь данных платформа xelent.cloud предоставляет два инструмента: Snapshot и Backup. В этой статье мы разберемся, в чем между ними разница.

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

Инструмент резервного копирования (backup) в своей классической интерпретации известен всем. Администратор может настроить резервное копирование файлов, папок, всей операционной системы и даже целых дисковых томов (поблочно).

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

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

Нужно понимать, что данные постоянно меняются и созданная резервная копия устаревает сразу же после ее создания. Скажем так, пусть в 7:00:00 вы инициировали создание резервной копии и в 7:30:00 она была создана. Если вы в 7:30:01 инициируете восстановление данных, то есть огромная вероятность, что система после восстановления в 8:00:00 все равно не будет такой, какой она была в 7:30:00 — на момент создания резервной копии. В некоторых случаях это не важно, поскольку нужно восстановить только содержимое файлов данных. В некоторых случаях — очень важно, поскольку будут потеряны все данные с момента создания резервной копии. Все просто: пусть вы создали резервную копию файла в 7:00, а в 17:00 случайно удалил этот файл. Вы можете его восстановить, но только по состоянию на 7:00 — все изменения за 10 часов работы будут утеряны.

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

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

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

В чем разница между Backup и Snapshot

Backup (бэкап) – это резервная копия данных. Она нужна, чтобы данные можно было восстановить, если они повреждены из-за физической поломки дисков, где они хранятся, атаки вируса-шифровальщика, человеческой ошибки и так далее. Главная цель бэкапов – сохранность данных.

Чтобы сделать бэкап, достаточно перенести файлы на новый носитель. Например, разместить фотоотчет с выпускного в облаке или скопировать его на флешку. Можно сделать резервную копию любых данных: файлов (тех же фото), ключей доступа, содержимого сайта, базы данных, исходного кода приложения.

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

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

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

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

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

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

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

Что такое Snapshot

Snapshot (снепшот) – это «заморозка» не только данных, но и всего состояния системы. Снепшот также называют моментальным снимком (от английского snapshot – снимок). Главная идея снепшотов − возможность в любой момент легко откатиться к более старому состоянию. Удобнее всего оказалось использовать снепшоты при работе с виртуальными машинами – многие среды виртуализации поддерживают их создание и возвращение к старым снимкам за пару простых действий.

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

Исходные данные «замораживаются» в виде файла или набора файлов, которые запрещено изменять. Все новые операции записываются в отдельные файлы. В этом отношении снепшот похож на инкрементальные бэкапы, так же можно создавать цепочки (последовательности) или деревья снимков – множество снепшотов системы на определенных этапах, что позволяет обратиться к нужной версии.

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

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

Когда используют бэкап

Создание бэкапа (резервное копирование) позволяет сохранить данные на длительный срок, чтобы их можно было восстановить в случае сбоя, повреждения или утраты носителя.

Лучше всего бэкап подходит в следующих ситуациях:

  • Архивирование: необходимо на длительный срок сохранить данные (более недели).
  • Миграция: требуется перенести данные на другое устройство.
  • Восстановление: нужно обеспечить возможность восстановления системы в случае сбоя.

Когда лучше использовать снепшот

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

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

Бэкапы и снепшоты работают вместе

Бэкапы и снепшоты − для разного: одни для надежности, другие для гибкости. Но когда нужно и то, и другое, они работают вместе.

Например, полное бэкапирование занимает много времени, это мешает сделать точную копию. В бэкапе может оказаться копия данных, отличная от оригинала, так что его нельзя будет восстановить из бэкапа. Представьте себе три папки: «Кошки», «Еноты» и «Ежи». Кошки уже скопировались в бэкап, сейчас копируются еноты. Если в этот момент взять ежа #8 и из «Ежей» перенести в «Кошек», система создания бэкапов этого не заметит. Когда она дойдет до «Ежей», #8 не попадет в бэкап− копия не будет содержать его ни в «Ежах», ни в «Кошках».

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

Резюме

Бэкапы − для надежности хранения данных и возможности их восстановления или «клонирования» на другие компьютеры.

Снепшоты − для быстрого и удобного возвращения системы в прошлое состояние. Это помогает проводить «опасные» эксперименты.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *