The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Резервное копирование MySQL с использованием LVM снапшотов в Debian Linux
Утилита mylvmbackup (http://lenz.homelinux.org/mylvmbackup/) позволяет
автоматизировать создание резервных копий БД MySQL с минимальным временем
простоя базы. Процесс создания бэкапа состоит из следующих фаз: установка
блокировки на таблицы, инициирование сброса кэшей на диск, создание LVM
снапшота директории с MySQL таблицами, снятие блокировки. Так как время
создания снапшота очень мало, простой базы сводится к минимуму при полном
сохранении целостности.

Пример использования утилиты для системы на которой уже работает MySQL,
директория с БД (/var/lib/mysql) размещена на LVM разделе и в системе доступен
раздел /dev/sdb на котором достаточно для создания временных LVM снапшотов.

   # df -h
   ...
   /dev/mapper/server1-mysql  8.9G  170M  8.3G   2% /var/lib/mysql

Имя LVM группы server1, имя раздела с данными MySQL - mysql.

   # pvdisplay
   --- Physical volume ---
   PV Name               /dev/sda5
   VG Name               server1
   PV Size               29.52 GB / not usable 3.66 MB
   ...
 
   # vgdisplay
  --- Volume group ---
  VG Name               server1
  System ID
  Format                lvm2
  ...

   # lvdisplay
  --- Logical volume ---
  LV Name                /dev/server1/mysql
  VG Name                server1
  ...

Диск /dev/sdb имеет один раздел /dev/sdb1, занимающий все пространство диска.
Подключаем его к имеющемуся LVM группе server1 с целью увеличения свободного
места, которое потребуется для работы со снапшотами. Дополнительные LVM разделы
создавать не нужно.

   # pvcreate /dev/sdb1
   # vgextend server1 /dev/sdb1

Устанавливаем пакет mylvmbackup:

   # aptitude install mylvmbackup

Изучаем руководство по mylvmbackup и при необходимости меняем файл конфигурации
/etc/mylvmbackup.conf под свои нужды:

   $ man mylvmbackup


По умолчанию бэкапы будут сохраняться в директорию /var/cache/mylvmbackup/backup.

Простейшая команда для создание резервной копии (параметры можно указать в
файле конфигурации) MyISAM таблиц:

   mylvmbackup --user=root --password=пароль --mycnf=/etc/mysql/my.cnf \
      --vgname=server1 --lvname=mysql --backuptype=tar

Пример для InnoDB таблиц:

   mylvmbackup --user=root --password=пароль --innodb_recover --skip_flush_tables \
      --mycnf=/etc/mysql/my.cnf --vgname=server1 --lvname=mysql --backuptype=tar

В опции --vgname указываем имя LVM группы, а в опции --lvname имя LVM раздела с данными.


После выполнения команды проверяем корректность создания резервной копии:

   ls -l /var/cache/mylvmbackup/backup

   -rw-r--r-- 1 root root 246847 2010-01-27 19:17 backup-20100127_191658_mysql.tar.gz

В созданном  tar.gz файле находятся две директории: 

backup с архивом таблиц, который можно просто распаковать в рабочую директорию
/var/lib/mysql при проведении восстановления данных.
backup-pos с копией файла конфигурации my.cnf.
 
05.02.2010 , Источник: http://www.howtoforge.com/how-to-ba...
Раздел:    Корень / Программисту и web-разработчику / SQL и базы данных / MySQL специфика / Оптимизация и администрирование MySQL

Обсуждение [ RSS ]
 
  • 1.1, Ъ, 21:25, 06/02/2010 [ответить] [смотреть все]
  • +/
    >Так как время

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

    Насколько мало?

     
     
  • 2.2, mma, 07:01, 07/02/2010 [^] [ответить] [смотреть все]
  • +/
    Практически мгновенное
     
     
  • 3.3, Ъ, 08:57, 07/02/2010 [^] [ответить] [смотреть все]
  • +/
    Спасибо, на slave протестирую.
     
  • 3.4, sshutdownow, 11:26, 08/02/2010 [^] [ответить] [смотреть все]
  • +/
    To perform a backup, mylvmbackup obtains a read lock on all tables and flushes all server caches to disk, creates a snapshot of the volume containing the MySQL data directory, and unlocks the tables again.

    я так тоже делал, обычно быстро

     
  • 1.5, Nas_tradamus, 16:07, 09/02/2010 [ответить] [смотреть все]
  • +/
    Очень удобно, если используются инструменты автоматического поднятия упавшей репликации.
    А то у меня дамп MyISAM идет минуты 2.
    В принципе, при InnoDB мне бы и --single-transaction подошел, но нет возможности пока что перейти на это хранилище.

    Увы, LVM нет под FreeBSD. :(

     
     
  • 2.6, uldus, 16:12, 09/02/2010 [^] [ответить] [смотреть все]  
  • +1 +/
    >Увы, LVM нет под FreeBSD. :(

    Там и без LVM снапшоты в UFS2 работают: http://www.opennet.ru/tips/info/842.shtml

     
     
  • 3.7, Nas_tradamus, 16:20, 09/02/2010 [^] [ответить] [смотреть все]  
  • +/
    >>Увы, LVM нет под FreeBSD. :(
    >
    >Там и без LVM снапшоты в UFS2 работают: http://www.opennet.ru/tips/info/842.shtml

    Спасибо большое.)

    Я натыкался ранее на эту заметку. Но смутили комменты. А сейчас там появились комменты, опровергающие предыдущие комменты... В общем, на Фре, действительно, работают снапшоты, если их делать не в корне ("/") . :)

     
  • 2.8, Samm, 22:45, 10/02/2010 [^] [ответить] [смотреть все]  
  • +/
    "Увы", под фрибсд есть ZFS, что значительно круче )

    Под LVM с snapshots у меня наблюдалось серьезное снижение производительности дисковой подсистемы.

     
     
  • 3.9, sHaggY_caT, 18:11, 11/02/2010 [^] [ответить] [смотреть все]  
  • +/
    Под ZFS (как и btrfs) нет аналога Cluster LVM:

    http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/Cluster_Logical_V

    Для Geom что-то такое сейчас тоже пилят...

    Так что, не все так однозначно что удобнее: все зависит от ситуации.
    Да и сверху lvm можно сделать почти любую файловую систему (в том числе параллельную или даже ntfs для виртуалки о_О), а сверху навороченных ZFS, btrfs, GPFS могут быть, увы, только они сами, что немного не UNIX-way (имхо)

     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:

     Добавить заметку
     Версия для печати
     
     Поиск заметки:
     

    Последние заметки
    - 05.02 Проброс 802.1q/access порта в Linux через IP-сеть
    - 25.01 Использование systemtap для устранения уязвимости в реализации /proc/pid/mem
    - 24.01 Мониторинг загрузки многоядерного сервера по каждому ядру в отдельности в Linux
    - 23.01 Осуществление ОGSM/SMS/USSD вызовов с использованием утилиты mdbus
    - 13.01 Интерактивный firewall в Linux
    - 08.01 Советы по увеличению автономной работы ноутбука с Debian/Ubuntu
    - 31.12 Бэкап и восстановление данных из БД memcachedb и других хранилищ на базе BerkeleyDB
    - 28.12 Получение инкрементальных diff-файлов для subversion
    - 27.12 Решение проблемы поддержки php-zip-extension в Fedora-16
    - 25.12 Настройка сетевого доступа в окружениях QEMU
    RSS | Следующие 15 записей >>


    АКЦИЯ! ПОДПИШИСЬ на журнал Linux Format до 31 января 2012 года и выиграй СУПЕРПРИЗ!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонус- объёмные наклейки на системный блок и подарки: с одним из первых выпусков журнала в 2012 году- диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Подробнее о проведении акции вы можете прочитать на странице сайта.


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList