Quiescing a file system allows you to make a backup of the database while it is still running and other programs and their data as well.

The application generally needs to be notified of the quiesce backup operation because all the buffers need to be flushed to disk and any incoming write requests need to be stopped so that a valid backup can be created without stopping the system completely.

Does Linux yet have any support for this sort of thing? I've read that Microsoft Windows has had support for this since Windows Server 2003, and I've seen a few places where they talk about how this can be done with Linux using a VM. But I don't know which specific VMs, if the VMs have to be running on Windows as a host.

Also what about platforms that are above the OS level like Java? Is there any support for quiesce there?

  • 1
    Feel free to suggest a wiki tag unix.stackexchange.com/edit-tag-wiki/2294, since you know about it – daisy Sep 20 '12 at 1:39
  • Is there at least an OpenSource project in Linux to get something similar to VSS going in Linux? – leeand00 Sep 20 '12 at 4:06
  • @warl0ck I don't have enough rep on this site to create a quiesce tag. – leeand00 Jan 18 '15 at 16:51
  • Not sure if this is useful, but the post here: blog.liw.fi/posts/backups-6 references my question. – leeand00 Feb 15 '15 at 16:35

When you do an LVM snapshot, pending data (in kernel buffers, not applications') is flushed to disk and applications are blocked from writing while the snapshotting is ongoing. You can also freeze a FS in that same way if you're backuping the block device the FS is on by some external means (like the disk is virtual and you're backing it up on the host) using fsfreeze or xfs_aio. Filesystems that implement snapshotting (like BTRFS, NILFS, ZFS...) would do that as well. In general snapshots at those levels do guarantee that the data in the snapshot is an instant freeze of what was committed to the FS at a given time and the frozen FS is in a consistent clean state.

As for telling the applications to quiesce and flush their buffered data to the FS, there's no general framework and the last time I checked, the general consensus was that it would more likely cause harm by introducing unnecessary complexity and associated bugs than improve matters as applications should focus on having their data in consistent shape on disk in case of system/hardware crash anyway.

Some applications, like some databases can be told to quiesce like MySQL's FLUSH TABLES WITH READ LOCK.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.