резервная копия lvm mysql - PullRequest
       9

резервная копия lvm mysql

3 голосов
/ 06 февраля 2012

Я читал о MySQL резервного копирования с использованием lvm Я понимаю, что вы создаете раздел lvm и выделяете определенный размер для mysql, оставляя достаточно места для снимков.

Я прочитал, что преимущество в том, что резервные копии очень быстрые.

Есть ли подводные камни, на которые стоит обратить внимание или недостатки?

Спасибо

Ответы [ 2 ]

6 голосов
/ 06 февраля 2012

Запуск с включенным снимком LVM может привести к снижению производительности ввода-вывода до 6 раз.

http://www.mysqlperformanceblog.com/2009/02/05/disaster-lvm-performance-in-snapshot-mode/

Я предлагаю использовать Percona XtraBackup в качестве гораздо лучшего инструмента горячего резервного копирования (отказ от ответственности: я работаю для Percona).

2 голосов
/ 06 февраля 2012

Снимки LVM очень страшны для InnoDB при определенных обстоятельствах.Почему?

Если у вас отключен innodb_file_per_table , в ibdata1 будет все и его бабушка.Что живет в ibdata1?Четыре вещи:

  • Страницы данных
  • Индексные страницы
  • Метаданные (например, список идентификаторов таблиц-хранилищ)
  • Данные MVCC

Если вы пытаетесь выполнить моментальные снимки LVM в среде БД с интенсивной записью, отключив innodb_file_per_table, вы можете выстрелить себе в ногу.Для моментального снимка LVM требуется, чтобы файл ibdata1 был хорошо объединен заранее.

Недавно я провел эксперимент следующим образом:

У клиента в компании, занимающейся веб-хостингом моего работодателя, возникают следующие проблемы с установкой MySQL:

  • innodb_file_per_table off
  • 1,4 ТБ ibdata1
  • только 29 ГБ свободно в файловой системе ibdata1
  • ext3 (ограничение размера отдельного файла 2 ГБ, ярк)

Я хотел настроить MySQL Slave, rsycning папку / var / lib / mysql на другой сервер БД .Когда rsync был выполнен на ibdata1 без простоя, это заняло 42 часа.Вторая rsync против ibdata1 заняла 84 часа, обнаружила только 220 ГБ изменений и была выполнена только на 15%.Я прервал эту миссию.

Снимок LVM может работать намного лучше, чем rsync.Несмотря на это, любой снимок LVM с очень большим ibdata1 будет подвержен тем же проблемам.

Если вы используете снимок LVM, используйте следующие параметры:

  • OPTION 01) Используйте innodb_file_per_table,Снимки LVM будут вам нравиться, потому что они будут работать с небольшими файлами. Вы также можете постоянно сокращать ibdata1 .
  • ВАРИАНТ 02) Использовать репликацию MySQL и делать снимки LVM на подчиненном устройстве

С MySQLВедомый репликации вы можете

  • STOP SLAVE; (если у вас есть --skip-slave-start в my.cnf)
  • service mysql stop
  • выполнитьLVM snpshot
  • service mysql start
  • START SLAVE; (если у вас есть --skip-slave-start в my.cnf)

Таким образом, эти LVMПроблемы со снимками никогда не увидят свет на Production Master.

Попробуйте и получайте удовольствие от этого !!!

...