Восстановить EC2 данных с AWS snapshot-а
У меня появилась новая, интересная статья о том как можно восстановить данные из созданного снапшота на AWS машине. Как известно, AWS делает слепки полного EC2 раздела и чтобы достать нужный файл ( данные) — стоит немного попотеть.
Заходим в EC2 Dashboard ищем в левом меню поле «Snapshots» и нажимаем на него. По центу необходимо выбрать поиск по интересующему полю( имени проекта и т.д и тп.). Пример моего поиска внизу:
Нажимаем по нужному снапшоту правой клавишей мыши и выбираем «Create Volume»:
Я ничего не менял и оставил как есть ( но можно изменить Avaliability Zone и Volume Type по желанию). После этого, нажимаем на «Create» кнопку. Потребуется некоторое время на создание данного раздела, по завершению операции увидим что-то подобное:
Я в новой вкладке открыл созданный мною раздел. Сейчас нужно присоединить данный раздел к имеющимися инстенсу (машине). Для этого, нужно нажать по нему правой мышкой и выбрать «Attach Volume»:
Сейчас нужно будет выбрать куда присоединять данный раздел и для него прописать необходимое устройство:
И так, в поле «Instance» необходимо прописать имея машины к который нужно будет приатачить раздел. Мною был выбран некоторый тестовый инстенс.
В поле «Device» нужно прописать устройство, я ничего не менял и оставил как мне предлагает AWS по умолчанию. После чего, жмакаем по «Attach».
Большая часть пути уже пройдена — осталось только примонтировать раздел непосредственно в ОС данной машине где производилось присоединение волюмы. Для того чтобы это сделать, стоит подключится к серверу через консоль:
# ssh your_user@your_host_or_IP
Чтобы убедится что раздел видел ОС — выполняем:
[root@Recovery-2A vnatarov]# sudo file -s /dev/xvdg /dev/xvdg: x86 boot sector; partition 1: ID=0xee, starthead 0, startsector 1, 209715199 sectors, extended partition table (last)\011, code offset 0x0 [root@Recovery-2A vnatarov]# sudo file -s /dev/xvdg1 /dev/xvdg1: Linux rev 1.0 ext4 filesystem data, UUID=6044a3df-3926-45a3-a92c-43b17e707959 (needs journal recovery) (extents) (64bit) (large files) (huge files)
Или:
[root@Recovery-2A vnatarov]# fdisk -l Disk /dev/xvda: 10.7 GB, 10737418240 bytes, 20971520 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000af122 Device Boot Start End Blocks Id System /dev/xvda1 * 2048 20971519 10484736 83 Linux Disk /dev/xvdf: 107.4 GB, 107374182400 bytes, 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion. Disk /dev/xvdg: 107.4 GB, 107374182400 bytes, 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: gpt # Start End Size Type Name 1 2048 209713151 100G Microsoft basic primary [root@Recovery-2A vnatarov]#
Видим что все имеется и готово к монтированию. Чтобы смонтировать, выполните:
[root@Recovery-2A vnatarov]# mount /dev/xvdg1 /mnt/recovery/ [root@Recovery-2A vnatarov]#
Где,
- /dev/xvdg1 — монтируемый раздел.
- /mnt/recovery — место куда будет смонтирован раздел
И после этого, можно проверять что все корректно работает:
[root@Recovery-2A vnatarov]# ls -alh /mnt/recovery/ total 32K drwxr-xr-x 6 root root 4.0K Jan 10 03:46 . drwxr-xr-x. 3 root root 21 Jan 23 14:15 .. drwxr-xr-x 3 root root 4.0K Sep 20 07:55 html drwxr-xr-x 2 root root 4.0K Jan 10 03:46 locks drwx------ 2 root root 16K Sep 9 12:21 lost+found drwxr-xr-x 4 root root 4.0K Jan 10 03:56 nfs [root@Recovery-2A vnatarov]#
Сейчас можно скопировать данные, запаковать их и отправить на нужный сервер ( как было в моем случае, т.к машинка была тестовой). Но можно, непосредственно использовать рабочую машину и работать внутри ее — это как будет удобно.