On 07/18/2013 04:47 PM, Florent Rivoire wrote:
Un principe pour avoir un backup cohérent : => tu mets ton /var/lib/mysql dans un partition qui est un volume LVM
Et ensuite, ton script de backup fait ceci : => tu lock chaque base (FLUSH TABLES WITH READ LOCK de mémoire, cf la doc)
Techniquement tu n'as pas besoin de locker. Si le moteur de base de données est implémenté correctement (plus précisément s'il utilise fsync() correctement, et pour InnoDB j'imagine que c'est le cas) il est capable de résister sans problème à une coupure de courant. Or, restaurer un snapshot revient exactement au même que rédémarrer la machine après une coupure de courant qui serait intervenue au moment du snapshot.
=> tu prends un snapshot de ton volume LVM => tu unlock les bases (en tout, elles auront été lockées qq secondes maximum) => tu backup le contenu du snapshot LVM => tu supprime le snapshot => et voilà :)