@@ -790,32 +790,39 @@ pinned to one of the available ranks on the file system.
790790Subvolume quiesce
791791-----------------
792792
793- It may be needed to pause IO to a set of subvolumes of a given volume (file system).
794- A good example of such case is a consistent snapshot spanning multiple subvolumes.
795- The task arises often in an orchestrated environment such as Kubernetes, where a single deployed application
796- can work with many mounted subvolumes across several hosts. When a snapshot of such a system is needed,
797- the application may not find the result consistent unless the snapshots were taken
798- during an active write pause.
793+ CephFS snapshots do not provide strong-consistency guarantees in cases involving writes
794+ performed by multiple clients, which makes consistent backups and disaster recovery a serious
795+ challenge for distributed applications. Even in a case where an application uses
796+ file system flushes to synchronize checkpoints across its distributed components, there is
797+ no guarantee that all acknowledged writes will be part of a given snapshot.
799798
800- The `volumes ` plugin provides a tool to initiate and await such a pause across a set of subvolumes:
799+ The subvolume quiesce feature has been developed to provide enterprise-level consistency guarantees
800+ for multi-client applications that work with one or more subvolumes. The feature makes it possible to pause IO
801+ to a set of subvolumes of a given volume (file system). Enforcing such a pause across all clients makes
802+ it possible to guarantee that any persistent checkpoints reached by the application before the pause
803+ will be recoverable from the snapshots made during the pause.
804+
805+ The `volumes ` plugin provides a CLI to initiate and await the pause for a set of subvolumes.
806+ This pause is called a `quiesce `, which is also used as the command name:
801807
802808.. prompt :: bash $ auto
803809
804810 $ ceph fs quiesce <vol_name> --set-id myset1 <[group_name/]sub_name...> --await
805811 # perform actions while the IO pause is active, like taking snapshots
806812 $ ceph fs quiesce <vol_name> --set-id myset1 --release --await
807- # if successful, all members of the set were confirmed as still in pause and released from such
813+ # if successful, all members of the set were confirmed as still paused and released
808814
809- The ``quiesce `` functionality is itself based on a lower level QuiesceDb service provided by the MDS
815+ The ``fs quiesce `` functionality is based on a lower level `` quiesce db `` service provided by the MDS
810816daemons, which operates at a file system path granularity.
811817The `volumes ` plugin merely maps the subvolume names to their corresponding paths on the given file system
812- and then issues the appropriate quiesce command to the MDS. You can learn more about the feature in the developer guides.
818+ and then issues the corresponding ``quiesce db `` command to the MDS. You can learn more about the low-level service
819+ in the developer guides.
813820
814821Operations
815822~~~~~~~~~~
816823
817- The IO pause (referred to as ` quiesce `) is requested for a group of one or more subvolumes (i.e. paths in a filesystem).
818- The group is referred to as " quiesce set", and every quiesce set must have a unique string id to interact with .
824+ The quiesce can be requested for a set of one or more subvolumes (i.e. paths in a filesystem).
825+ This set is referred to as ` quiesce set `. Every quiesce set is identified by a unique ` set id` .
819826A quiesce set can be manipulated in the following ways:
820827
821828* **include ** one or more subvolumes - quiesce set members
0 commit comments