Установка и настройка серверов Linux,создание сайтов, установка и настройка Asterisk PBX, Linux для начинающих и не только.
Получать статьи этого сайта на почту:

 

16
Apr 2012
sergldom
автор
0
комментариев
Рейтинг статьи:
4
Average: 4 (2 votes)

Скрипт архивации виртуальной машины работающей на Virtualbox c веб интерфейсом на phpvirtualbox

Virtualbox - полноценный сервер виртуализации используя Debian или Ubuntu

      В статье мы установили и настроили сервер виртуализации используя бесплатную программу Virtualbox с управлением виртуальными машинами через веб интерфейс программы phpvirtualbox.
Исходя из того, что всегда необходимо иметь последнюю актуальную копию виртуальной машины, можно настроить архивацию как содержимого виртуальной машины (вернее только нужных данных), так и образ всей виртуальной машины. Конечно можно сказать, что архивация базы данных и файлов сайта с некоторыми конфигурационными файлами рабочих серверов гораздо практичнее - можно например поднять рядом вторую виртуалку на внутреннем интерфейсе, настроить репликацию мастер - слейв, и уже с неё делать архивацию базы данных хоть каждую минуту, а файлы синхронизировать через rsync на слейв так часто, как только необходимо. Но поднимать виртуальную машину с исходных файлов(бд, файлы, конфиги) гораздо дольше, чем подключить готовый образ из архива в случае если с основным образом винчестера виртуальном машины какие-то проблемы.

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

      Еще одно, что я не советую Вам использовать при работе с Virtualbox это Снапшот. Тоесть вы устанавливаете сервер, настраиваете операционную систему, сервисы, сайты и делаете Снапшот, что позволяет в любой момент откатится до этого состояния. Это хорошо когда вы играетесь с настройкой сервера, отладкой работы. Но как только отладили - убираете снапшот и работаете без него. Если Вы все-таки его используете - скрипт просто сделает архивацию всех данных за исключения тех которые в Снапшоте. Сделали архив и в полной уверенности, что все супер спите спокойно, но вдруг оказывается что в физическом сервере умер винт, и вам еще вчера необходимо восстанавливатся с архива, вы просто поднимаете на новом железе virtualbox c phpvirtualbox по статье, заливаете архив, подключаете винт к виртуальной машине и видите, что никаких данных у вас нет - только установленный и настроенный сервер до создания Снапшота. Вот тут Вас может спасти только наличие архивной копий файлов и баз данных. Иначе полный пипец.
Можно еще сделать архив виртуальной машины используя загрузочный образ диска Acronis True Image. Лично пробовал - рабочее решение, переносил так Server 2003. Перенеслась информация и та, что до снапшота и содержимое снапшота.

Сам скрипт автоматической архивации винта машины (сильно не пинайте за простоту):

#!/bin/sh

# указываем переменную, которая добавит к имени дату, год, месяц и  время создания файла
data="date +%Y%m%d-%H:%M`"

# сохраняем состояние виртуальной машины
/etc/init.d/virtualbox stop

# ждем 80 секунд пока машина сохранится
sleep 80

# запускаем архивацию винта: указываем файл винчестера виртуальной машины и
# куда его архивировать
# добавляя к имени переменную $data, что добавит к имени дату, год, месяц и
# время создания файла:
VBoxManage clonevdi /home/vbox/VirtualBox\ VMs/Jabber/Jabber.vdi /backup/Jabber_$data.vdi

#Запускаем виртуальную машину из сохраненного состояния
/etc/init.d/virtualbox start

# если необходимо, удаляем файлы в архиве, которым больше 5 дней
find /backup/ -mtime +5 -type f -exec  rm -rf {} \;

      Вот и весь простой скрипт. Его можно запускать как по расписанию используя crontab, например каждую неделю в субботу  в 4-10, либо вручную когда вам необходимо.

С Вами был Сергей Лазаренко.

Рейтинг статьи: 

4
Average: 4 (2 votes)

Вам понравилась статья? Хотите получать уведомления о выходе новых статей с этого сайта на свой почтовый адрес? Подписывайтесь пожалуйста. Введите свой почтовый адрес и нажмите кнопку Хочу получать статьи!

<![CDATA[]]><![CDATA[]]>

 

*Адреса электронной почты не разглашаются и не предоставляются третьим лицам для коммерческого или некоммерческого использования.

 

 
 

 

Add new comment

Filtered HTML

  • Search Engines will index and follow ONLY links to allowed domains.

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
  • Search Engines will index and follow ONLY links to allowed domains.

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.