Инкрементная отправка и получение btrfs с локального на удаленный компьютер с mariadb
У меня проблема с инкрементальной отправкой и приемом btrfs с локального на удаленный компьютер.
Мой хост Lxd - это Ubuntu 16.04.3 LTS с lxd 2.0.10 и btrfs-progs v4.4
Мои 2 контейнера - это centos7 (CentOS Linux выпуск 7.3.1611 (Core) с
Btrfs-Progs-разви-4.4.1-1.el7.x86_64
Btrfs-Progs-4.4.1-1.el7.x86_64
MariaDB-LIBS-5.5.52-1.el7.x86_64
MariaDB-5.5.52-1.el7.x86_64
MariaDB-сервер 5.5.52-1.el7.x86_64
Первый контейнер mariadb centos7. (местные btrfs)
Я делаю btrfs подтом /var/lib/mariadb/mysql для хранения базы данных mariadb и делаю снимок за день
Пример полученного снимка btrfs в контейнере First mariadb centos7
ID 281 поколение 195 верхний уровень 5 путь mysql_201707210830
ID 288 gen 186 верхний уровень 5 путь mysql_201707220830
ID 290 gen 191 верхний уровень 5 путь mysql_201707230830
ID 292 gen 217 верхний уровень 5 путь mysql
Второй контейнер mariadb centos7. (удаленный btrfs)
Я делаю btrfs на томе / var / lib / mariadb
и отправьте снимок тома btrfs из контейнера First mariadb centos7, начиная с mysql_201707210830 и увеличивая его между mysql_201707210830 и mysql_201707220830 и увеличивая между mysql_201707220830 и mysql_201707230830
Пример снимка результата btrfs в контейнере Second mariadb centos7
ID 270 gen 68 верхний уровень 5 путь mysql_201707210830
ID 274 gen 66 top level 5 path mysql_201707220830
ID 276 gen 71 верхний уровень 5 путь mysql_201707230830
Я начинаю тестировать результат на контейнере Second mariadb centos7 с помощью следующей процедуры (прежде всего "cd /var/lib/mariadb ").
используйте команду "btrfs sub snap mysql_201707210830 mysql", затем "systemctl start mariadb", в результате все отлично работает, как и ожидалось. (после этого "systemctl stop mariadb", "btrfs sub del mysql" и "btrfs sub sync .")
используйте команду "btrfs sub snap mysql_201707220830 mysql", затем "systemctl start mariadb", в результате все отлично работает, как и ожидалось. (после этого "systemctl stop mariadb", "btrfs sub del mysql" и "btrfs sub sync .")
используйте команду "btrfs sub snap mysql_201707230830 mysql", затем "systemctl start mariadb" результат не такой, как ожидалось!!!! Мариадб не может начать.
Кто-нибудь, пожалуйста, помогите мне, какой шаг, что я делаю ошибку?
С уважением,
Сиранее Ярасвачиракул.
1 ответ
Со всей помощью команды поддержки btrfs. Большое спасибо за предложения от "Крис Мерфи" и "A L".
Наконец я обнаружил ошибочные шаги, которые сделали результат неверным. Инструмент для подтверждения идентичности между отправкой и получением исходного снимка и получателя: "rsync -avnc / var / lib / mariadb / mysql_yyyymmddhhmm / user @ ip_destination: / var / lib / mariadb / mysql_yyyymmddhhmm /"
В субботу 12 августа 2017 года в 20:20 написал:
[root@backuplogC7 ~]# rsync -avnc / var / lib / mariadb / mysql_201708090830 root@192.168.45.166: // var / lib / mariadb / mysql_201708090830
Вам нужен трейлинг / для первого каталога с опцией -a.
rsync -a dir dir
это не та же команда, что и
rsync -a dir / dir
Это сбивает с толку, но ваша команда пытается создать каталог mysql_201708090830 в источнике, в mysql_201708090830 в месте назначения. Вот почему все не соответствует. Чтобы это означало "содержимое", вам необходимо добавить косую черту как минимум в начало координат.
- Крис Мерфи
Я не помнил, какие шаги я сделал ошибку и сделал mysql получил UUID.
Основным моментом, из-за которого btrfs неправильно отправлял / получал инкремент, является то, что текущий под том "mysql" имел "Received UUID", что должно происходить при получении на целевом сайте (Remote), но в моем случае он появился на исходном сайте (Local).
13.08.2017 12:52 siranee.ja@tpc.co.th пишет:
Привет "АЛ",
[root@backuplogC7 ~]# btrfs sub show / var / lib / mariadb / mysql / var / lib / mariadb / mysql Имя: mysql UUID: 92f319c5-e132-3249-9b13-d39ee77a2b44 Родительский UUID: - Полученный UUID: 3ad033a -654c-add6-b1cbcdeaa639 Время создания: 2017-06-21 13:27:41 +0700 Идентификатор подчиненного: 257 Поколение: 539 Генерация при создании: 9 Идентификатор родителя: 5 Идентификатор верхнего уровня: 5 Флаги: - Снимок (и): mysql_201708060830 mysql_201708070830 mysql_201708080830 mysql_201708090830 mysql_201708100830 mysql_201708110830 mysql_201708120830 mysql_201708130830
да, я думаю, что он получил UUID, потому что я восстановил источник из снимка mysql_201708040830, чтобы доказать, что локальный снимок работал.
Как очистить полученный UUID? Что делать дальше? Вам нужно сделать снимок для чтения / записи в / var / lib / mariadb / mysql, а затем удалить старый подобъем и все его снимки.
Пример с https://github.com/digint/btrbk/blob/master/doc/FAQ.md
cd / mnt / btr_pool
mv mysubvolume mysubvolume.broken
btrfs subvolume снимок mysubvolume.broken mysubvolume
Вы можете сделать то же самое с каждым из ваших снимков и отправлять их как полные снимки (без -p).
~ A
- как рекомендуется из https://github.com/digint/btrbk/blob/master/doc/FAQ.md -
"Я получаю сообщение об ошибке: прервано:" Полученный UUID "установлен
Вы, вероятно, восстановили резервную копию с помощью send-receive и сделали ее доступной для чтения / записи с помощью набора свойств btrfs. Это плохо, так как все снимки и резервные копии будут наследовать этот идентичный "полученный UUID", в результате чего все эти подобъемы будут обрабатываться как "содержащие одинаковые данные".
Чтобы это исправить, создайте "правильный" снимок:
- Это как ваше предложение для подсоба "MySQL"
cd / mnt / btr_pool
mv mysubvolume mysubvolume.broken
btrfs subvolume снимок mysubvolume.broken mysubvolume
Теперь у mysubvolume должен быть пустой "Полученный UUID". Обратите внимание, что для обеспечения чистой среды вам также необходимо исправить все подобъемы (снимки, а также резервные копии), которые вы создали с поврежденным подобъемом.
Проверьте, есть ли еще сломанные подобъемы:
btrfs subvolume show mysubvolume.broken
Список вложенных томов btrfs -a -R /mnt/btr_pool | grep <"Полученный UUID" сверху>
Список подобъемов btrfs -a -R /mnt/btr_backup | grep <"Полученный UUID" сверху>
- Похоже, что из этого руководства мне нужно очистить <"Полученный UUID"> только подобъем "mysql" и другие ("mysql_201708070830" должен использовать снимок btrfs subvolume -r вместо снимка субобъема btrfs. Это правильно?
Теперь очистите все перечисленные подобъемы (так же, как и выше, но теперь используйте btrfs subvolume snapshot -r). Затем удалите все сломанные подобъемы:
btrfs subvolume delete *.broken
Наконец, у вас должна быть чистая среда, и btrbk больше не будет жаловаться.
Последней процедурой восстановления поврежденного снимка являются следующие.
Я сделал следующее, и это работает так, как должно быть прямо сейчас.
[root@backuplogC7 mariadb]# снимок субобъема btrfs mbroken_201708070830 rw_201708070830 Создайте снимок "mbroken_201708070830" в папке "./rw_201708070830" [root@backuplogC7 mariadb]# btrfs. ID 257 поколения 542 пути 5-го уровня mbroken ID 317 поколения 576 пути 5-го уровня mbroken_201708070830 ID 318 поколения 568 пути 5-го уровня mbroken_201708080830 ID 319 поколения 569 пути 5-го уровня mbroken_201708090830 ID 320 поколения 570 верхнего уровня 5 пути mbroken_201708100 путь 5-го уровня mbroken_201708110830 ID 322 gen 572 путь верхнего уровня 5 mbroken_201708120830 ID 323 gen 573 путь верхнего уровня 5 mbroken_201708130830 ID 324 gen 543 путь верхнего уровня 5 mysql ID 348 gen 576 путь верхнего уровня 5 rw_201708070830 [корневая резервная копия] ма mbroken_201708080830 rw_201708080830 Создать снимок 'mbroken_201708080830' в './rw_201708080830' [корень @backuplogC7 MariaDB]# Btrfs подтом снимок mbroken_201708090830 rw_201708090830 Создать снимок 'mbroken_201708090830' в'./rw_201708090830' [корень @backuplogC7 MariaDB]# Btrfs подтоме снимок mbroken_201708100830 rw_201708100830 Создайте снимок "mbroken_201708100830" в "./rw_201708100830" [root@backuplogC7 mariadb]# btrf Моментальный снимок s mbroken_201708110830 rw_201708110830 Создать снимок "mbroken_201708110830" в. Снимок субобъема btrfs mbroken_201708130830 rw_201708130830 Создайте снимок 'mbroken_201708130830' в './rw_201708130830' [root@backuplogC7 mariadb]# подсписок btrfs. ID 257 поколения 542 пути 5-го уровня mbroken ID 317 поколения 57 уровня 5 уровня mbroken_201708070830 ID 318 поколения 577 уровня 5 уровня верхнего уровня mbroken_201708080830 ID 319 поколения 578 верхнего уровня 5 пути mbroken_201708090830 ID 320 поколения 579 верхнего уровня 5 пути mbroken_20170888 путь 5-го уровня mbroken_201708110830 ID 322 gen 581 путь верхнего уровня 5 mbroken_201708120830 ID 323 gen 582 путь верхнего уровня 5 mbroken_201708130830 ID 324 gen 543 верхний уровень 5 путь mysql ID 348 gen 576 верхний уровень 5 путь rw_201708070830 ID 349 gen 580 уровень 530 gen 580 top 30 top 70 350 поколение 578 путь 5-го уровня rw_201708090830 ID 351 поколение 579 путь 5-го уровня rw_201708100830 ID 352 поколение 580 путь 5-го уровня rw_201708110830 ID 353 поколение 581 путь 5-го уровня rw_201708120830 ID 354 поколение 582 путь 5-го уровня rw_201708130830 root@ mari @ # btrfs список подчиненных томов -a -R . | grep "3ad0334a-4063-654c-add6-b1cbcdeaa639" ID 257 gen 542, верхний уровень 5 receive_uuid 3ad0334a-4063-654c-add6-b1cbcdeaa639 путь mbroken ID 317 ген 576, верхний уровень 5-based-606b3b3b3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-d5 ID 318 поколение 577, верхний уровень 5 receive_uuid 3ad0334a-4063-654c-add6-b1cbcdeaa639 путь mbroken_201708080830 ID 319 поколение 578, верхний уровень 5 Принимаемый_uuid 3ad0334a-4063-654c-add6-b1cbcdeaa0303 5303 0703 580 570-й уровень 5303 580 верхний уровень 5303 580 654c-add6-b1cbcdeaa639 путь mbroken_201708100830 ID 321 ген 580 верхнего уровня 5 received_uuid 3ad0334a-4063-654c-add6-b1cbcdeaa639 путь mbroken_201708110830 ID 322 581 ген верхнего уровня 5 received_uuid 3ad0334a-4063-654c-add6-b1cbcdeaa639 путь mbroken_201708120830 ID 323 582 ген верхнего уровень 5 полученный_uuid 3ad0334a-4063-654c-add6-b1cbcdeaa639 путь mbroken_201708130830 [root@backuplogC7 mariadb]# btrfs sub snap -r rw_201708070830 mysql_201708070830 Создайте мгновенный снимок 70/70 из 70880 из 708-й копии в формате "только для чтения". sql_201708070830' [root@backuplogC7 mariadb]# вспомогательная оснастка btrfs -r rw_201708080830 mysql_201708080830 Создать мгновенный снимок "rw_201708080830" только для чтения. rw_201708090830' в './mysql_201708090830' [корень @backuplogC7 MariaDB]# Btrfs суб оснастка -r rw_201708100830 mysql_201708100830 Создать только для чтения снимка 'rw_201708100830' в'./mysql_201708100830' [корень @backuplogC7 MariaDB]# Btrfs суб оснастки -r rw_201708110830 mysql_201708110830 Создайте "только для чтения" снимок "rw_201708110830" в "./mysql_201708110830" [root@backuplogC7 mariadb]# btrfs sub snap -r rw_201708120830 mysql_201708120830 Создайте только для чтения снимок "rw_20170812070308b830830830-ой_каталоги" rw_201708130830830830-fb8 в базе данных. sub snap -r rw_201708130830 mysql_201708130830 Создайте снимок "rw_201708130830" в режиме "только для чтения"./mysql_201708130830 '[root@backuplogC7 mariadb]# подсписок btrfs. ID 257 поколения 542 пути 5-го уровня mbroken ID 317 поколения 57 уровня 5 уровня mbroken_201708070830 ID 318 поколения 577 уровня 5 уровня верхнего уровня mbroken_201708080830 ID 319 поколения 578 верхнего уровня 5 пути mbroken_201708090830 ID 320 поколения 579 верхнего уровня 5 пути mbroken_20170888 путь 5-го уровня mbroken_201708110830 ID 322 gen 581 путь верхнего уровня 5 mbroken_201708120830 ID 323 gen 582 верхний уровень 5 путь mbroken_201708130830 ID 324 gen 584 верхний уровень 5 путь mysql ID 348 gen 583 верхний уровень 5 путь rw_201708070830 ID 349 gen 5880 уровень 530 gen 588 верхний уровень 584 top 585 уровень 530 gen 584 верхний уровень 350 поколение 585, верхний уровень 5, путь rw_201708090830 ID 351 поколение 586, верхний уровень 5, путь rw_201708100830 ID 352 поколение 587, верхний уровень 5, путь rw_201708110830 ID 353 поколение 588, верхний уровень 5, путь rw_201708120830 ID 354 поколение 589, верхний уровень 5, путь rw_201708130330 ID 355 5 путь mysql_201708070830 ID 356 gen 584 верхний уровень 5 путь mysql_201708080830 ID 357 gen 585 верхний уровень 5 путь mysql_201708090830 ID 358 gen 586 верхний уровень 5 путь mysql_201708100830 ID 359 gen 587 верхний уровень 5 путь mysql_201708110830 ID 360 gen 588 верхний уровень 5 путь mysql_201708120830 ID 361 gen 589 верхний уровень 5 путь mysql_201708130830
[root@backuplogC7 mariadb]# список подобъемов btrfs -a -R . | grep "3ad0334a-4063-654c-add6-b1cbcdeaa639" ID 257 gen 542, верхний уровень 5 receive_uuid 3ad0334a-4063-654c-add6-b1cbcdeaa639 путь mbroken ID 317 ген 576, верхний уровень 5-based-606b3b3b3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-db3-d5 ID 318 поколение 577, верхний уровень 5 receive_uuid 3ad0334a-4063-654c-add6-b1cbcdeaa639 путь mbroken_201708080830 ID 319 поколение 578, верхний уровень 5 Принимаемый_uuid 3ad0334a-4063-654c-add6-b1cbcdeaa0303 5303 0703 580 570-й уровень 5303 580 верхний уровень 5303 580 654c-add6-b1cbcdeaa639 путь mbroken_201708100830 ID 321 ген 580 верхнего уровня 5 received_uuid 3ad0334a-4063-654c-add6-b1cbcdeaa639 путь mbroken_201708110830 ID 322 581 ген верхнего уровня 5 received_uuid 3ad0334a-4063-654c-add6-b1cbcdeaa639 путь mbroken_201708120830 ID 323 582 ген верхнего уровень 5 receive_uuid 3ad0334a-4063-654c-add6-b1cbcdeaa639 путь mbroken_201708130830 [root@backuplogC7 mariadb]# btrfs send /var/lib/mariadb/mysql_2017080708830 | SSH 192.168.45.166 btrfs получает / var / lib / mariadb на subvol /var/lib/mariadb/mysql_201708070830 на subvol mysql_201708070830 [root@backuplogC7 mariadb]# субтитр btrfs mysql_201708070830_20107070370_70_70_70_70_70_70_70_70_70_70_70_70_70_70_70_70_70_70_70_70_70_70_70_70_70_70_70_070_70 -126d-574a-814c-e3b4c81b414e Родительский UUID: 1d5bb8eb-b0df-2549-8b62-552cfa517609 Полученный UUID: - Время создания: 2017-08-14 07:00:08 +0700 Идентификатор подчиненного элемента: 355 Генерация: 583 Генерация при создании: 583 ID родителя: 5 ID верхнего уровня: 5 Флаги: только для чтения Снимок (и): [root@backuplogC7 mariadb]# rsync -avnc /var/lib/mariadb/mysql_201708070830/ root@192.168.45.166:/var/lib/mariadb/mysql_201708070830/ отправка списка добавочных файлов./
отправлено 3773 байта получено 19 байтов 1083,43 байта / сек. общий размер 718361496 ускорение составляет 189441,32 (СУХОЙ БЕЗ) [root@backuplogC7 mariadb]# btrfs send -p / var / lib / mariadb / mysql_201708070830 / var / lib / mariadb / mysql_80 | SSH 192.168.45.166 btrfs получает / var / lib / mariadb На subvol / var / lib / mariadb / mysql_201708080830 Снимок экрана mysql_201708080830 [root@backuplogC7 mariadb]# rsync -avnc / var / lib / mariadb70802302: 682_302_302_302_302_302_302_302_302. / var / lib / mariadb / mysql_201708080830 / отправка списка добавочных файлов./
отправлено 3769 байт, получено 19 байт, 688,73 байт / с, общий размер - 718361496, ускорение - 189641,37 (СУХОЙ БЕГ) [root@backuplogC7 mariadb]# btrfs send -p / var / lib / mariadb / mysql_201708080830 / var / lib / mariadb / mysq30_80 | SSH 192.168.45.166 btrfs получает / var / lib / mariadb В subvol / var / lib / mariadb / mysql_201708090830 Снимок экрана mysql_201708090830 [root@backuplogC7 mariadb]# rsync -avnc / var / lib / mariadb70.1682302: 680_309_309_302_309_302_302_302_309_309_302_301. / var / lib / mariadb / mysql_201708090830 / отправка списка добавочных файлов./
отправлено 3773 байта получено 19 байтов 583,38 байт / сек. общий размер 718361496 ускорение составляет 189441,32 (СУХОЙ БЕЗ) [root@backuplogC7 mariadb]# btrfs send -p / var / lib / mariadb / mysql_201708090830 / var / lib / mariadb / mys1003030 | SSH 192.168.45.166 btrfs получает / var / lib / mariadb На subvol / var / lib / mariadb / mysql_201708100830 Снимок экрана mysql_201708100830 [root@backuplogC7 mariadb]# rsync -avnc / var / lib / mariadb70.1688302: 681008: mys1008 / var / lib / mariadb / mysql_201708100830 / отправка списка добавочных файлов./
отправлено 3773 байта получено 19 байтов 689,45 байт / сек. общий размер 718361496 ускорение составляет 189441,32 (СУХОЙ БЕГ) [root@backuplogC7 mariadb]# btrfs send -p / var / lib / mariadb / mysql_201708100830 / var / lib / mariadb / mysq30_201 | SSH 192.168.45.166 Btrfs получать / вар / Библиотека / MariaDB В subvol / вар / Lib / MariaDB / mysql_201708110830 При моментальной mysql_201708110830 [корень @backuplogC7 MariaDB]# Rsync -avnc / вар / Библиотека / MariaDB / mysql_201708110830 / root@192.168.45.166: / var / lib / mariadb / mysql_201708110830 / отправка списка добавочных файлов./
отправлено 3773 байта получено 19 байтов 689,45 байт / сек. общий размер 718361496 ускорение составляет 189441,32 (СУХОЙ ЗАПУСК) [root@backuplogC7 mariadb]# btrfs send -p / var / lib / mariadb / mysql_201708110830 / var / lib / mariadb / mysq30_201 | SSH 192.168.45.166 btrfs получает / var / lib / mariadb На subvol / var / lib / mariadb / mysql_201708120830 Снимок экрана mysql_201708120830 [root@backuplogC7 mariadb]# rsync -avnc / var / lib / mariadb70.1682302: 681_302_302_302_302_302_302_302. / var / lib / mariadb / mysql_201708120830 / отправка списка добавочных файлов./
отправлено 3773 байта получено 19 байтов 689,45 байт / сек. общий размер 718361496 ускорение составляет 189441,32 (СУХОЙ БЕГ) [root@backuplogC7 mariadb]# btrfs send -p / var / lib / mariadb / mysql_201708120830 / var / lib / mariadb / mysq30_201 | SSH 192.168.45.166 btrfs получает / var / lib / mariadb В subvol / var / lib / mariadb / mysql_201708130830 Снимок экрана mysql_201708130830 [root@backuplogC7 mariadb]# rsync -avnc / var / lib / mariadb70.130302: 6830_3030_3030_302_3030_302_302_3030_302_302_302_30_30_30_30_30_30_30_30_30.30 / var / lib / mariadb / mysql_201708130830 / отправка списка добавочных файлов./
отправлено 3773 байта, получено 19 байтов, 689,45 байта в секунду, общий размер - 718361496, ускорение - 189441,32 (DRY RUN) [root@backuplogC7 mariadb]#