пятница, 3 сентября 2021 г.

Не используйте VMware Snapshot (и AutoProtect) для резервного копирования


VMware и все другие виртуальные платформы не рекомендуют использовать функции VMware Snapshot или AutoProtect Snapshot для резервного копирования виртуальных машин. Обоснование и альтернативные варианты приведены ниже. Прежде всего, необходимо знать, что делают и чего не делают моментальные снимки и функции AutoProtect, чтобы принять обоснованное решение.
Что такое моментальный снимок VMware?

Снимки в VMware - это механизм, позволяющий пользователю виртуальной машины "заморозить" машину и вернуться к этому замороженному состоянию в более поздний момент времени. Естественно, эта функция очень популярна среди разработчиков и тестировщиков программного обеспечения, поскольку она позволяет им повторять тесты, причем все тесты имеют точно такую же определенную начальную точку и системные условия. Но как это делается внутри системы? Здесь кроется ответ на вопрос, почему не следует воспринимать моментальные снимки как механизм резервного копирования.

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

К сожалению, VMware использует очень глупый параметр по умолчанию, который большинство пользователей игнорируют. Это приводит к разбиению файлов VMDK на файлы размером 2 ГБ. Таким образом, виртуальный диск размером 2 ТБ разбивается на 1024 файла размером 2 ГБ. Если вы думаете, что это очень глупо, подумайте вот о чем: Если вы сделаете два-три моментальных снимка, в папке вашей виртуальной машины будет более 3 000 файлов! И вдруг ваша виртуальная машина начнет работать очень медленно, и вы зададитесь вопросом, почему.
Что происходит при восстановлении моментального снимка VMware?

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

Удаление моментального снимка требует гораздо больше усилий, поскольку теперь вы сообщаете VMware, что хотите сохранить изменения, которые она "посчитала" маловероятными; следовательно, VMware необходимо объединить исходный виртуальный диск с изменениями, которые произошли после этого. Если было внесено много изменений, такое объединение может занять некоторое время. После завершения файлы моментальных снимков удаляются.

Позвольте мне внести здесь небольшое уточнение. То, как VMware и другие платформы реализовали моментальные снимки, свидетельствует о том, что они не предназначены для резервного копирования и не подходят для производственных систем. Если бы архитекторы VMware хотели, чтобы вы использовали моментальные снимки в качестве механизма защиты, они бы выбрали запись изменений на оригинальный диск и запись оригинальных блоков в файл "preserve the original".  Таким образом, не было бы никакого влияния на производительность при последующих чтениях или записях, а уничтожение моментального снимка было бы очень быстрым и простым. Но они так не сделали, и не сделали по уважительной причине: причина в том, что моментальные снимки не предназначены для резервного копирования.
Разрешены ли моментальные снимки на производственных системах? Нет.

Многие опытные ИТ-системные администраторы будут рассержены, если вы создадите моментальные снимки для производственной ВМ из-за неэффективности и сложности управления, о которых говорилось выше. ВМ без снимков может состоять всего из двух файлов - конфигурации и виртуального диска VMDK. ВМ с моментальными снимками может состоять из десятков и сотен файлов. Естественно, все эти неэффективности увеличивают и замедляют работу сервера. Они делают управление структурами данных ВМ слишком сложным и подверженным ошибкам. По этим причинам лучше и эффективнее всего не использовать моментальные снимки VMware в производственных системах.
Почему именно моментальный снимок VMware и функция AutoProtect Feature не рекомендуются в качестве резервного копирования VMware?
Резервное копирование виртуальной машины - это гораздо более полный и надежный процесс, чем простое создание моментального снимка. Прежде всего, моментальные снимки изменяют саму виртуальную машину, поскольку вводят новые зависимости, в то время как резервное копирование VMware не делает этого. При добавлении моментального снимка создается больше файлов, VMware начинает записывать изменения диска в разные файлы и т. д. Если какой-либо файл повреждается или теряется, вся виртуальная машина становится поврежденной. Снимки почти всегда хранятся на одном диске; следовательно, простой отказ диска также повлияет на снимок. Тем не менее, даже если поврежден только моментальный снимок, а оригинальные файлы в порядке, в любом случае виртуальная машина будет повреждена.

Для резервного копирования VMware используется отдельное хранилище, в идеале - на другом устройстве или в облаке (см. VMware cloud backup). Оно защищает от всех видов сбоев: аппаратных, программных, вредоносных программ, сбоев операционной системы, а также случайных или даже преднамеренных повреждений, нанесенных, например, недовольными сотрудниками. Благодаря созданию надежных копий всех битов информации, необходимых для восстановления виртуальной машины, резервное копирование VMware содержит полный набор всего, что нужно для восстановления виртуальной машины на любом хосте VMware, например, конфигурацию виртуальной машины, виртуальные диски и все снимки, принадлежащие виртуальной машине.
Преимущества резервного копирования VMware перед моментальными снимками

Автоматизированное резервное копирование VMware в реальном времени технически лучше и намного надежнее, чем моментальные снимки. Резервные копии VMware можно создавать как во время работы ВМ, так и во время ее выключения, и любой из этих способов работает без проблем. Резервные копии VMware можно восстанавливать, а восстановленная ВМ может быть настроена как клон оригинальной, чтобы можно было сравнивать их бок о бок. Резервные копии VMware Backups не влияют на производительность после завершения резервного копирования, в отличие от моментальных снимков, которые замедляют каждый доступ к диску ВМ после их создания. Еще один важный эффект моментальных снимков заключается в том, что внутренние файлы трассировки VMware очень часто записываются на диск для отслеживания битовых образов моментальных снимков, что в случае твердотельных накопителей может привести к их быстрому износу и, как следствие, выходу диска из строя.
Какова рекомендуемая стратегия?

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