Как сделать бекап VPS без даунтайма

12 3
Andreyka
На сайте с 19.02.2005
Offline
822
2068

Виртуальные сервера — это очень удобно. Можно разделять проект на задачи и для каждой выделять VPS, и по мере роста проекта разносить эти виртуалки по разным физическим серверам.

Но удобство этим еще не заканчивается. В OpenVZ меня очень привлекает возможность создания полного бекапа без даунтаймов. Так как не все знают о такой возможности, я хочу описать ее более детально.

Прежде всего нам потребуется удаленный хост с поддержкой ssh протокола и наличием rsync. Сам бекап состоит из трех этапов

Не стоит плодить сущности без необходимости
M
На сайте с 16.09.2009
Offline
278
#1

ключевое слово vzdump - только я пропустил в статье?

http://wiki.openvz.org/Backup_of_a_running_VE_with_vzdump

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
Andreyka
На сайте с 19.02.2005
Offline
822
#2

Я описывал как это делается, а не как это сделать ;)

P
На сайте с 08.03.2007
Offline
250
#3

Работающий mysql это сбэкапит? Нет, не сбэкапит. Долгие транзакции будут в непонятном состоянии, ещё повезёт если админ в процессе бэкапирования не пользуется phpmyadmin. Кроме того, rsnync без параметра md5 как обнаружит необходимость копировать файл, в середину которого пишутся данные, без изменения метаинформации? Никак не обнаружит.

Резонный вопрос - тогда почему не vzdump ?

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

В общем, бэкапа без даунтаймов пока не получается.

Простейший случай - сохраняющий все отмеченные недостатки - это последовательность:

rdiff-backup - создать первую копию VPS,

дальше периодически

vzctl chkpnt 110 --suspend

rdiff-backup - учесть изменения

vzctl chkpnt 110 --resume

и мы получаем не одну копию, а набор инкрементальных копий в качестве бонуса.

Маленькая проблема обеих методик: так как rdiff-backup и rsync копируют массу отдельных файлов, хранить такие бэкапы, копировать их и восстанавливаться из них можно, но долго и муторно, скопировать на FAT флэшку вообще нельзя для rsync (права потеряем), для rdiff-backup тоже не всегда можно. dtar делает первую копию и инкрементальные копии в один файл на версию, это проще.

Andreyka
На сайте с 19.02.2005
Offline
822
#4

Работающий mysql сбекапит, если там не innodb

N
На сайте с 06.05.2007
Offline
419
#5

Как раз innodb то и сбекапит нормально - восстановится без некоторых транзакций и все , а вот у myisam больше вероятности быть разрушенными.

Кнопка вызова админа ()
P
На сайте с 08.03.2007
Offline
250
#6

Такое ощущение, что под ником "Andreyka" скрывается несколько человек. Один комптентный, другой нет. Andreyka, это так ?

M
На сайте с 16.09.2009
Offline
50
#7

Волшебник отжег 😂

Администратор Linux/FreeBSD. Лечим вирусы на сайтах. Гарантия. (http://linuxsc.pro/virussearch)
Andreyka
На сайте с 19.02.2005
Offline
822
#8
netwind:
Как раз innodb то и сбекапит нормально - восстановится без некоторых транзакций и все , а вот у myisam больше вероятности быть разрушенными.

myisam чинится на раз-два

а вот innodb уже не починить

M
На сайте с 16.09.2009
Offline
278
#9
Pilat:
Работающий mysql это сбэкапит? Нет, не сбэкапит. Долгие транзакции будут в непонятном состоянии, ещё повезёт если админ в процессе бэкапирования не пользуется phpmyadmin.

AFAIK, нет _стандартного_ способа сказать всем сервисам (типа mysql) на ноде, что им надо

сбросить данные на диск. Так что VPS хостеру предложить что-то качественно

лучшее - трудно. О таких вещах нужно админу VPS уже думать.

Pilat:

Кроме того, rsnync без параметра md5 как обнаружит необходимость копировать файл, в середину которого пишутся данные, без изменения метаинформации? Никак не обнаружит.

Резонный вопрос - тогда почему не vzdump ?

Да, по подобным граблям прошлись уже при написании vzdump. Строго говоря - статья "о том

как работает vzdump", без упоминания самой утилиты.

Pilat:

В общем, бэкапа без даунтаймов пока не получается.

LVM-снапшоты позволяют. Хотя, к целостности данных на диске (с точки зрения

приложения) - это не имеет прямого отношения.

N
На сайте с 06.05.2007
Offline
419
#10

Andreyka, так на третьем этапе тоже делается моментальный снимок файловой системы? время модификации отразится в метаинформации о файлах innodb ?

если да - innodb восстановится и откатит пару транзакций.

И да, innodb тоже чинится, но для практикующего администратора лучше считать что не чинится.

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий