我一直在阅读有关通过使用 lvm 备份 mysql 我知道您创建一个 lvm 分区并为 mysql 分配特定大小,为快照留出足够的空间。
我读到它的优点是备份非常快。
有什么需要注意的陷阱或缺点吗?
谢谢
在启用 LVM 快照的情况下运行可能会导致 I/O 性能下降多达 6 倍。
http://www.mysqlperformanceblog.com/2009/02/05/disaster-lvm-performance-in-snapshot-mode/
我建议使用Percona XtraBackup作为更好的热备份工具(免责声明:我为 Percona 工作)。
在某些情况下,LVM 快照对于 InnoDB 来说非常可怕。为什么?
如果您禁用了innodb_file_per_table,则 ibdata1 将包含所有内容及其祖母。ibdata1中有什么?四件事:
如果您尝试在关闭 innodb_file_per_table 的重写入数据库环境中执行 LVM 快照,那么您可能会自食其果。LVM 快照需要事先很好地合并 ibdata1 文件。
我最近做了一个实验,如下:
我雇主的网络托管公司的一个客户的 MySQL 设置存在以下问题:
我想通过将 /var/lib/mysql 文件夹 rsycning 到另一个 DB Server 来设置 MySQL 从站。在没有停机的情况下在 ibdata1 上完成 rsync 需要 42 小时。针对 ibdata1 的第二次 rsync 耗时 84 小时,只发现了 220GB 的更改,并且只完成了 15%。我中止了那个任务。
LVM 快照的性能可能比 rsync 好得多。尽管如此,任何涉及非常大的 ibdata1 的 LVM 快照都会遇到同样的问题。
如果您使用 LVM 快照,请使用以下选项:
使用 MySQL 复制从站,您可以
STOP SLAVE;
(如果你在 my.cnf 中有 --skip-slave-start)service mysql stop
service mysql start
START SLAVE;
(如果你在 my.cnf 中有 --skip-slave-start)这样,这些 LVM 快照问题将永远不会在 Production Master 上出现。
试一试,玩得开心!!!