Управление моментальными снимками Hyper-V (часть 3)

Опубликовано: 20 Апреля, 2023

  • Управление моментальными снимками Hyper-V (часть 2)

Введение

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

Консолидация снимков

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

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

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

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

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

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

Если вы посмотрите на рисунок А, вы увидите большую коллекцию снимков виртуальной машины с именем Core. Первый снимок (тот, что вверху списка) был создан 1 марта 2013 года в 20:43. Любые данные, которые были записаны на виртуальную машину до этой даты и времени, находятся на исходном виртуальном жестком диске виртуальной машины.

Изображение 15476
Рисунок A: Иногда вы можете получить огромную коллекцию снимков виртуальной машины.

Второй снимок в списке был создан 1 марта 2013 года в 21:09. Это означает, что в 21:09 содержимое первого разностного диска стало доступно только для чтения, а все операции записи были перенаправлены на второй виртуальный жесткий диск. Одиннадцать секунд спустя я создал третий снимок. Это создало еще один разностный диск, и при этом второй разностный диск был назначен только для чтения.

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

Удаление второго снимка невозможно, так как он содержит все операции записи, выполненные 1 марта с 21:09:38 до 21:09:49. Этот моментальный снимок содержит единственную копию этих операций записи, и система активно использует соответствующий виртуальный жесткий диск (для операций чтения).

Несмотря на то, что разностный диск каждого моментального снимка активно используется системой, Hyper-V 3.0 (Windows Server 2012) позволяет удалять случайные моментальные снимки в дереве моментальных снимков. Однако при удалении снимка в Hyper-V 3.0 вы фактически не удаляете данные, содержащиеся в снимке. Помните, что виртуальная машина активно использует эти данные. Вместо этого данные, хранящиеся на разностном диске, объединяются в следующий снимок. Таким образом, базовый разностный диск нежелательного моментального снимка может быть удален (что, как правило, повышает производительность), но в результате удаления не происходит потери данных.

Чтобы удалить снимок, просто щелкните правой кнопкой мыши ненужный снимок и выберите команду «Удалить» в появившемся контекстном меню, как показано на рисунке B.

Изображение 15477
Рисунок B: Чтобы удалить ненужный снимок, щелкните его правой кнопкой мыши и выберите команду «Удалить» в контекстном меню.

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

Применение снимка

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

При выборе команды «Применить» вы увидите предупреждающее сообщение о том, что текущее состояние виртуальной машины будет потеряно (поскольку вы возвращаетесь к предыдущему состоянию). Как видно на рис. C, Hyper-V дает возможность сделать снимок перед его применением. Создание снимка перед применением снимка дает вам возможность вернуться к текущему состоянию, если вы случайно примените неправильный снимок.

Изображение 15478
Рисунок C. У вас есть возможность сделать снимок перед его применением.

Чтобы увидеть, как это работает, взгляните на рисунок D. Как видите, текущее состояние виртуальной машины основано на моментальном снимке, созданном 1 марта 2013 года в 21:10:03. Это снимок, который я применил. Последующие снимки существуют, потому что я сказал Hyper-V сделать снимок перед применением снимка. Если бы я этого не сделал, снимки 9:10:14 и 10:10:34 были бы удалены при применении снимка 9:10:03.

Изображение 15479
Рисунок D: Текущее состояние виртуальной машины теперь основано на предыдущем снимке.

Вывод

Как видите, Hyper-V упрощает управление моментальными снимками. Тем не менее, рекомендуется свести коллекцию моментальных снимков к минимуму.

  • Управление моментальными снимками Hyper-V (часть 2)