Бэкап mysql на kvm гипервизоре

183
22 января 2021, 07:30

Допустим, существует некий centos7 сервер с libvirt (гипервизор). На этом сервере запущена виртуальная машина (гость) в которую проброшен lvm-раздел с гипервизора определяющийся на госте как vdb. На госте запущен mysql-server-5.7 и подлинно известно, что он работает с БД которая расположена на разделе смонтированном на vdb. В остальном гость для меня - это чёрный ящик без доступов.

Собственно вопрос: Существует ли наиболее правильный способ, бэкапить lvm-раздел на гипервизоре зная, что на госте он смонтирован и на нём находится mysql БД под нагрузкой. Высшая цель - бэкап БД не имея никакого доступа к гостю.

Answer 1

Я делал так. Делаем снапшот lvm и получается новое блочное устройство. Монтируешь его. Возможно понадобится kpartx или расчитать offset для монтирования. Забираешь файлы базы. Размонтируешь и удаляешь снапшот.

Answer 2

Совсем без доступов сделать вы не сможете. Для бэкапов mysql под нагрузкой желательно чтобы тип таблиц был innodb тогда можно использовать PerconaXtraBackup. На госте один раз его настраиваете и он будет вам бэкапить куда нужно БД. Вот неплохой мануал по PerconaXtraBackup.

READ ALSO
Mysql. Подвисание запросов при LOAD DATA INFILE

Mysql. Подвисание запросов при LOAD DATA INFILE

При загрузке 4гб CSV в БД, наблюдаются подвисания запросов соседней БДТ

108
проблема с mysqld.sock

проблема с mysqld.sock

я пытаюсь на linux установить phpmyadminНо при установке выкидывает ошибка

124
Как обрезать элементы массива до и после символов?

Как обрезать элементы массива до и после символов?

Есть массив $links, он заполнен такими ссылками:

149
Защита роутов через middleware или что-то другое

Защита роутов через middleware или что-то другое

Имею следующую схему данных

131