Rsync MariaDB 数据文件夹 Docker 安全吗?
Rsync MariaDB Data Folder Docker Safe?
我正在寻找一些见解,从 运行ning 在 docker 中从 MariaDB 同步数据文件夹的副本是否会提供可用的备份。我正在使用 docker.
在生产环境中部署多个带有映射文件夹的容器
我正在考虑使用 rsnapshot 进行夜间备份,因为它会逐步使用硬链接,而且我可以指定每周/每天/每月副本的数量 keep.For 我怀疑这会很好地工作的代码和实际文件.
对于 MariaDB,我可以每晚 运行 mysqldump,但这实际上每次都会使用数据库的新副本,而不是增量副本。如果我可以 rsync 数据文件夹并 100% 确定备份将完好无损,我认为这将是有利的。如果在 rsync 期间写入数据,此备份方法是否有可能失败? MariaDB 中的所有文件是否会随着日常使用而变化(如果是这样就没有优势了)?
这可能是一个常见问题,但我现在找不到真正完全匹配的问题。
答案是否 — 除非mysqld 进程停止,否则您不能使用文件系统级复制工具来备份MySQL 数据库。在 Docker 环境中,我希望容器在 mysqld 进程停止时停止。
即使没有查询 运行ning,InnoDB 引擎也可能在后台执行写入操作以将页面从内存刷新到表空间、清理回滚事务或完成一些延迟索引合并.
如果您尝试使用 rsync
或 cp
或任何其他文件系统级工具来复制 InnoDB 文件,您只会得到无法恢复的损坏文件。
有些人使用 LVM 快照来获取整个文件系统的单个瞬间的原子快照,这可用于快速备份。
另一个有用的工具是 Percona XtraBackup,它在复制 InnoDB 表空间文件的同时还不断地复制 InnoDB 事务日志。只有这两者同步才能恢复备份。在此处阅读文档:https://www.percona.com/doc/percona-xtrabackup/LATEST/index.html
在我目前的工作中,我们使用 Percona XtraBackup 为数千个 MySQL 实例进行夜间备份。我们 运行 Docker pods 中的 Percona Server(不是 MariaDB)和 Percona XtraBackup 运行s 作为 pod 中的另一个容器。它运行良好,而且是免费的开源软件。
我正在寻找一些见解,从 运行ning 在 docker 中从 MariaDB 同步数据文件夹的副本是否会提供可用的备份。我正在使用 docker.
在生产环境中部署多个带有映射文件夹的容器我正在考虑使用 rsnapshot 进行夜间备份,因为它会逐步使用硬链接,而且我可以指定每周/每天/每月副本的数量 keep.For 我怀疑这会很好地工作的代码和实际文件.
对于 MariaDB,我可以每晚 运行 mysqldump,但这实际上每次都会使用数据库的新副本,而不是增量副本。如果我可以 rsync 数据文件夹并 100% 确定备份将完好无损,我认为这将是有利的。如果在 rsync 期间写入数据,此备份方法是否有可能失败? MariaDB 中的所有文件是否会随着日常使用而变化(如果是这样就没有优势了)?
这可能是一个常见问题,但我现在找不到真正完全匹配的问题。
答案是否 — 除非mysqld 进程停止,否则您不能使用文件系统级复制工具来备份MySQL 数据库。在 Docker 环境中,我希望容器在 mysqld 进程停止时停止。
即使没有查询 运行ning,InnoDB 引擎也可能在后台执行写入操作以将页面从内存刷新到表空间、清理回滚事务或完成一些延迟索引合并.
如果您尝试使用 rsync
或 cp
或任何其他文件系统级工具来复制 InnoDB 文件,您只会得到无法恢复的损坏文件。
有些人使用 LVM 快照来获取整个文件系统的单个瞬间的原子快照,这可用于快速备份。
另一个有用的工具是 Percona XtraBackup,它在复制 InnoDB 表空间文件的同时还不断地复制 InnoDB 事务日志。只有这两者同步才能恢复备份。在此处阅读文档:https://www.percona.com/doc/percona-xtrabackup/LATEST/index.html
在我目前的工作中,我们使用 Percona XtraBackup 为数千个 MySQL 实例进行夜间备份。我们 运行 Docker pods 中的 Percona Server(不是 MariaDB)和 Percona XtraBackup 运行s 作为 pod 中的另一个容器。它运行良好,而且是免费的开源软件。