Резервное копирование сервера VM к внешней Карте памяти

У меня есть сервер человечности 10.04, выполняющий мой VMs на kvm/qemu. Я вручную приостанавливал свой VMs (использующий virt-менеджера gui) и затем копирующий/var/lib/libvirt папку во внешнюю карту памяти в/mnt/usbexterno, Это, очевидно, далеко от идеала. Мне нужно решение выполнить резервное копирование everynight.

Я думал об использовании задания крона со сценарием приостанавливать VMs и копировать файлы в диск. Я читал на форуме, что я мог использовать virsh для сохранения состояния VM в файл, но я не думаю, что это - то, в чем я нуждаюсь, так как я хочу полное резервное копирование всего в случае, если сервер идет бум!

Так, короткая версия. Мне нужно что-то для выполнения ежедневного резервного копирования моего VMs к внешней карте памяти, VMs может быть приостановлен в течение ночи. Нет никакого GUI, доступного на сервере.

Какие-либо предложения?

1
задан 19 December 2011 в 17:47

4 ответа

Если ваша виртуальная машина называется «FooVM», вы можете создать моментальный снимок, используя:

VBoxManage snapshot FooVM take FooVM_Snapshot1

С помощью командной строки вы можете указать, где хранить снимки:

VBoxManage configvm FooVM --snapshotfolder /media/foostick/foofolder

Однако позаботьтесь о том, чтобы жесткий диск UBS был доступен постоянно.

Вы можете автоматизировать резервное копирование, используя задания cron. И нет необходимости выключать виртуальные машины.

0
ответ дан 19 December 2011 в 17:47

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

Поскольку я до сих пор не понял концепцию моментального снимка / восстановления моментального снимка (да, я немного туповат), я создал скрипт для удаления старых файлов, начиная с ссылки, предоставленной Майклом К , затем продолжил создать папку с текущей датой на USB-диске, приостановить все активные виртуальные машины (здесь абсолютно нет необходимости в 100% времени безотказной работы, компания работает с 9:00 до 18:00) и скопировать туда все / var / lib / libvirt, а затем возобновить работу виртуальных машин. и будь счастлив.

Вот сценарий.

#!/bin/bash

find /mnt/usbexterno/backup* -maxdepth 0 -type d -mtime +15 -exec rm -rf {} \;

virsh list | sed '1,2d' | cut -d' ' -f3>/tmp/vmlist

VMLIST=$(cat /tmp/vmlist)
set -- $VMLIST
for i in $VMLIST
do
    /usr/bin/virsh suspend $1
shift
done

mkdir /mnt/usbexterno/`date +backup-%Y-%m-%d`
cp -Rv /var/lib/libvirt /mnt/usbexterno/`date +backup-%Y-%m-%d`

set -- $VMLIST
for i in $VMLIST
do
    /usr/bin/virsh resume $1
shift
done
rm /tmp/vmlist

Если у кого-нибудь есть какие-либо советы о том, как я могу улучшить это, пожалуйста, будьте моим гостем: D

0
ответ дан 19 December 2011 в 17:47

Я бы подумал о сжатии виртуальной машины перед ее отправкой, но это именно то, что я делал.

О, вы можете также подумать о сохранении XML-файла (/etc/libvert/qemu/).

0
ответ дан 19 December 2011 в 17:47

Я бы согласился, хотя ваша стратегия резервного копирования работает, но она может быть не самой лучшей.

IMO - это не так уж много уникального для Виртуальной машины, и вам доступно несколько стратегий резервного копирования.

См. Руководство по Ubuntu Server - Резервное копирование

. Стратегия резервного копирования зависит от того, какие серверы вы используете. Обычно на сервере я создаю резервную копию данных (таких как / var / www и базы данных), любые файлы конфигурации, которые я редактирую вручную (я сохраняю копию исходного файла и отредактированный файл в / root), а также список все установленные пакеты (при необходимости вы можете восстановить их из списка пакетов).

Как вы можете догадаться из некоторых моих постов, я фанат rsync;)

0
ответ дан 19 December 2011 в 17:47

Другие вопросы по тегам:

Похожие вопросы: