Чим відрізняється XtraBackup від rsync?


11

Так, я збираюся побігати на обох ... Однак, я хотів би знати ...

  • Що XtraBackup робить над rsync -ac src dest?
  • Що такого особливого у XtraBbackup?
  • Як XtraBackup взаємодіє з mysqld?

1
Це один із тих, хто "чув про XtraBackup, але боюся задавати" криголам. Я люблю ці типи питань !!! +1 !!!
RolandoMySQLDBA

1
@RolandoMySQLDBA: Мені подобається провокувати думки і змушувати людей ділитися знаннями. Ось так нам стає краще, правда? Бути самотнім рейнджером - це не дуже весело. :-)
випадковий стан

Відповіді:


16

rsync - це просто жорстка бай-байтова копія даних з місця в інше. Ви повинні виконати кілька rsyncs до останньої rsync, що дуже швидко. Потім ви зробили б повне відключення MySQL і виконали ще одну rsync.

XtraBackup - це всеосяжний інструмент, який веде себе як rsync, але має спрямовану мету в житті. Він може почати копіювати всі дані InnoDB і таблиці. Він має можливість створювати контрольно-пропускні пункти внутрішньо та виконувати на місці відновлення аварії InnoDB, щоб допомогти отримати ідеальне резервне копіювання часу. XtraBackup також має додаткову функцію, яка дозволяє створювати додаткові резервні копії. Ще однією додатковою особливістю є створення файлів журналів InnoDB, також побудованих за допомогою відновлення після аварії на місці. Існує також програмне забезпечення для обгортки для забезпечення замороженого копіювання таблиць MyISAM.

Обидва методи чудові. XtraBackup просто реалізує транзакційні функції InnoDB в більшість початкових копій. Xtrabackup створює файли, які можуть потрапляти у встановлену інфраструктуру MySQL. Чесно сказати, XtraBackup забезпечує інструментальне резервне копіювання та матеріалізовані, дуже зручні файли InnoDB.

Використання rsync змушує вас керувати процесом копіювання декілька разів та обмежувати його функцією mysql, щоб вимагати одного втручання rsync.

Використання одного над іншим може бути особистим уподобанням. Слід визнати одне: XtraBackup робить резервні копії, які є дещо більшими, ніж дані, які були скопійовані. Вибір методу я залишаю читачеві цього питання.

Я віддаю перевагу rsync, оскільки він має простоту використання, я можу визначити конкретний момент часу до початку процесу, я також маю тотальний контроль щодо блокування mysqld або його вимкнення, коли таке управління може здійснюватися, і в будь-якому порядку, який я призначу .

Обидва стилі резервного копіювання мають одне спільне : З XtraBackup фактичний момент часу є рухомою ціллю до тих пір, поки процес резервного копіювання не буде завершений, і ви повинні довіряти XtraBackup (ей 200 000 завантажень поки що. Facebook є одним з найбільших користувачів це. Це заслужило багато довіри). Іншими словами, якщо я запускаю XtraBackup опівночі, а резервне копіювання триває до 02:20, то фактичний момент резервного копіювання - 02:20. Використання rsync має однакову проблему з рухомою ціллю, тому що ви повинні зробити кілька rsyncs вручну, а потім визначити, коли потрібно надати "зупинку служби mysql" до остаточного rsync.

Ці методи відрізняються тим, що mysqld необхідно відключити за допомогою методу rsync, тоді як XtraBackup діє незалежно від mysqld. Насправді XtraBackup взагалі не дуже взаємодіє з mysqld, за винятком випадків, коли стосується таблиць MyISAM через програмне забезпечення для обгортки. XtraBackup намагається створити повністю функціональні дані та файли журналів InnoDB, використовуючи оператори двигуна зберігання InnoDB, відокремлені та відмінні від mysqld.

Вимкнення mysql дуже необхідне для методу rsync з дуже великої причини: Пул буфера InnoDB може містити "брудні сторінки", це сторінки даних та покажчики (1 сторінка = 16 КБ), які не були записані на диск. Використання rsync не вловлює зміни даних, які очікують на розгляд у пулі InnoDB. Щоб пришвидшити відключення mysqld для остаточної rsync, будь ласка, запустіть цю команду:

SET GLOBAL innodb_max_dirty_pages_pct = 0;

Ця команда дозволить звести кількість брудних сторінок до мінімуму. Цю команду слід виконати приблизно за годину до того, як виконати метод rsync для резервного копіювання. Це може навіть допомогти XtraBackup, хоча XtraBackup не вимагає відключення mysql.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.