> For the complete documentation index, see [llms.txt](https://documentation.tjhsst.edu/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.tjhsst.edu/procedures/data-recovery.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
