我正在编写一个脚本来对 AWS 上的 EBS 卷进行快照。其中一个卷包含 mysql 数据库的数据。我知道我需要在启动快照时以某种方式停止将数据写入数据库,以便数据保持一致,但我无法获得数据库上所有表的锁定。
使用 xfs_freeze 而不锁定表是否足以获得一致的解决方案?
泰
答案1
不,因为 mysql 可能仍在它自己的缓冲区中保存数据,而文件系统可能不知道。
正确的方法是“用读锁刷新表”,然后创建文件系统快照,之后您可以立即再次释放锁。
为什么你不能获得锁?
我正在编写一个脚本来对 AWS 上的 EBS 卷进行快照。其中一个卷包含 mysql 数据库的数据。我知道我需要在启动快照时以某种方式停止将数据写入数据库,以便数据保持一致,但我无法获得数据库上所有表的锁定。
使用 xfs_freeze 而不锁定表是否足以获得一致的解决方案?
泰
不,因为 mysql 可能仍在它自己的缓冲区中保存数据,而文件系统可能不知道。
正确的方法是“用读锁刷新表”,然后创建文件系统快照,之后您可以立即再次释放锁。
为什么你不能获得锁?