Linux是否存在静默?


8

静默文件系统使您可以在数据库仍在运行时以及其他程序及其数据进行备份。

通常需要向应用程序通知静默备份操作,因为所有缓冲区都需要刷新到磁盘,并且所有入站写请求都需要停止,以便可以创建有效的备份而无需完全停止系统。

Linux是否对这种事情有任何支持?我已经读到Microsoft Windows自Windows Server 2003以来就已经对此提供了支持,并且我已经看到了一些地方,他们谈论如何使用Linux使用VM来实现此目的。但是我不知道哪些特定的VM,如果这些VM必须作为主机在Windows上运行。

操作系统级别以上的平台(如Java)又如何呢?那里有停顿的支持吗?


1
随意建议一个Wiki标签unix.stackexchange.com/edit-tag-wiki/2294,因为您知道它
daisy

Linux至少有一个OpenSource项目可以使类似于VSS的东西在Linux中运行?
leeand00 2012年

@ warl0ck我在该站点上没有足够的代表来创建静默标签。
leeand00

不知道这是否有用,但是这里的帖子:blog.liw.fi/posts/backups-6引用了我的问题。
leeand00

Answers:


8

当您执行LVM快照时,正在进行快照时,待处理的数据(在内核缓冲区中,而不是在应用程序中)会刷新到磁盘,并且会阻止应用程序写入。您也可以在相同的方式使用冻结FS,如果你通过一些外部手段backuping块设备的FS是上(例如磁盘是虚拟的,你是在备份主机上)fsfreezexfs_aio。实现快照的文件系统(例如BTRFS,NILFS,ZFS ...)也可以做到这一点。通常,这些级别的快照确实可以确保快照中的数据是在给定时间向FS提交的内容的即时冻结,并且冻结的FS处于一致的干净状态。

至于告诉应用程序停顿并将缓冲的数据刷新到FS,没有通用框架,而我上次检查时,普遍的共识是,引入不必要的复杂性和相关的错误比通过改进应用程序来解决问题更可能造成危害。无论如何,当系统/硬件崩溃时,应着重于使数据在磁盘上的形状一致。

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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.