ceph/doc/rbd/rbd-snapshot.rst

69 lines
2.4 KiB
ReStructuredText

==================
RBD Snapshotting
==================
One of the advanced features of RADOS block devices is that you can create
snapshots of the images to retain a history of an image's state. Ceph supports
RBD snapshots from the ``rbd`` command, from a kernel object, from a
KVM, and from cloud solutions. Once you create snapshots of an image, you
can rollback to a snapshot, list snapshots, remove snapshots and purge
the snapshots.
.. important:: To use use RBD snapshots, you must have a running Ceph cluster.
.. important:: Generally, you should stop i/o before snapshotting an image.
If the image contains a filesystem, the filesystem should be in a
consistent state before snapshotting too.
Create Snapshot
---------------
To create a snapshot with ``rbd``, specify the ``snap create`` option,
the pool name, the image name and the username. If you use ``cephx`` for
authentication, you must also specify a key or a secret file. ::
rbd --name {user-name} --keyfile=/path/to/secret --pool {pool-name} snap create --snap {snap-name} {image-name}
For example::
rbd --name client.admin --pool rbd snap create --snap foo.snapname foo
List Snapshots
--------------
To list snapshots of an image, specify the pool name, the image name, and
the username. If you use ``cephx`` for authentication, you must also
specify a key or a secret file. ::
rbd --name {user-name} --keyfile=/path/to/secret --pool {pool-name} snap ls {image-name}
For example::
rbd --name client.admin --pool rbd snap ls foo
Rollback Snapshot
-----------------
To rollback a snapshot with ``rbd``, specify the ``snap rollback`` option,
the pool name, the image name and the username. If you use ``cephx`` for
authentication, you must also specify a key or a secret file. ::
rbd --name {user-name} --keyfile=/path/to/secret --pool {pool-name} snap rollback --snap {snap-name} {image-name}
For example::
rbd --name client.admin --pool rbd snap rollback --snap foo.snapname foo
Delete a Snapshot
-----------------
To delete a snapshot with ``rbd``, specify the ``snap rm`` option,
the pool name, the image name and the username. If you use ``cephx`` for
authentication, you must also specify a key or a secret file. ::
rbd --name {user-name} --keyfile=/path/to/secret --pool {pool-name} snap rm --snap {snap-name} {image-name}
For example::
rbd --name client.admin --pool rbd snap rm --snap foo.snapname foo