Проблема создания резервных копий виртуальных машин забесплатно давно меня волновала.
Вернее, не просто создания резервных копий, но регулярного создания резервных копий и проверки целостности.
До появления ESX3m5 Update4 можно было делать резервные копии достаточно просто – с помощью скриптов на Powershell или RCLI. Но всему хорошему рано или поздно приходит конец – и компания VMware решила, что раз ESXi – бесплатное решение, то и функционал публичного API (используемый вышеперечисленными инструментами) будет доступен только в режиме чтения. То есть, посмотреть информацию с хоста можно, изменить – нельзя.
“Мыши плакали, кололись, но продолжали есть кактус”…
Я рассмотрел несколько бесплатных решений: Trilead VM Explorer и Veeam FastSCP Free. Везде были свои минусы:
– Trilead – это законченное средство для бэкапа одной ВМ. Т.е. вы нажали “Backup VM” и все – бэкап пошел создаваться. Но, скорость работы не превышала 5Мб/сек, кроме того, сделать бэкап нескольких ВМ или настроить регулярный бэкап в бесплатной версии нельзя. Ну и можно забыть про оповещения;
– Veeam – решение более интересное. 🙂 Там присутствует возможность настраивать задания по копированию, загвоздка лишь в том, что копируется весь каталог с ВМ. А ведь там лежат файлы, которые недоступны для чтения, – своп и жесткий диск. Соответственно, проблемы с перенаправлением свопа и создания снимков ложатся целиком на плечи системного администратора. Правда, был и плюс – наличие оповещения. В общем, тоже не айс.
И тут Михаил Михеев показал, как пользоваться гуглом и подкинул ссылку на достаточно адекватное и бесплатное средство. Данное средство позволяет делать бэкапы не только с ESX, но и с бесплатных серверов ESXi.
Я его попробовал и хочу прорекламировать вам. 🙂
1) Разрешаем доступ к нашему серверу по SSH. Вот инструкция для ESXi;
2) Скачиваем клиент для подключения по ssh, например, PuTTy;
3) Скачиваем скрипт ghettoVCB.sh и помещаем по пути “/vmfs/volumes/datastore”. Ни в коем случае не редактируем его под Windows;
4) Разрешаем его запуск – “chmod +x /vmfs/volumes/datastore/ghettoVCB.sh;
5) Пытаемся запустить скрипт. Если при запуске выдается сообщение “Cannot be found”, скорее всего, скрипт немного кривой. Выполняем команду “vi ghettoVCB.sh” – если скрипт содержит символы “^M”, его нужно немного исправить. Для выхода из VI нажимаем сначала “Esc”, затем “:q” и “Enter”. После этого в командной строке выполняем “sed ‘s/.$//g’ ghettoVCB.sh > ghettoVCBFixed.sh”. Теперь просмотрим файл ghettoVCBFixed.sh – “vi ghettoVCBFixed.sh”. Если наборы символов “^M” пропали, делаем новый скрипт запускаемым (пункт2) и пытаемся запустить. “Правильный” скрипт после запуска должен сругаться – что у вас не указан файл со списком ВМ;
6) Через графический интерфейс удаляем старый скрипт и переименовываем новый: ghettoVCBFixed.sh -> ghettoVCB.sh;
7) Редактируем скрипт – “vi /vmfs/volumes/datastore/ghettoVCB.sh” и нажимаем “Insert”. Давайте изучим доступные параметры:
– VM_BACKUP_VOLUME=/vmfs/volumes/backup (Резервное NFS-хранилище)
– ENABLE_2GB_SPARSE=0 (Измените на 1, если вы хотите дробить VMDK кусками по 2GB)
– VM_BACKUP_ROTATION_COUNT=3 (Сколько бэкапов будет храниться для виртуальной машины)
– VM_BACKUP_DIR_NAMING_CONVENTION (как будет формироваться название. По умолчанию вполне адекватно)
– POWER_VM_DOWN_BEFORE_BACKUP=0 (При значении – 0 вы получаете “живой” бэкап без остановки ВМ)
– ENABLE_HARD_POWER_OFF=0 (Соответственно, выключение ВМ не через vmware tools, а физически)
– ITER_TO_WAIT_SHUTDOWN=4 (тайм-аут для физического выключения ВМ)
8) Сохраняем наш скрипт. Для этого нажимаем “Esc”, затем “:wq” и “Enter”;
9) Создаем файл со списком машин – “vi /vmfs/volumes/datastore/vmbackup”. В данном файле набираем список ВМ точно так же, как они называются в vClient. Например, так:
vm1
vm2
DC1
ExchSrv
В вашем файле будут содержаться названия четырех ВМ. Сохраняем файл (пункт6);
10) Давайте посмотрим текущее время на вашем ESXi. Для этого выполним команду “date”:
Mon Aug 3 08:28:52 UTC 2009. Текущее время на рабочей станции – 14:28.
Мой сервер синхронизируется с NTP-сервером предприятия, кроме того, сейчас на локальных станциях настроено летнее время, поэтому разница во времени сервера и локальной станции – 6 часов. Запомним эту цифру;
11) Отредактируем файл заданий планировщика CRON. Для этого выполним команду “vi /var/spool/cron/crontabs/root”. Добавим новую строку (новое задание) вида:
“00 19 * * 7 /vmfs/volumes/datastore/ghettoVCB.sh /vmfs/volumes/datastore/vmbackup”
Это означает, что в 19:00 каждое воскресенье мы выполняем команду “/vmfs/volumes/datastore/ghettoVCB.sh /vmfs/volumes/datastore/vmbackup”. А так как у нас смещение зимой +5 часов, а летом +6, то задание будет выполняться либо в 0:00, либо в 1:00 в понедельник;
12) Перезапустим демона-планировщика 🙂
Для этого выполним следущие команды:
“kill ps ax | grep cron | awk '{print $1}'
“. Обратите внимание, что ` и ‘ – разные знаки!
“crond”
13) Лог ghettobackup.log, который лежит на NFS-сервере, затем можно отправить по почте, чтобы ознакомиться с результатами;
Вот и все, дерзайте 🙂
P.S. Огромное спасибо мистеру новичку за бесценную помощь в настройке CRON под ESXi.
А cron под esxi не работает?
нет
спасибо!
если дать доступ к хосту по ssh, то можно и cron заставить работать.
Наверное, у меня что-то не настроено? 🙂
~ # crontab
-ash: crontab: not found
Установка RPM-пакетов в ESXi также запрещена. 🙂
Подскажите виндусятнегу, как установить Cron на BusyBox (на ESXi).
ну, вот как-то так примерно:
>echo “my_task_text” >> /var/spool/cron/crontabs/root
эээ, забыл, после чего обязательно надо перезапустить crond
/sbin # /sbin/service cron stop
-ash: /sbin/service: not found
Еще идеи?
>kill
ps ax | grep cron | awk '{print $1}'
>crond
Спасибо. Пробую настроить!
Если кто-то делает этим скриптом backup на nfs сервер, то какова скорость? лично у меня она не превышает 5-10 МБайт/с в гигабитной сети, что весьма и весьма мало (.
Примерно 15Мбайт/сек.
Как и обещал – пишу отчет об использовании в качестве планировщика Cron.
После изменения настроек Cron в файле /var/spool/cron/crontabs/root и перезапуска Cron резервное копирование действительно отрабатывает. Еще раз огромное спасибо новичку за советы по работе с командной строкой. За выходные выложу обновленную инструкцию с использованием Cron вместо планировщика Windows (пункт 8 – пункт 11).
P.S. Вот только у меня не получилось убить Crond с помощью
kill
ps ax | grep cron | awk ‘{print $1}’
Вместо этого я получил его PID и выполнил команду “kill PID”.
ps ax | grep cron | awk ‘{print $1}’
как раз и возвращает PID процесса. Опробовано на ESXi 3.5 u4, ESXi 4.0. Везде работало.Спасибки большое за ценную информацию и за скрипт! но есть одна маленькая проблемка backup делается локально на том же сервере ESX, а как его автоматически после backup переслать на другой ESX?
А как после backup автоматически передать файлы на другую ESX? Ведь путь в скрипте указывается локальный.
есть ли возможность сделать backup с одного esxi на другой ?
После прочтения текста скрипта, делающего backup ВМ, возник вопрос. Насколько я понял, суть действий скрипта заключается в том, что делается snapshot, после чего файлы *.vmdk копируются куда-то. А вот и сам вопрос – если ВМ, диски которой копируются, была включена, то будут ли корректны файлы самой ВМ внутри vmdk файлов? Ведь на момент создания снапшотов, что-то могло быть в ОЗУ машины и в таком случае будет записано в файл снапшота и, следовательно, не попадет в наш бэкап. Или же перед созданием снапшота все буферы сначала скидываются внутрь vmdk, а уже потом делается снапшот и можно не бояться за целостность данных внутри *.vmdk файлов?
а как можно по NFS расшарить папку с VMFS с локального стораджа ?
чтобы одному esxi скопировать свои VM другому ?
В ESXi нет nfs сервера.
Прошу прощения за недельное отсутствие – свадьба 🙂
Отвечаю по порядку:
Vitaliy: А как после backup автоматически передать файлы на другую ESX?
Ответ: С самого сервера файлы можно копировать только в пределах хранилищ этого сервера. А это локальные диски (DAS), FC, NFS, iSCSI. Чтобы скопировать файлы на другой сервер надо как-то подключить его ресурсы к серверу со выполняющимся скриптом, либо использовать сторонние утилиты, например, Veeam FastSCP Free. Для пересылки файлов на другой сервер вы можете использовать задания в FastSCP Free.
новичок: вопрос по снимкам…
Ответ: Если упрощенно, то снимки можно делать с содержимым оперативной памяти и без нее. При откате на снимок с содержимым ОЗУ вы сразу получаете работающую систему. При откате на снимок без содержимого – как будто вы во время работы нажали Reset. Скрипт делает снимок без содержимого ОЗУ, соответственно, при создании снимка файлы внутри VMDK будут настолько корректны, насколько этого позволяет используемая файловая система и приложения. Т.е. минимально необходимый набор – наличие журналируемой ФС, например, NTFS и журналируемого приложения.
Прошу прощения, что не сказал сразу, но приложения рекомендуется бэкапить и восстанавливать на уровне гостевой ОС, а не хоста!
dim-soft: а как можно по NFS расшарить папку с VMFS с локального стораджа?
Ответ: тут лучше использовать ВМ, внутри которой развернут сервер NFS или iSCSI. Есть бесплатные решения как на Windows, так и на Linux.
а какой командой делается снапшот ОЗУ? В списке, получаем при выводе “vim-cmd vmsvc” такой команды нет точно:
snapshot.create
snapshot.dumpoption
snapshot.get
snapshot.remove
snapshot.removeall
snapshot.revert
snapshot.setoption
Спасибо за заметку.
Вышла новая версия с поддержкой компрессии … увы, не выполняется бэкап всех дисков, бэкапит только системный.
При использовании команды “snapshot.create”:
“vim-cmd vmsvc/snapshot.create /vmfs/volumes/datastore/test/test.vmx snapshot_name snapshot_description 1”
Как раз параметр “1” и означает, что при создании снимка создается копия оперативной памяти (и есть возможность откатится на работающую машину).
Cirill: если дашь ссылку на новый скрипт, могу попробовать его доработать.
Спасибо
Кстати, есть возможность копировать файло с одного ESXi хоста на другой ESXi хост. Правда, я сам не пробовал, но буржуи пишут, что возможно.
Если не сложно, подкинь ссылку – почитаю…
http://www.simple-tech.info/article_read.asp?title=Enable+FTP+protocol+on+a+VMWare+ESXi+4+to+survive+after+reboot+of+host&item=72
Ух ты, FTP-сервер. Спасибо 🙂
Да не за что ) Я вот когда второй хост подниму, тогда и сам попробую )
Ссылка вообщем то у вас дана в статье )
http://communities.vmware.com/docs/DOC-8760
предыдущая версия работает нормально, но без компрессии.
обновленный скрипт
http://communities.vmware.com/servlet/JiveServlet/download/8760-39-26752/ghettoVCB.sh;jsessionid=888719BDD368AA5DB01DBF586C5CAE01
с FTP получилось, но скорость 5 мегабайт 🙁
лучше не получиться ?
я с FTP не пробовал, так что не знаю, нормальная это скорость для него или нет.
По поводу скриптов – попробую посмотреть…
Достаточно хорошо рассматривается вопрос о быстром копировании файлов между двумя ESX серверами (http://communities.vmware.com/thread/29721?tstart=0). За ссылку спасибо Михееву Михаилу (vm4.ru).
к сожалению ssh клиент только на хостах ESX
ESXi клиента ssh нет … или не нашел как включить )
есть мысль – а нельзя ли модифицировать toolbox входящий в состав ESXi добавить туда bzip2 (для более быстрого сжатия) и ssh клиента?
gzip у меня по SAN не больно шустро складывал, 8-12 мбпс.
vmkfstools отработал намного быстрее, в пике до 60 мбпс
похоже, что копирование через ssh упирается в быстродействие gzip
… как и написано в топике (http://communities.vmware.com/thread/29721?tstart=0) правильнее всего копировать через vmkfstools ибо “Copying/exporting/importing with vmkfstools also doesn’t affect the performance of the LUN as badly because it only issues 1 scsi reservation”
осталось только придумать как получить прямой доступ к сторажу с одного хоста на другой
что если соорудить конструкцию с перенаправлением входа-выхода через ssh?
как то так …
vmkfstools -i /vmfs/path/file | ssh -c blowfish-cbc machine2 vmkfstools “>” /vmfs/path/file
или из области фантазий
перенаправлять выход vmkfstools в упаковщик, выход упаковщика перенаправлять через ssh на другой хост, распаковывать и пихать на vmkfstools ))
SSH включается просто. Жмем alt-f1 в меню, при загруженной машине (хост, нам нужен хост и прямо на нем все делаем!) он выпадает в консоль, там игнорируя здравый смысл печатаем UNSUPPORTED (ничего видно не будет, я не шучу!) После этого оно запрашивает пароль рута, вводим, попадаем в консоль, ура! Открываем файл vi /etc/inetd.conf и правим вот эту строку:
#ssh stream tcp nowait root /sbin/dropbearmulti dropbear ++min=0,swap,group=shell -i -K60
Просто стираем комментирующую “решетку”(#).
Сохраняем файл и даем команду на ребут, это важно, иначе так и останетесь в этой консоле навсегда, если сделаете логаут и поможет только резет.
Что касается внешнего хранилища, то есть такая команда esxcfg-x (x – продолжение команды), оно лежит в папке /sbin. Там много вариаций на тему esxcfg-x, но нам нужен esxcfg-nas – почитайте его man, там все предельно ясно. Я подцепил так внешнее хранилище, прямо к папке vmfs, т.е. к стораджу общему.
А теперь скажите мне, как правильно сделать восстановление машины из полной копии папки с машиной? т.е. я зарядил копию всего содержимого папки виртуальной машины (vmware ESXi) возможно ли теперь её подцепить куда-нибудь? Я создал новую машину и просто подменил папку, подсунув этой машине файлы из архивной копии, оно ругнулось: какого хрена? ты копировал что ли машины? Я ответил: да. И оно запустилось, но косяк с конфигом, сетевухи, размер харда и.т.п. Как это учесть и заставить хост проглотить все старые настройки виртуальной машины из бэкапа?
Тут дело в том, что надо не создавать новую машину, а добавить существующую из окна браузера Datastore. Для этого у вас должны быть скопированы не только VMDK, но и файл VMX. Нажимаете правой кнопкой мыши по VMX-файлу и делаете Add to Datastore.
to A.Vakhitov извините, а можно подробнее, я совсем ничего не понял. Где взять браузер Datastore? У меня управляется клиентом vSphere и версия бесплатная, может это мешает мне увидеть что-то, потому, что его просто нет в бесплатной версии? Нет?
Нашел, спасибо.
Делаю копию ВМ с помощью этого скрипта. выполняется без ошибок.потом просматриваю через WinSCP папку с копией ВМ, а там только файл *.vmx. может ли это быть из за того что я копии делаю на локальный диск?
Ребята, натолкнулся на проблему. Скрипт ghettoVCB.sh при правильной конфигурации, ругается на то, что у меня есть Snapshot виртуальной машины и отказывается делать копию, вообще.
Вот, что нашел на сайте:
10Q: I have VMs that have snapshots. I want to back these things up but the script doesn’t let me do it. How do I fix that?
10A: VM snapshots are not meant to be kept for long durations. When backing up a VM that contains a snapshot, you should ensure all snapshots have been committed prior to running a backup. No exceptions will be made…ever.
http://blog.theworldrunsontechnology.com/2009/04/creating-virtual-machine-backups-in.html
Что это значит? Снапшоты – руками, что-ли удалять каждый раз, что за бред? В честь чего этот праздник то? Или я опять, что-то упускаю..
2Sergei4: Пока не готов ответить – болею и не могу посмотреть – у меня с одной ВМ такие же проблемы.
2Xapepama: к сожалению, организация снапшотов в VMware ESX такова, что при создании снапшота у вас есть ссылка только на предыдущий VMDK-файл. Соответственно, если у вас куча снимков, то будет следующая цепочка ссылок: Snap(XXX).VMDK->Snap(XXX-1).VMDK->…->Snap001.VMDK->VM.VMDK.
Данный скрипт копирует только предыдущий VMDK, как я понимаю.
2A.Vakhitov это я уже понял. Че за бред, почему он не может отключить машину через vmtools и забрать папку, всю папку на другой носитель. Тьфу. Буду копать код, вырывать куски, фигли.
Почитал кое, что:
Неразумное использование снапшотов
Некоторые администраторы используют снапшоты не в качестве временной меры, создания точки отката при внесении изменений, а на постоянной основе. Делаем что-то – снапшот. И не удаляем. А вдруг понадобится? Получается как в анекдоте про дохлую кошку: “Не пригодилась”.
Снапшоты в абсолютном большинстве случаев не нужны больше, чем на неделю. Патчим систему? Снапшот. Патчи работают, все ОК? Удаляем снапшот.
http://www.itcommunity.ru/blogs/vadmin/archive/category/2682.aspx
Все понял, каюсь. А теперь расскажите, кто знает как заставить vmware не трогать /var/spool/cron/crontabs/root – файл, оно его просто меняет на стандартный, полупустой и все, что вы писали, что б скрипт работал по расписанию удаляется. Что делать, не перезагружать никогда, бред.
Есть идея. Положить архив .tar.gz в vmfs\volumes\.. А потом в инит прописать архиватору распаковывать каждый раз при загрузке новый файл /crontabs/root – но, это как то не спортивно, что ли.
From “новичок”:
Надо добавить в файл автозагрузки “/etc/rc.local” свой скрипт, который будет выполнять все действия по добавлению нужной информации в планировщик. Файл “/etc/rc.local” после перезагрузки хоста не меняется и все внесенные в него изменения сохраняются.
Подскажите пожалуйста, где что нужно поменять в скрипте чтобы делать снапшоты не только дисков но и памяти?
Пробовал добавлять единичку в этой строчке:
${VMWARE_CMD} vmsvc/snapshot.create ${VM_ID} vcb_snap VCB_BACKUP_${VM_NAME}_
date +%F
> /dev/null 2>&1после редактирования выглядила так:
${VMWARE_CMD} vmsvc/snapshot.create ${VM_ID} vcb_snap VCB_BACKUP_${VM_NAME}_
date +%F
1 > /dev/null 2>&1В результате клонирование проходило быстрее чем создавался снапшот, и скрипт до конца не прорабатывался.
По идее должно работать…
Максим, а смысл создания снимка с оперативной памятью при работе скрипта? Все равно вы его удаляете, а это происходит на работающей ВМ.
Здравствуйте!
Что-нибудь удалось придумать по поводу того, что бэкапится только первый (системный) диск виртуальных машин?
Приветствую. Сравнил оба скрипта – ничего не понял. Судя по моим скромным познаниям, должны бэкапиться оба диска.
Анатолий, там вышла новая версия скрипта, в качестве экспериментального функционала – архивация бэкапов. Ее не пробовали?
Если не трудно, можете ссылку дать?
http://communities.vmware.com/docs/DOC-8760
A.Vakhitov, можно ли вообще делать резервные копии не только дисков но и памяти, чтобы система восстанавливалась более корректно? Или для этого все таки придется выключать ВМ перед бэкапом.
Известные мне средства резервного копирования копируют только данные с ЖД. Чтобы скопировать состояние памяти, необходимо делать паузу (suspend) ВМ, затем копировать состояние памяти, и поднимать ее из suspend.
Единственный вариант передачи состояния памяти при включенной машине – Fault Tolerance.
Поправлюсь – отчуждаемый вариант передачи содержимого ОЗУ. Есть еще и vMotion, но он нам не подходит. 🙂
A.Vakhitov
Спасибо. Сейчас бэкапит все диски.
Кстати, в новой версии заявлено, что теперь бэкапит не только SCSI, но и IDE диски. Возможно, у вас затык был в этом?
У меня на данный момент работает скрипт бэкапа на Win2k8 машине с использованием PowerShell, отчеты о бэкапе шлются на почту. С выходом PS2 перейду на background job’ы и на этом и останусь. Кстати Vmware DR просто выморозил своей сыростью, мучался с ним месяц.
Значит, у вас пиратский, лицензионный, оценочный ESXi. Бесплатный ESXi не поддерживает работу с публичным API, который реализован через командлеты Powershell. Вернее, работу он поддерживает, но при попытке создать снапшот выдаст ошибку.
Тем данный скрипт и хорош, что он работает на всех версиях ESXi, при этом не требуя ничего для работы.
Хочу поделиться. Пробовал по ftp бэкапить с ESXi хоста на ESXi хост (ESXi 4.0), скорость варьируется в пределах 20-30 MB/s. В принципе такая же примерно скорость при бэкапе по ftp на не ESXi хост (в моем случае ftp на freebsd 6.2). При этом отдельной сети для бэкапа не делал, так что есть вероятность, что скорость может быть выше. Для ESXi 3.5 скорость достигала 40 MB/s.
Круто. Как обеспечивал ротацию бэкапов?
Имею 2 ESXi хоста – esxi01, esxi02. Процесс бэкапа естесственно запускается кроном. Ежедневные (пн-сб) бэкапы машин хостов делаю друг на друга, т.е. esxi01 -> esxi02, esxi02 -> esxi01. Еженедельные (вс.) на отдельный сервер бэкапов. т.е. максимально последний бэкап самих машин у меня недельной давности. Кроме того внутри самих машин делаю бэкапы данных на сервер бэкапов, эти данные тоже ежедневно, кроме того, кроном резервирую также их еженедельно. Итого получается двойное резервирование – самих ВМ, и данных в этих ВМ.
Прикольная схема. Поделишься тонкостями настройки? Можно по мылу или аське.
Подскажите в чем проблема. Делаю копию и архивирую с помощью скрипта на ESX3.5 переношу на дургой ESX4 там пытаюсь распаковать. получаю ошибку tar: invalid tar magic.
Не знаю, возможны проблемы с различными версиями архиваторов.
Без архивации нормально переносится?
Здравствуйте. Обьясните, пжлста, как настроить бекап по фтп на другой сервер ( напр. ФриБСД) – чтото в самом скрипте не нашел, вроде только на НФС ??? В комментах “новичок” пишет про бекапирование по фтп…
P.S. Версия ESXi 4.0
Посмотрите тут (http://www.simple-tech.info/default.aspx).
Кстати, vSphere Essentials стоит уже 500$. При этих (в принципе небольших) тратах вам не будет нужды так извращаться со скриптами на ESXi.
Вполне можно будет настраивать бэкапы через PowerCLI или RCLI.
Привет.
Нужна помощь. Причем в самом начале:
пытаюсь скопировать скрипты на ESXi4 и нифига не выходит 🙁
pscp c:\backup_test root@192.168.31.9:/vmfs/volumes
пишет в ответ:
ash: /sbin/sftp-server: Permission denied
unable to initialise SFTP: could not connetct
че за ерунда?
SSH разрешен?
Да, по ssh (через putty) могу подцепиться к консоли ESXi.
Разрешал, как написано в статье, на которую Вы ссылались в 1-ом пункте
“pscp c:\backup_test root@192.168.31.9:/vmfs/volumes”
А само хранилище вы указывали? Например, “/vmfs/volumes/datastore1”.
Попробуйте поставить Veeam FastSCP. С его помощью удается скопировать данные скрипты?
хранилище пробовал указать:
“pscp c:\backup_test root@192.168.31.9:/vmfs/volumes/DS1-250”
ответ тот же.
А закопировать данные скрипты в storge можно и через vSphere Client и через FastSCP, но ведь проблема в том что сккрипты должны лежать в
/VMFS/volumes …
Или это не обязательное условие?
У меня скрипты лежали на датасторе.
спасибо, будем играться) и еще вопрос сразу. Эти скрипты когда делают бэкап они файлы сжимают? или переливают как есть?
Зависит от настроек в скрипте. Можно и так, и так сделать.
Добрый день!
В последней версии GhettoVCB появилась возможность отправлять логи по почте
# Email log 1=yes, 0=no
EMAIL_LOG=1
# Email SMTP server
EMAIL_SERVER=10.0.10.202
# Email SMTP server port
EMAIL_SERVER_PORT=25
# Email FROM
EMAIL_FROM=support@mydomen.ru
# Email RCPT
EMAIL_TO=support@mydomen.ru
указываю вышеприведенные параметры, но логи отсылать отказывается, хотя /tmp/ файл для отправки собирает..
Не подскажете в чём косяк?
Сложно сказать, так как я в скрипте разочаровался и ушел на Veeam Backup 4 🙂
Почтовый сервер принимает неавторизованные SMTP-сессии?
косяк нашел:
Only supported if you are running vSphere 4.1 and this feature is experimental. The reason this is listed as experimental is it may not be compatible with all email servers as the script utlizes nc (netcat) utility to communicate to an email server.
т.е.на ESXi не заработает, т.к.нет на нём команды NC.
Спасибо за быстрый ответ, видимо тоже прийдется переходить на условно-платный продукт 🙁
Андрей
Расскажите почему разочаровались в скрипте?
Во-первых, потому что нашел средства на нормальный продукт – Veeam Backup and Replication 5.0.
Во-вторых, потому что новая версия скрипта работает через vMA. Из плюсов – ничего не надо ломать в консоли ESXi. Из минусов – требуется платная версия vSphere Essentials.
Соответственно, в бесплатном сегменте чем дальше, тем больше начинает рулить KVM либо Hyper-V. Тут еще ограничение по использованию памяти в ESXi5 Free.
У кого при распаковке появляется ошибка
tar: invalid tar magic.
можно распаковать вот так:
tar -zxvf ~/filename.gz
Спасибо
Я так понимаю, это в том варианте скрипта, который архивирует резервную копию?
Да, в этом варианте. При разворачивании бэкапа.
Добрый день! Настроил по инструкции, но при запуске скрипта появляется ошибка:
Datastore not found.
2012-09-30 12:06:39 -- info: Snapshot found for Windows R2, backup will not take place
Бекапы хочу складывать в папку Backup диска под названием в vSphere 4ffc1d91-7072de03-8fda-c860002a8330. В ghettoVCB.sh отредактировал путь вроде верно:
VM_BACKUP_VOLUME = /vmfs/volumes/4ffc1d91-7072de03-8fda-c860002a8330/Backup
Вот полный лог в режиме отладки:
2012-09-30 12:13:54 -- info: ============================== ghettoVCB LOG START ==============================
2012-09-30 12:13:54 -- debug: Succesfully acquired lock directory - /tmp/ghettoVCB.lock
2012-09-30 12:13:54 -- debug: HOST VERSION: VMware ESXi 5.0.0 build-441354
2012-09-30 12:13:54 -- debug: HOST LEVEL: VMware ESXi 5.0.0 GA
2012-09-30 12:13:54 -- debug: HOSTNAME: grml
2012-09-30 12:13:54 -- info: CONFIG - VERSION = 2011_11_19_1
2012-09-30 12:13:54 -- info: CONFIG - GHETTOVCB_PID = 444667
2012-09-30 12:13:54 -- info: CONFIG - VM_BACKUP_VOLUME = /vmfs/volumes/4ffc1d91-7072de03-8fda-c860002a8330/Backup
2012-09-30 12:13:54 -- info: CONFIG - VM_BACKUP_ROTATION_COUNT = 3
2012-09-30 12:13:54 -- info: CONFIG - VM_BACKUP_DIR_NAMING_CONVENTION = 2012-09-30_12-13-54
2012-09-30 12:13:54 -- info: CONFIG - DISK_BACKUP_FORMAT = thin
2012-09-30 12:13:54 -- info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = 0
2012-09-30 12:13:54 -- info: CONFIG - ENABLE_HARD_POWER_OFF = 0
2012-09-30 12:13:54 -- info: CONFIG - ITER_TO_WAIT_SHUTDOWN = 3
2012-09-30 12:13:54 -- info: CONFIG - POWER_DOWN_TIMEOUT = 5
2012-09-30 12:13:54 -- info: CONFIG - SNAPSHOT_TIMEOUT = 15
2012-09-30 12:13:54 -- info: CONFIG - LOG_LEVEL = debug
2012-09-30 12:13:54 -- info: CONFIG - BACKUP_LOG_OUTPUT = /tmp/ghettoVCB-2012-09-30_12-13-54.log
2012-09-30 12:13:54 -- info: CONFIG - VM_SNAPSHOT_MEMORY = 0
2012-09-30 12:13:54 -- info: CONFIG - VM_SNAPSHOT_QUIESCE = 0
2012-09-30 12:13:54 -- info: CONFIG - VMDK_FILES_TO_BACKUP = all
2012-09-30 12:13:54 -- info: CONFIG - EMAIL_LOG = 0
2012-09-30 12:13:54 -- info:
Datastore not found.
Datastore not found.
Datastore not found.
2012-09-30 12:13:56 -- debug: Storage Information before backup:
2012-09-30 12:13:56 -- debug: SRC_DATASTORE: 500Gb
2012-09-30 12:13:56 -- debug: SRC_DATASTORE_CAPACITY: 460.8 GB
2012-09-30 12:13:56 -- debug: SRC_DATASTORE_FREE: 192.6 GB
2012-09-30 12:13:56 -- debug: SRC_DATASTORE_BLOCKSIZE: 1
2012-09-30 12:13:56 -- debug: SRC_DATASTORE_MAX_FILE_SIZE: 256 GB
2012-09-30 12:13:56 -- debug:
2012-09-30 12:13:56 -- debug: DST_DATASTORE: 4ffc1d91-7072de03-8fda-c860002a8330
2012-09-30 12:13:56 -- debug: DST_DATASTORE_CAPACITY: 0.0 GB
2012-09-30 12:13:56 -- debug: DST_DATASTORE_FREE: 0.0 GB
2012-09-30 12:13:56 -- debug: DST_DATASTORE_BLOCKSIZE: NA
2012-09-30 12:13:56 -- debug: DST_DATASTORE_MAX_FILE_SIZE: NA
2012-09-30 12:13:56 -- debug:
2012-09-30 12:13:56 -- info: Snapshot found for FREENAS 8.2, backup will not take place
Datastore not found.
Datastore not found.
Datastore not found.
2012-09-30 12:13:58 -- debug: Storage Information before backup:
2012-09-30 12:13:58 -- debug: SRC_DATASTORE: 120gb
2012-09-30 12:13:58 -- debug: SRC_DATASTORE_CAPACITY: 106.8 GB
2012-09-30 12:13:58 -- debug: SRC_DATASTORE_FREE: 27.7 GB
2012-09-30 12:13:58 -- debug: SRC_DATASTORE_BLOCKSIZE: 1
2012-09-30 12:13:58 -- debug: SRC_DATASTORE_MAX_FILE_SIZE: 256 GB
2012-09-30 12:13:58 -- debug:
2012-09-30 12:13:58 -- debug: DST_DATASTORE: 4ffc1d91-7072de03-8fda-c860002a8330
2012-09-30 12:13:58 -- debug: DST_DATASTORE_CAPACITY: 0.0 GB
2012-09-30 12:13:58 -- debug: DST_DATASTORE_FREE: 0.0 GB
2012-09-30 12:13:58 -- debug: DST_DATASTORE_BLOCKSIZE: NA
2012-09-30 12:13:58 -- debug: DST_DATASTORE_MAX_FILE_SIZE: NA
2012-09-30 12:13:58 -- debug:
2012-09-30 12:13:58 -- info: Snapshot found for Windows R2, backup will not take place
2012-09-30 12:13:58 -- info: ###### Final status: ERROR: All VMs failed! ######
2012-09-30 12:13:58 -- debug: Succesfully removed lock directory - /tmp/ghettoVCB.lock
2012-09-30 12:13:58 -- info: ============================== ghettoVCB LOG END ================================
Не могу понять по какой причине размер выходного диска для бекапа видится нулевым:
2012-09-30 12:13:56 -- debug: DST_DATASTORE_CAPACITY: 0.0 GB
У кого-нибудь есть идеи в чем заключается проблема? Заранее благодарен!
Добрый день.
Во-первых, попробуйте указать то имя Datastore, которое указано у вас в vClient. Возможно, клиент не работает с ID’ом хранилища.
Во-вторых, скрипт не поддерживает бэкап виртуальной машины с снапшотом.
“Snapshot found for Windows R2, backup will not take place”. Сначала необходимо удалить снапшоты.
Вопрос по кластеру.
Как поведёт себя скрипт, если у меня три хоста ESXi Standard объединены в кластер (стоит vCenter)?
Предполагаю, что либо каждый хост будет видеть машины, работающие на других хостах, либо не будет.
Если не будет, то будут проблемы. Машины ведь периодически “гуляют” между хостами.
Есть VMa, в которой зарегистриорваны и хосты и vCenter, как это поможет?
Скрипт первой версии (для ESXi free) устанавливается в консоль каждого ESXi, поэтому видеть ВМ с других хостов он не будет.
Но там есть опция “-a” (если не ошибаюсь), которая говорит бэкапить все ВМ с хоста.
Кроме того, у скрипта есть вторая версия (использующая платный ESXi как у вас), которую вроде бы можно поставить на vMA. Возможно, там этой проблемы нет – я со второй версией не сталкивался.
И не ужели ни кто не столкнулся с тем, что ваши изменения в файле var/spool/cron/crontabs/root удаляются при перезагрузке?
вот решение: http://www.jules.fm/Logbook/files/add_cron_job_vmware.html
Александр, спасибо.
http://citrix.pp.ru/articles-2/2711-bekap-vm-esxi-sredstvami-bareos.html