что такое снапшот виртуальной машины
Функционал снапшотов виртуальных машин в программе VMware Workstation
В числе возможностей функционального гипервизора для Windows, программы VMware Workstation – создание снапшотов виртуальных машин. Это функционал сохранения состояний машин и возможность отката к таким состояниям. Функционал снапшотов всерьёз облегчает работу с гостевыми операционными системами (ОС) : он предлагает сохранение их эталонного рабочего состояния, к которому мы можем в любой момент вернуться, если что-то пойдёт не так.
И он, соответственно, позволяет нам легко соглашаться на самые смелые эксперименты. Нам не нужно использовать ни штатные механизмы, ни профильное стороннее ПО внутри гостевых ОС для создания системного бэкапа. Простой и эффективный страховочный механизм нам может предложить сам гипервизор. Как устроен функционал снапшотов виртуальных машин в VMware Workstation?
Что такое снапшоты VMware Workstation
Как создать снапшот
Создать снапшот виртуальной машины в программе VMware Workstation можно через меню.
А можно с помощью кнопок на панели инструментов. Для создания снимка служит кнопка в виде часов с плюсиком. В форме создания снапшота можем ввести описание, поясняющее состояние машины, оно пригодится, если снапшотов будет много. Либо же можем в самих именах снапшотов делать какие-то идентифицирующие указки, называя их по-своему, а не так, как по умолчанию «Снимок 1, 2, 3 и т.д.».
Если мы снапшот создали при работающей машине, можем с ней тотчас же продолжить работу, сохранение будет происходить в фоне. Прогресс создания снапшота будет виден на панели программы внизу.
Как откатиться к снапшоту
Откатиться к снапшоту можно с помощью кнопки в виде часов и стрелочки на панели инструментов программы. Но эта кнопка позволяет осуществить откат только к последнему снимку.
Если нужно вернуться к предшествующему или ещё ранее созданному снапшоту, можем сделать это в меню VMware Workstation.
Откат к снапшоту также можем осуществить из диспетчера снимков состояния, он запускается кнопкой в виде часов и гаечного ключа на панели инструментов программы. И здесь, в диспетчере можем в принципе лицезреть на карте расклад созданных снимков, их ответвления от узловых снимков. Для отката выбираем на карте снапшот и жмём кнопку «Переход». Или просто делаем на снимке двойной клик.
Удаление снапшотов
Ненужные снапшоты удаляются в диспетчере. Кликаем снимок и жмём кнопку «Удалить».
Функция автозащиты
Создание снапшотов можно автоматизировать, для этого у VMware Workstation есть функция автозащиты. Это автоматическое создание снимков виртуальной машины в её рабочем состоянии. В диспетчере жмём кнопку «Автозащита».
И оказываемся в разделе параметров виртуальной машины, где эта функция включается и настраивается. Для включения ставим галочку «Включить автоматическую защиту». И настраиваем – выбираем интервал автоматического создания снимков и их максимальное количество.
Интервал можно выбрать получасовой, почасовой и ежедневно. Поскольку автоматические снапшоты создаются только в процессе работы машин, то, соответственно, и в плане интервалов имеется в виду, что это отрезки времени активности машин. При достижении указанного максимального количества снимков старые удаляются, но это происходит не линейно – старый удалился, а новый создался, а выборочно, с сохранением возможности отката к более ранним снимкам. Например, если выбран получасовой интервал, то будет храниться как минимум один снимок, созданный час назад и день назад. А при ежедневном интервале будет храниться снимок, созданный неделю назад и месяц назад.
Клоны виртуальных машин из снапшотов
Помимо возможности создания веток снапшотов с различными состояниями виртуальных машин, VMware Workstation позволяет на базе снимков создавать клоны машин. Но только на базе снапшотов, созданных при выключенном состоянии машины. Такие клоны могут быть полными, т.е. полностью самостоятельными машинами, со своими файлами конфигурации и виртуальным жёстким диском. А могут быть связанными клонами, т.е. несамостоятельными, зависимыми от оригинальной машины в части основы – виртуального диска с данными. Связанные клоны будут базироваться на виртуальном диске оригинальной машины, лишнее место им потребуется только для хранения файлов конфигурации и данных, отличных от базового виртуального диска. Связанный клон можно настраивать как отдельную машину, проводить эксперименты с гостевой ОС, но такой клон, соответственно, не будет работоспособен при удалении оригинальной машины.
Для создания клона машины из снапшота в диспетчере жмём «Клонировать».
Запускаем мастер клонирования виртуальной машины.
Выбираем снимок для клона.
Выбираем тип клонирования – полный или связанный. В нашем случае выбран последний.
Можем сменить имя машины и путь её хранения на диске компьютера.
И всё: связанный клон создаётся за считанные секунды.
Весит такой клон немногим больше 20 Мб.
Удаляется связанный клон так, как и обычная машина.
Полное удаление машин, которое включает удаление их файлов на диске, предусмотрено в меню программы.
Backup и Snapshot: что это?
В нашей статье мы разберемся, в чем между ними разница и в каких случаях их можно применять.
Резервное копирование (backup)
Резервные копии нужны для восстановления утраченной или испорченной информации. Также резервное копирование применяется для архивирования (сохранения данных для использования их в будущем).
Копировать можно:
Виды резервного копирования
Существует несколько видов резервного копирования.
Полное резервное копирование
Во время полного резервного копирования сохраняются все данные. Когда старые бэкапы теряют актуальность, они удаляются целиком, чтобы освободить место. Такое резервное копирование требует много дискового пространства на носителе для резервной копии. Полное резервное копирование занимает много времени и, и поэтому проводится в нерабочее время. Такой способ позволяет сохранить важную информацию, но из-за больших сроков копирования он не очень подходит для восстановления быстро меняющихся данных. Полное резервное копирование для больших объемов рекомендуется сочетать с другими видами создания бэкапов: дифференциальным и инкрементным копированием
Дифференциальное копирование
Дифференциальное создание резервной копии – это копирование только тех файлов, которые были изменены с момента последнего полного копирования. Это позволяет уменьшить объем данных на резервном носителе и при необходимости ускорить процесс восстановления данных. Так как дифференциальное копирование обычно производится гораздо чаще, чем полное, оно очень эффективно, так как позволяет восстанавливать те данные, которые подвергались изменению совсем недавно, и отслеживать изменения файлов с момента полного копирования.
Инкрементное копирование
Этот вид копирования отличается от дифференциального тем, что при первом запуске инкрементного копирования происходит создание резервных копий только тех файлов, которые были изменены с тем пор, как в последний раз выполнялся полный или дифференциальный бэкап. Последующие процессы инкрементного копирования добавляют только те файлы, которые подверглись изменению с момента предыдущего резервирования. При этом изменившиеся или новые файлы не замещают старые, а добавляются на резервный носитель отдельно. Конечно, в этом случае процесс восстановления занимает больше времени, так как нужно последовательно восстановить всю историю изменений файлов.
Время резервного копирования
Для того чтобы правильно планировать резервное копирование, необходимо рассчитать два показателя: RPO и RTO.
RPO (recovery point objective) – это максимальный период времени, за который могут быть потеряны данные в результате аварии. Например, у нас есть информационная система, и если произойдет авария, и мы готовы ее восстановить за один час. Это значит, что за этот час новые данные не будут поступать в нашу информационную систему, и RPO равняется часу. Эти данные невозможно восстановить из резервной копии, потому что они не поступали в информационную систему. Показатель RPO говорит нам, как часто делать резервные копии нашей системы. На основании RPO мы можем выбрать нужную систему резервного копирования и какие технологии применять, чтобы вписаться в этот промежуток времени. Можно ли свести его к нулю? Можно, если использовать два хранилища, которые работают зеркально.
Мало рассчитать это время, еще необходимо убедиться в том, что и система резервного копирования, и план аварийного восстановления позволяют достигнуть этих значений. То есть необходимо произвести тестовое восстановление на копии реальных данных.
Инструменты резервного копирования
Все инструменты резервного копирования можно поделить на следующие группы:
Встроенные инструменты резервного копирования
Современные операционные системы уже включают в себя инструменты резервного копирования. Например, для Windows, начиная с Microsoft Vista, доступна программа Windows Backup And Restore (Архивация и Восстановление). Эта программа позволяет создавать полный бэкап операционной системы с возможностью инкрементного копирования. Windows Backup And Restore позволяет создавать автоматический полный бекап на сменный носитель, оптические диски или в специальное место на удаленном сервере.
Для копирования небольшого количества файлов и каталогов часто используется команда xcopy. Эту команду можно использовать с планировщиком Windows.
Для UNIX-систем самой популярной программой резервного копирования файлов является утилита rsync. Оно обладает богатыми возможностями, включая инкрементное резервное копирование, обновление всего дерева каталогов и файловой системы, как локальных, так и удаленных резервных копий, сохранение прав доступа к файлам, ссылок и многое другое.
Также имеет графический пользовательский интерфейс Grsync, но главное преимущество с Rsync заключается в том, что резервные копии могут быть автоматизированы с использованием сценариев и заданий cron системными администраторами прямо в командной строке.
Бесплатные и платные программы резервного копирования
Существует множество бесплатных и платных программ резервного копирования, которые можно легко найти в интернете. Большинство из них копируют файлы и каталоги, некоторые из них позволяют произвести резервное копирование виртуальных машин и осуществить посекторное копирование носителей.
Главное – это перед использованием на реальных данных проверить на тестовой копии тех же самых данных. Кроме того, необходимо проверить можно или восстановить данные из архива.
Облачное резервное копирование
Существуют решения, которые позволяют копировать в облако не только данные, но и целые виртуальные машины. Так
Такие системы, как CommVault или Veeam позволяют делать резервные копии в облако для:
При резервном копировании в облако через сеть Интернет особенно важно учитывать значения RPO и RTO, так как каналы с Интернет обычно достаточно медленные.
Если ваша виртуальная инфраструктура размещена в облаке, то облачный провайдер может предложить услугу резервного копирования. В таком случае потребителям не потребуется искать, выбирать, покупать и устанавливать программное обеспечение.
Для резервного копирования достаточно в панели управлении включить услугу в разделе Backup, затем выбрать период хранения резервных копий и нажать на кнопку Изменить.
Shapshot – снимки системы
Бывают ситуации, когда требуется быстро и полностью вернуть виртуальную машину или отдельный файл в то состояние, в котором виртуальная машина или файл находился на определенный момент, например, до обновления операционной системы, установки нового программного обеспечения или внесения ошибочного изменения.
Такую возможность дает технология создания снимков, или снэпшотов (snapshot). При наличии такого снимка можно быстро и полностью «откатить» компьютер или файл в то состояние, в котором он находился в момент создания снимка.
Суть этой технологии состоит в следующем. В момент создания снимка файла или виртуальной машины прекращается запись на диск, создавая таким образом снимок диска, а все последующие дисковые операции производятся в отдельном файле.
Затем, чтобы получить данные с диска, сначала нужно прочить содержимое снимка диска, а затем учесть все связанные с файлом или виртуальной машиной дисковые операции, записанные в отдельном файле. При записи новых или измененных данных на диск достаточно записать эти данных в отдельные файлы.
Если возникнет необходимость вернуть файл или виртуальную машину в исходное состояние, достаточно удалить файлы с изменениями, и продолжить использовать диск с момента создания снимка.
Если возможность отката к предыдущем состоянию уже не будет требоваться, накопленные изменения дисков нужно внести в созданный снимок диска, и продолжить использовать этот диск с новыми данными в обычном режиме.
Рассмотрим виды создания снэпшотов.
Файловые службы
В современных версиях Windows перезапись или удаление файла можно откатить благодаря наличию теневой копии.
Вот важные особенности теневых копий:
В UNIX-системах можно использовать файловую систему ZFS, которая предоставляет широкие возможности по созданию и управлению снимками файловой системы.
Снимки могут быть сделаны одноразовыми или запланированными как задание cron. В любой момент вся файловая система может быть отброшена до последнего моментального снимка. Старые снимки могут быть клонированы и доступны для восстановления данных из этой версии файловой системы.
Снэпшоты в виртуальных машинах
Такие гипервизоры, как Hyper-V или Wmware vSphere содержат встроенные средства создания снэпшотов. Использование СХД для размещения виртуальных машин и их снэпшотов позволяет снизить влияние снимков на производительность виртуальных машин, благодаря особенному устройству дисковых массивов.
Если вы используете виртуальные машины, размещенные в облаке провайдера, то для создания снимков необходимо в панели управления ввести имя снэпшота, и нажать на кнопку «Сделать снимок».
Выводы
Технология создания снимков была разработана в первую очередь для тестовых систем. Например, вы создаете виртуальную машину, затем изменяете ее конфигурацию или устанавливаете новое программное обеспечение, а затем быстро откатываете изменения, если что-то не работает, или удаляете снэпшот если все в порядке.
При создании резервных копий необходимо обратить внимание на следующие моменты.
Бэкап важных данных следует делать в соответствии с правилом 3-2-1:
1. Создавайте три копии важных данных.
2. Две копии должны быть сохранены на различных физических носителях.
3. Одна копия должна храниться отдельно от двух других, в другом здании.
Что такое снапшот виртуальной машины
Всем привет сегодня хочу затронуть вопрос снапшотов (snapshots) в VMware vSphere. Поговорим, что это такое, из чего состоит, плохо это или хорошо и где применяется. Думаю это актуальный вопрос и многие хотели бы в нем разобраться, да и я освежу это в памяти, и что то может переосмыслить.
Что такое snapshot
Любые данные, которые были доступны для записи на виртуальной машине, становятся доступными только для чтения при создании снимка. Snapshot позволяет вам возвращаться в одно и то же состояние несколько раз. Вы можете сделать снимок, когда виртуальная машина включена, выключена или приостановлена. Избегайте создания снимков, когда приложения на виртуальной машине обмениваются данными с другими компьютерами, особенно в производственных средах. Например, если вы делаете снимок, когда виртуальная машина загружает файл с сервера по сети, и виртуальная машина продолжит загрузку файла после того, как вы сделаете снимок. Если вы вернетесь к к своему снимку, то связь между виртуальной машиной и сервером будет прервана, и передача файла завершится неудачно.
Где применим снапшот
Применяют его чаще всего при резервном копировании виртуальных машин либо в тестовых целях, для тестирования софта или обновления например, чтобы можно было потом быстро откатиться если что то пошло не так.
Как создать снапшот в VMware vSphere
Сама процедура очень простая и сейчас будет описана. Если же вы захотите ее автоматизировать, то советую почитать Как создать snapshot виртуальной машины по расписанию в VMware vCenter 5.5.
Выбираете любую виртуальную машину, щелкаете по ней правым кликом и из контекстного меню выбираете Snapshot > Take Snapshot
В следующем окне задаем имя snapshot и при желании описание в поле description. Обратите внимание на две возможные галки
Описание параметров снимка
В итоге VMware Tools с помощью VMware Snapshot Provider запускает создание VSS snapshot внутри гостевой ОС. После чего все VSS writers (смотрим их командой «vssadmin list writers«) в гостевой ОС получают запрос и подготавливают соответствующие приложения к бэкапу (происходит запись всех транзакций из памяти на диск). Когда все VSS writers заканчивают работу, они сообщают службе VMware Tools через VMware Snapshot Provider, который, в свою очередь, говорит VMware о том, что снапшот можно снять.
Таким образом все приложения резервного копирования для VMware vSphere используют следующие комбинации при отдании команды на создание снапшота VMware (заметьте, что процесс непосредственно создания снапшота целиком и полностью контролируется самой VMware)
Если делать бэкап без опции Quiesce guest file system, то могут быть большие проблемы при восстановлении контроллера домена или Exchange сервера.
Как создать снимок виртуальной машины через PowerCLI
Тут есть две конструкции, которые вы можете использовать в PowerCLI. В первом примере, мы вызываем виртуальную машину «Terminal», а далее создаем там снапшот с именем «Untill Update».
Во втором примере, мы воспользовались командлетом New-Snapshot, и обратились к виртуальному серверу, где создали снапшот с именем «Untill Update«.
Структура файлов виртуальной машины при снятии Snapshot
Вот как выглядит структура файлов до снятия снапшота в VMware vSphere. Более подробно о форматах esxi файлов читайте по ссылке.
Теперь посмотрим, что изменится после снятия снимка виртуальной машины esxi 5.5. Как видите добавились файлы с форматом vmsn и добавленным в название 000001. Это и есть жесткий диск новых данных после снапшота.
Если посмотреть на эти же файлы в консоли ssh, то этот файл на самом деле состоит из четырех. У меня на скриншоте два снапшота и в сумме они занимают 8 фалов.
файл.vmsd. Это текстовый файл, открыв в редакторе вы увидите все отношения между родительским и дочерними дисками, а также другую интересную информацию
Хочу напомнить, что снапшоты лежат вместе с виртуальной машиной но их расположение можно поменять.
В гостевой ос
Что вы обнаружите например в событиях гостевой системы при создании снапшота без галки Snapshot the virtual machine’s memory и включенной на Quiesce guest file system. Вы в просмотре событий, в журнале Приложения обнаружите ошибку VSS с кодом 12289 (Ошибка теневого копирования тома: Непредвиденная ошибка DeviceIoControl). Можете на нее забить, так как она происходит из за флоппи диска в конфигурации виртуальной машины.
так же если посмотреть через клиента VMware vSphere датастор на котором лежит виртуалка то вы обнаружите файл архив vss_manifests*.zip с конфигами с описанием всех найденных VSS writers в гостевой ОС.
Также стоит добавить некоторые требования к Quiesce guest file system
VSS- это сервис, который всего навсего перед бэкапом заставляет базу данных записать все транзакции на диск, далее БД приостанавливает свою работу, затем создаётся теневая копия тома, на что уходит несколько секунд, Далее БД продолжает свою работу в обычном режиме, а бэкап сливается уже с теневой копии. В VMWare теневая копия не создаётся, а создаётся delta vdmk, при этом исходный vdmk становится доступным на чтение и содержит консистентные данные, что позволяет его скопировать в качестве бэкапа.
Чем плохи снапшоты
На своей практике могу точно сказать, что минусов в разы больше чем плюсов.
Плюсы снапшотов
Такие снапшоты делаются на небольшой промежуток времени, до суток. Протестировали и удалили.
Минусы снапшотов
Консолидация и удаление снапшотов / Удаление snapshot vmware
И так рассмотрим процедуру удаления снапшота. Выше мы узнали, что это снимки это зло, и вот еще почему. Не совсем понятное поведение снапшота при его удалении и слиянии с основным виртуальным диском vm машины. Для удаления и слияния вам потребуется свободное место на вашем дисковом массиве VMFS, это еще более актуально когда снимков несколько. Выше я привет снапшот как это может выглядеть. Предположим у вас виртуальная машина с тремя снимками вот таких вот размеров.
Вы допустим хотите удалить все снапшоты и нажимаете «Delete All в Snapshot Manager», далее идет вот такая операция Snapshot 3 сливается со Snapshot 2, но при этом сам Snapshot 3 остается на томе VMFS
В итоге первого шага мы получаем уже 90 гб (60+30). Теперь Snapshot 2 который весит уже 50 гб сливается с Snapshot 1, при этом Snapshot 2 и 3 не удаляются пока. Из этого следует что у нас уже занято 140 гб на хранилище.
Как только результирующий Snaphot 1 в 60 гб сольется с основным виртуальным диском при этом сам виртуальный диск flat в размере не меняется, поскольку он фиксирован (изменяется только содержимое блоков). И только затем все снапшоты удаляются (все 140 ГБ).
так что видите запас нужно всегда иметь, минимум 10 процентов.
Консолидация snapshot vmware
И так consolidation или консолидация, это по сути удаление снапшота со слиянием дисков, чаще всего оставленного каким нибудь средством резервного копирования, например veeam. Процесс consolidation vm я уже описывал, там все просто, но не понятно на сколько это влияет на датастор в плане производительности.
Что влияет на время консолидации в виртуальной машине
Замирание stun виртуальной машины в VMware vSphere
Если вы как и я долго уже работаете с гипервизором Vmware ESXI 5.5, то наверняка обращали внимание, что бывают случаи, что виртуальная машина подвисает на какое то время, или дико тормозит, а потом работает как ни в чем не бывало. За это в vmware отвечает параметр stun или как мы выше смотрели quiescence. Когда это происходит виртуалка не может ничего делать, она чаще всего падает по Ping и недоступна, и перестает отвечать на операции ввода/вывода. Если сказать по простому то ее как будто поставили на паузу, а на уровне ввода-вывода совершаются только операции, касающиеся выполняемой задачи (например, закрытие прежнего VMDK-диска и переключение операций чтения-записи на новый диск при операциях со снапшотами).
Параметр Stun в виртуальной машины нужен, в большинстве случаев, для того, чтобы сделать ее на время изолированной от окружающего мира для выполнения значимых дисковых операций, например, консолидация. Это может занимать несколько секунд (и даже десятков), но часто это происходит на время около секунды и даже меньше, все зависит от нагрузки хранилища, у меня бывали случаи, что если виртуалка толстая и снапшот здоровый, то время stun доходило и до минуты, что сразу вызывало бурю паники, что у нас все сломалось и что вообще блин происходит, паникеры одним словом, просто не знающие как это работает.
Когда может быть заметен stun виртуальной машины
Как правильно удалить Snapshot в ESXI
У вас существует несколько методов удаления снимков:
Как исключить диски из снимка
Могут быть случаи, когда вы не хотите, чтобы диски виртуальной машины подвергались воздействию моментальных снимков. Для достижения этой цели, вам нужно изменить режим жесткого диска виртуальной машины из «Disk Mode» в «Independent – Persistent или Independent – Nonpersistent. Два варианта немного различаются в соответствии с объяснением VMware: