The Benefits of File-Level RecoveryFile-level recovery allows you to recover a single image file or database file rather than an entire volume or instance. File-level recovery can also be beneficial if you only want to validate that the volume you are interested in recovering actually contains the files you need to restore. Another good use case for file-level recovery is when you need to access the file level of your environment in order to recover a specific database or log file and use it to quickly recover a running database.
However, as mentioned above, with EBS snapshot-based block-level backups and recovery, you can only recover a single volume, a few volumes, or an entire instance by using the AWS UI console, APIs or 3rd party solution. Nevertheless, automated file-level recovery can be a very efficient and quick operation when performed on EBS volumes due to their inherent snapshot block level recovery efficiency. Learn how EBS snapshot backup and recovery works.
Step-by-Step Manual File-Level RecoveryIn many cases, enterprise operations teams hold multiple scripts, some of which are used to automate backup and recovery to increase the robustness of their deployment. Here, we will guide you through the process in order to enable you to drill into EBS snapshots and find the correct file to recover:
- To start, you need an instance to attach your snapshot to (either launch a new one or use an existing EC2 instance).
- Next, find the EBS snapshot that you need and create a volume of it in the same Availability Zone (AZ) as the abovementioned instance (you can only attach it to an instance in the same AZ).
- Attach the volume to the instance and make sure that you use a correct device name. Once it's attached, go into the instance's OS (save yourself some headaches down the line by using the original instance’s OS) and mount the volume. With Windows, this can be done with a disk manager, and in Linux, this can be done with the mount command.
Once these three simple steps are completed and the volume is mounted, you can access data (a.k.a., files) from within the instance.
After you finish the file-level restore, it’s time to clean up the mess. First, close any windows or processes that are open on the volume, then unmount the volume and detach it from the instance. You probably could detach the volume while it's still mounted, but that may cause problems in the OS. Once you detach the volume, delete it so it doesn't cost you extra.
Although it is a fairly basic and simple process, you still may encounter problems along the way. For example, permissions could be an issue, though with root or administrative permissions for the particular instance you're working with, you should be able to access any and everything. While it's unlikely to occur in manual processes, as mentioned above, you may run into issues if you attach your instance to a different OS, which could result in having no ability to see the files on the volume at all, unless you install special software. Linux supports NTFS, but in read only mode, and it can sometimes cause problems depending on the versions of Linux or NTFS.
While manual file-level recovery is a simple process, it might involve a good number of steps, which could make it quite cumbersome, especially if you need to recover files on a more regular basis, or if you need to recover files from multiple volumes.
Additionally, in some cases, you will need to recover more than one file, or files from more than one volume, which turns into double the amount of work, or more. You might want to consider automating the file-level recovery process or simply use CPM.
CPM for File-Level Recovery EaseCPM 2.0 is now available with several new features, including pain-free file-level recovery. You can now recover an instance, volume, or simply look through a volume and recover specific files using CPM. In a nutshell, CPM performs the tasks outlined above behind the scenes for you so you can quickly and easily locate the files that need to be recovered.