Linux 存在 quiesce 吗?

Linux 存在 quiesce 吗?

静止文件系统允许您在数据库仍在运行时对数据库以及其他程序及其数据进行备份。

一般需要通知申请者静止备份操作,因为所有缓冲区都需要刷新到磁盘,并且需要停止任何传入的写入请求,以便可以在不完全停止系统的情况下创建有效的备份。

Linux 对这类事情有支持吗?我读到 Microsoft Windows 自 Windows Server 2003 起就支持此功能,并且我在一些地方看到他们谈论如何使用 VM 在 Linux 上完成此操作。但我不知道哪些特定的虚拟机,如果虚拟机必须作为主机在 Windows 上运行。

另外,操作系统级别之上的平台(例如 Java)又如何呢?那里有对静止的支持吗?

答案1

当您执行 LVM 快照时,挂起的数据(在内核缓冲区中,而不是应用程序中)将刷新到磁盘,并且在快照正在进行时应用程序将被阻止写入。如果您通过某种外部方式备份 FS 所在的块设备(例如磁盘是虚拟的,并且您在主机上备份它),则也可以使用 或 来以相同的方式冻结fsfreezeFS xfs_aio。实现快照的文件系统(如 BTRFS、NILFS、ZFS...)也会这样做。一般来说,这些级别的快照确实可以保证快照中的数据是在给定时间提交给 FS 的数据的即时冻结,并且冻结的 FS 处于一致的干净状态。

至于告诉应用程序停顿和刷新他们的将数据缓冲到 FS,没有通用框架,而且我上次检查时,普遍的共识是,引入不必要的复杂性和相关错误更有可能造成损害,而不是改善问题,因为应用程序应该专注于使数据保持一致的形状无论如何,磁盘以防系统/硬件崩溃。

某些应用程序(例如某些数据库)可以像 MySQL 那样被告知停止运行FLUSH TABLES WITH READ LOCK

相关内容