# Data Recovery

## Introduction

With Ceph's RBD snapshots, we are able to restore RBD images to previous states in order to recover data.

## Ceph RBD

On a Ceph admin node, (substitute `<IMAGE NAME>` with the appropriate image path e.g. `virtual-machines/steeltoe`)

1. find the appropriate image by running `rbd ls`
2. list all the image's snapshots by running `rbd snap ls <IMAGE NAME>` and gain information about the image with `rbd info <IMAGE NAME> .`
3. disable necessary features with `rbd feature disable <IMAGE  NAME> object-map fast-diff`
4. enable layering for RBD copy-on-write (<http://docs.ceph.com/docs/master/dev/rbd-layering/>) with `rbd feature enable <IMAGE NAME> layering`
5. using the image snapshot name obtained in step 2

For example to restore an image named `virtual-machines/steeltoe` from the snapshot `20190108` :

```bash
rbd feature disable virtual-machines/steeltoe object-map fast-diff
cd /mnt
mkdir steeltoe
rbd map virtual-machines/steeltoe@20190108
mount /dev/rbd/virtual-machines/steeltoe-part1@20180108 /mnt/steeltoe
# Obtain the necessary files from /mnt/steeltoe
umount /mnt/steeltoe
rbd unmap virtual-machines/steeltoe
rbd feature enable virtual-machines/steeltoe object-map fast-diff
```

a


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.tjhsst.edu/procedures/data-recovery.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
