Почему моментальные снимки считаются временными, а не настоящими?

27

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

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

Я начал читать статьи в базе знаний VMware и везде. Везде рекомендовалось не делать снимки в течение длительного времени.

Даже VMware посоветовал сохранять снимки максимум на три дня.

Но наша команда постоянно просила нас сделать как минимум два постоянных снимка (до удаления виртуальной машины). Иногда мы можем использовать виртуальную машину в течение года).

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

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

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

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

Почему моментальные снимки считаются временными, а не настоящими?

Samselvaprabu
источник

Ответы:

33

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

  • Дисковый ввод-вывод для ВМ намного медленнее.
  • Эти «дельта-файлы» со временем растут, поскольку все больше и больше дискового ввода-вывода выполняется виртуальной машиной.
  • Когда снимок удаляется, изменения, хранящиеся в файлах «delta», должны быть объединены с основными файлами .VMDK, и это очень медленно и занимает много времени, если снимок был активным в течение длительного времени.

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

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

Вот некоторая официальная документация о снимках:

http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1015180

Massimo
источник
1
KB, чтобы подтвердить некоторые из указанных выше пунктов, см. Строку 2 в разделе разрешения - kb.vmware.com/selfservice/microsites/…
Cold T
5

Некоторые форматы снимков, используемые vmware, со временем снижают производительность, так как хранят больше данных. Формат «разреженного экстента», который, я считаю, по-прежнему используется по умолчанию в последних версиях, по-видимому, не имеет этого свойства (вы просматриваете 3 чтения на чтение и до 2 операций чтения или 3 записи на запись, но это не так). Хуже, когда диск заполняется). Поэтому я не совсем уверен, что свойство «не хранить снимки в течение длительного времени» всегда является правильным советом.

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

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

romble
источник
5

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

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

В этом сценарии все изменения между моментом времени, когда были сделаны снимки VMware, и моментом сбоя просто теряются.

Поэтому мой общий совет - делать снимки VMware только для определенной цели и удалять их, как только они будут использованы для этой цели.

http://kb.vmware.com/kb/1025279

Джей Ге
источник
3

В качестве решения для запроса вашей команды о чистом установочном образе или определенном состоянии, я бы рекомендовал использовать шаблоны. Шаблоны клонируют виртуальную машину (в основном, просто копию) в состояние, которое не может быть включено или изменено, его можно просто использовать в качестве ссылки для клонирования копий. Так, например, если у меня есть шаблон «Установка Debian по умолчанию», и команда серверов запрашивает три новых сервера, я просто создаю три новых клона, настраиваю и все готово.

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

Джим Г.
источник
1

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

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

Боян Маркович
источник
1

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

PFO
источник