Из переписки:
Цитата из инструкции по ссылке:
thx камрад Egros.
Михаил, добрый день!Бэкап ВМ на ESXi с сохранением памяти, рабочая схема
Надеюсь, что следующая информация будет для Вас интересна..
В связи с ограниченным бюджетом и небольшими размерами ИТ-инфраструктуры в ближайшем будущем планируем использовать бесплатный ESXi. И сразу же столкнулись с отсутствием вменяемых средств резервного копирования. Широко известный скрипт ghettoVCB.sh выполняет бэкап дисков, но имеет недостаток - он не сохраняет состояние памяти.. Был проведён тщательный анализ различного ПО и в результате был разработана технология, позволяющая делать бэкап с сохранением состояния памяти, т.е. восстанавливается не только диски VDMK, но и дамп оперативной памяти, в итоге получаем полное состояние системы на момент создания копии. С технологией Вы можете ознакомиться по ссылке:
Цитата из инструкции по ссылке:
Столкнулся с тем, что для ESXi'я практически отсутствуют бесплатные решения для организации резервного копирования ВМ. Наиболее приемлемый вариант - скрипт ghettoVCB.sh, который обладает серьёзным недостатком - он лишь бэкапит виртуальные диски, память при этом не сохраняется. Восстановление с такого бэкапа равносильно тому, как будто бы работа сервера была прервана кнопкой Reset, что чревато и не всегда приемлемо.
Предлагаемая схема создания бэкапов эффективно обходит данный недостаток, позволяя создавать резервные копии вместе с сохранением состояния памяти. Восстановление с такого бэкапа равносильно восстановлению со снепшота, т.е. машина возвращается в состояние на момент создания резервной копии.
thx камрад Egros.
Мой комментарий к вопросу - http://www.vm4.ru/2011/02/ghettovcb.html?showComment=1303076524244#c718462603546026477
ОтветитьУдалитьВот это интересно. Но, существуют ли готовые средства для создания и восстановления бэкапов с памятью?
ОтветитьУдалитьЯ уже обращался к партнерам vmware - никто о таком не знает. Хотя задача очень простая и очень нужная ( механизм то есть )
Я рассмотрел более 10ка различных систем резервного копирования для vmware, среди них есть те, которые умеют создавать бэкапы с памятью, но восстанавливать не умееют ( не понятно зачем тогда делается бэкап ).
Hober, в подавляющем большинстве случаев автоматизированные бэкапы не требуют включения памяти. Ибо просто не нужно - машина прекрасно стартует и заново, главное чтобы файловая система консистентна была. И как я уже сказал, остановка ВМ только для снятия снапшота - недопустимо в большинстве случаев.
ОтветитьУдалитьГлавное - не состояние машины, а данные.
Anton Zhbankov
Hober, насчёт готоового решения..
ОтветитьУдалить1. Если Вы внимательно читали мою статью, то я там отсылаюсь на решение Trilead VM Explorer, которое умеет сохранять и восстанавливать бэкапы вместе с памятью.
2. На основании механизма, который я описал, очень просто сделать скрипт. В самом примитивном варианте он будет состоять максимум из 10 строк - если не выполнять проверок и не вести логов. Но в простом случае этого более чем достаточно. Создаются снепшоты командой vmsvc/snapshot.create, файлы копируются командой cp на NFS-хранилище, удаление снепшотов аналогично созданию.
Anton Zhbankov, в первую очередь необходимо взевсить, что более критично - пауза в 10 секунд или возможность потери данных при восстановлении с бэкапа без памяти (равносильно нажатию Reset). Предлагаемое решение относится скорее к сегменту SBS, где незначительная пауза в несколько секунд абсолютно не критична. В более серьёзных средах скорее всего будут использоваться иные методы резервного копирования и скорее всего оно будет выполняться на уровне приложения, а не на уровне хоста ESXi. Для меня данный способ в первую очередь обеспечивает резервное копирование самой ОС, данные сохраняются иными способами.
1. Да, я уже тестирую Trilead. Когда я искал готовое решение - нашел только одно Ardeo Snapshots for vmware ( но почему-то оно не умеет восстанавливаться до рабочего состояния с памятью ).
ОтветитьУдалить2. Согласен, буду пробовать.
winengineer, скорее всего? Т.е. Вы не уверены?
ОтветитьУдалитьНу значит у меня несерьезная среда была :-D
Ожидаете какую-то исповедь или хотите меня в чём-то разоблачить, не очень понимаю? )) Я работаю в сегменте СБС и решаю задачи соответсвующего уровня, для нас не критична даже ежедневная часовая пауза.
ОтветитьУдалитьВсем привет.
ОтветитьУдалитьПожалуйста объясните ещё раз для неразумных. Для чего так необходим бэкап с состоянием памяти?
В общем случае в момент бэкапа будет вызваны службы VSS и все системы спокойно сбросят состояние на диск, и после восстановления всё будет в лучшем виде.
Такой практике придерживаются при бэкапе физических машин, и насколько я знаю никто не жаловался.
Спасибо!
Насколько высоки издержки бэкапа с сохранением состояния памяти по сравнению с простым сохранением данных на дисках? На мой взгляд они минимальны. 30-секундная задержка может иметь критическое значение разве что в случае например особо загруженого SQL-кластера или веб-приложения с очень высокой посещяемостью. Но это решение другого уровня. Тут должны использоваться не бесплатные скрипты для ESXi, а специализированое ПО и оборудование. Данный способ - решение бесплатное, оттого предназначение для сегмента малого бизнеса, готового нести определёные издержки по простоям и производительности. В частности, данный способ очень хорош для бэкапа SBS-сервера или одиночного контроллера домена.
ОтветитьУдалитьДрузья, простите, но разве в скрипте ghettoVCB.sh нет возможности сохранения памяти?
ОтветитьУдалитьРазве параметры: VM_SNAPSHOT_MEMORY, VM_SNAPSHOT_QUIESCE
этого не делают?
Ещё раз - чем не устраивает архивация консистентного снапшота, создаваемого VSS? Восстановленная машина стартует за 1-5 минут и всё работает как ни в чём не бывало, и SBS, и DC тоже. Какие конкретные проблемы решает сохранение состояния памяти? Зато понятно, какие проблемы оно создаёт - потеря времени и места на хранилище, и потери тем больше, чем больше ОЗУ у ВМ.
ОтветитьУдалить>>Друзья, простите, но разве в скрипте ghettoVCB.sh нет возможности сохранения памяти?
ОтветитьУдалитьПочти, только восстановиться потом не возможно
>>Какие конкретные проблемы решает сохранение состояния памяти?
Есть приложения, которые очень критичны к вырубанию машины ( никакие VSS, сбросы кешей и т.д. не помогают ). На KVM-е эта проблема легко решается - миграцией машины в файл.
Огласите, пожалуйста, список приложений, которые после восстановления из консистентного архива прекращают корректно работать?
ОтветитьУдалитьfirebird 1.5
ОтветитьУдалитьДа я согласен, что не все приложения поддерживают VSS. В основном современные приложения (базы данных) работающие на сервере VSS-aware и особой нужны в памяти нет.
ОтветитьУдалитьЕсть другой вопрос.
В случае добавления такой машины на этот же сервер не возникнет ли конфликта MAC адресов?
На сколько мне известно ESX его разруливает только в момент старта машины, а не в момент выхода из suspend.
Hober, а FireBird 1.5 как переживает восстановление из бэкапа на физической машине?
ОтветитьУдалитьAZh>а FireBird 1.5 как переживает восстановление из бэкапа на физической машине?
ОтветитьУдалитьАнтон, тут стОит заметить, что восстанавливается из быкапа не FB1.5 как сервер БД, а непосредственно файл(ы) БД.
Т.е. в общем случае можно мухой установить FB начисто, сресторить штатными средствами быкап БД и вуаля!
За ув.Hober`ом я подозреваю :) следующее - у него при работе FB может использовать режим ForceWrite=off - т.е. операция записи в БД происходит в отложенном режиме, "задерживаясь" в буферах в ОЗУ. Причём эти буферы контролируются самим FB (т.е. это не дисковый кеш ОС) и задаются как к-во кешируемых страниц БД в её параметрах. Соответственно, если мы не забыкапим ОЗУ, то содержимое буферов будет потеряно.
Но думаю, что сам ув. Hober должен прояснить ситуацию с его FB лучше, нежели это сделают мои догадки... :)
С уважением,
Umlyaut.
Да правильно, настроен отложенный режим, иначе очень большие тормоза при работе с БД ( что для нас не приемлимо ).
ОтветитьУдалить2 Hober:
ОтветитьУдалитьНу это, коллега, нормально - сам эксплуатирую FB1.5 с FW=off... :)
С уважением,
Umlyaut.
>Друзья, простите, но разве в скрипте >ghettoVCB.sh нет возможности сохранения памяти?
ОтветитьУдалить>Разве параметры: VM_SNAPSHOT_MEMORY, >VM_SNAPSHOT_QUIESCE
>этого не делают?
Нет, не делают. Эти параметры просто создают снепшот вместе с состоянием памяти, при этом дамп памяти скрипт не копирует. Но даже если исправить скрипт и скопировать дамп памяти, это всё равно не сработает, т.к. для восстановление дампа требует наличия delta-VDMK. А чтобы получить дельту, нужно обратиться к механизму, который я описал в статье.
Насчёт целесобразности. Вполне возможно, что особо и не нужно сохранять память. Недостаток пока вижу только один - при сохранении памяти придётся копировать все виртуальные диски и их дельты, что не всегда приемлемо, есть задачи, требующие сохранять только часть дисков.