LINUX.ORG.RU
решено ФорумAdmin

Подскажите по бэкапу виртуальных машин, lvm, kvm

 , , ,


2

4

Здравствуйте! Решил создать новую тему, чтобы не писать не по теме в предыдущей теме, простите за тавтологию.

Ситуация: Cервер, два диска, raid1 из двух разделов на этих дисках, lvm-разделы внутри raid. Хост-система установлена в lvm-тома (к примеру lvgroup/boot, vlgroup/swap, lvroup/root). В других томах сидят вирт. машины, к примеру lvgroup/vm1, lvgroup/vm2.

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

Хочу сделать так (запуск ночью, пока все спят):
1) Гости останавливаются, делаются их lvm-снапшоты, которые копируются целиком (побитово?), копируются копии xml-описания машин.
2) Хост-система копируется налету с «грязных» lvm-снапшотов.
3) После всех бэкапов гости запускаются.

Как мне кажется схема очень простая. Нормальна ли она? И пока не представляю где взять место для складирования такого объема данных. Сейчас у меня нет вирт. машин, все работает на железном сервере, который копируется с lvm «грязным» методом, но у меня есть месячный пофайловый бэкап и инкрементальные ежедневные бэкапы. Это позволяет хранить бэкапы за 4-5 месяцев на диске объемом в 500Гб. Если же копировать гостей с lvm просто клонированием (к примеру dd), то тут не напасешься места. Может быть есть какое-то решение инкрементального бэкапа? Как правильно клонировать целые lvm-тома, отданные под гостей с их внутренними разделами и данными на этих разделах?


Ответ на: комментарий от kerneliq

В общем-то можно и так... все равно это делается ночью, когда просто мотается аптайм.

gard ()

Как я делал: делаешь внутри гостевой машины sync, если есть mysql, то делаешь сброс данных и глобальный рид-онли лок на все БД. Потом скрипт бэкапа делает фриз, lvm-снапшот, анффриз, анлок баз (и на всякий случай синхронизация времени).
Потом монтируется снапшот и делается rsync на удалённую машину на zfs том, и делается снапшот.
Не знаю насколько это безопасно, думаю спецы подскажут

xorik ★★★★★ ()

если нет места на бекапы, то не стоит их делать целыми имиджами. никто не мешает снимать только нужные файлы или дампы изнутри виртуалок

dyasny ★★★★★ ()

Если уж совсем ночью не нужны виртуалки то можно и остановить. Но я бы не стал, вряд ли что потеряется от бекапа наживую + некоторые могут и не запуститься потом и пролежать всю ночь/утро.

Если же копировать гостей с lvm просто клонированием (к примеру dd), то тут не напасешься места

Теоретически можно и rsyncом копировать пофайлово, можно накрутить и инкрементальность (копировать только изменённые, остальные делать жесткой ссылкой с прошлой копии). Ну или завести под бекапы ФС с дедупликацией.

Кстати, меряли оверхед от lvm? Читал что он заметно снижает производительность IO виртуалок

disarmer ★★★ ()

не представляю где взять место для складирования такого объема данных.

если бы это была zfs, то такой проблемы не было бы, она копирует только данные, а не пустое место как dd

Если же копировать гостей с lvm просто клонированием (к примеру dd) то тут не напасешься места.

а кто мешает жать бекапы

Может быть есть какое-то решение инкрементального бэкапа?

есть у zfs.

vxzvxz ★★★ ()
Ответ на: комментарий от vxzvxz

Да. У меня только квм виртуалки.

А, нашел:

Vzdump is a utility to make consistent snapshots of OpenVZ containers (and KVM virtual machines in case you are using Proxmox VE).

stave ★★★★★ ()
Последнее исправление: stave (всего исправлений: 1)
Ответ на: комментарий от dyasny

Кстати, может ты подскажешь. Команды dump/restore для ext4 в rhel6 и rhel7 эквивалентны командам xfsdump/xfsrestore в rhel7 ? Заметил, что в доке на 7-ю явно рекомендуют использовать xfsdump для бекапа, однако, упоминания dump (для ext4) в доках 6 и 7 - чисто номинальное. Не понятно такое отношение.

Deleted ()

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

gard ()
Ответ на: комментарий от gard

Расскажи как решил? Я вот что-то поглядываю в сторону: http://vasilisc.com/zsync

Можно сделать снепшот, потом пробежаться по образам zsync, потом передать только разницу. Или юзать zsync демон, может и ещё будет проще. :)

DALDON ★★★★★ ()
Последнее исправление: DALDON (всего исправлений: 1)
Ответ на: комментарий от Deleted

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

dyasny ★★★★★ ()
Ответ на: комментарий от DALDON

В общем я пришел к выводу, что для экономии места, но если хочется нормальный бэкап - только файловый бэкап с ФС.

zsync штука судя по всему интересная, но у нее я сразу вижу 1 минус (может просто не вник и его нет): если что-то будет сломано скажем за неделю до обнаружения поломки, то zsync обрадует нас свежим, но «сломанным» бэкапом. К примеру удалили файл неделю назад, а сейчас срочно нужен. Тут надо доставать из файла бэкапа недельной давности.

Как думаю сделать, чтобы попроще и понадежнее. Все будет в lvm поверх raid. Хост-система в lvm - томах (/, swap). Виртуалки будут в виде файлов-образов, эти файлы могут быть либо прямо в хост-системе, либо на подмонтированном в нее lvm-томе. Если виртуалка работает с большими объемами ценных данных (например самба), то к ней будет аттачиться большой lvm-том, на котором и будут находиться эти данные. Для бэкапа всего этого надо сделать снимки всех томов, смонтировать их и сбэкапить тем же инкрементальным tar'ом.

Если же сетапить виртуалки не в файлы-образы, а прямо в разделы на lvm-тома, то тут придется монтировать все разделы с этих томов и также затаривать, а разделов уже будет... немало. А если еще и гости ставятся на свои lvm, то тут ваще хаос наступит. Сделать можно, но можно и запутаться, допустить ошибку..

Сбрасываем кэши, делаем снимки. Сам хост в любом случае будет бэкапиться с грязного снимка (как после ресета), а виртуалки можно приостанавливать или же останавливать совсем, чтобы получить чистый снимок. Тома с данными после сброса кэшей тоже можно снять чисто.

Как-то вот так..

gard ()

Подскажите пожалуйста, а какими способами можно смонтировать каталог с хост-системы в систему гостя? Чтобы к примеру samba могла складывать данные не внутри своей вирт. машины, а на хост.

gard ()
Ответ на: комментарий от gard

Все, кажется понял, есть 2 пути - через сеть или с помощью механизма libvirt 9p.

gard ()
Ответ на: комментарий от vxzvxz

если бы это была zfs, то такой проблемы не было бы, она копирует только данные, а не пустое место как dd

a зачем пользоваться dd?

dyasny ★★★★★ ()
Ответ на: комментарий от dyasny

А как бэкапить виртуальный дис на lvm томе полностью? без извращений с libguestfs или kpartx

С zfs действительно очень красивый инкрементальный бэкап получается , а еще можно прикрутить репликацию без всяких глючных drbd

apmucm ()
Ответ на: комментарий от vxzvxz

на продакшен и правда не рискну, а вот файл сервера в конторе уже год на неё перевёл, все довольны особенно самба и юзвери которым нужен 1 файл в одно время всем сразу, раньше при ext4 бывало до 50 кб/c падало копирование с файл сервера, особенно с psdшниками была трабла весят некоторые по 400-600 метров... и когда 5 дизайнеров разом брали это было нечто....

erzent ☆☆ ()
Ответ на: комментарий от erzent

ТС спрашивает про бекапы vm, а не про файлопомойки, и zfs на настоящий момент имеет наилучший инструментарий для снятия бекапов vm

vxzvxz ★★★ ()
Ответ на: комментарий от vxzvxz

для lvm уже даже гуи есть и куча софта, а вот zfs чисто консоль, знаешь как было весело, когда недавно у знакомой в москве человек поставил zfs а потом позвонил в тех поддержку, тк вместо бэкапов /etc сделал все бэкапы в /etc, всей информации с сервера.... А ведь у него там з\п 80 шт.

erzent ☆☆ ()
Ответ на: комментарий от erzent

Это я про бэкап /etc админом. Насчет гуя к lvm - вроде есть, я честно говоря не пользовался, но что-то такое видел.

gard ()
Ответ на: комментарий от erzent

lvm уже даже гуи есть и куча софта
а вот zfs чисто консоль

хоть и не нужно, есть и гуи и софт и толковые официальные маны от производителя.

у него там з\п 80 шт.

ЗП не показатель интеллекта, опыта, навыков и умений, я знаю много прохвостов и проходимцев, которые не умеют работать ни руками ни головой и живут в достатке, и знаю много профи не только в IT, но и в хирургии, в инженерии, которые живя на периферии тихо и грамотно делают свое дело и получают за это копейки.

vxzvxz ★★★ ()
Ответ на: комментарий от vxzvxz

ЗП не показатель интеллекта, опыта, навыков и умений, я знаю много прохвостов и проходимцев, которые не умеют работать ни руками ни головой

И отвечаешь ты тоже одному из них.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.