Скачивание копии через личный кабинет
Резервные копии диска ВМ можно скачать не только через личный кабинет, но и с помощью OpenStack CLI и API.
-
Перейдите в личный кабинет VK Cloud.
-
Перейдите в раздел Cloud Backup → Резервное копирование.
-
Откройте нужный список резервных копий и определите копии для скачивания.
Созданные автоматическиСозданные вручную-
Перейдите на вкладку Автоматическое.
-
Нажмите на название нужного плана или нажмите
для нужного плана и выберите пункт Просмотр резервных копий.
-
Нажмите для нужного инстанса на его имя или на значок
.
-
Определите копии для скачивания.
Название копии содержит имя диска, дату, время создания (UTC) и ее тип — полная или инкрементальная. Например,
CentOS_Basic-1-1_10GB_03.10.2022_16:39_UTC_full. Тип копии отображается в столбце Резервные копии, а также его можно определить по суффиксу в имени:- Полные копии (суффикс
_full) — достаточно скачать эту копию. - Инкрементальные копии (суффикс
_incremental) — скачайте всю цепочку копий: базовую полную копию и все инкрементальные копии после нее до нужной.
- Полные копии (суффикс
-
-
Нажмите
для нужной копии и выберите Скачать архив.
-
Скачайте все пять файлов для каждой копии.
В имени каждого файла указан один и тот же идентификатор копии — UUID резервной копии в сервисе Cinder. По нему можно узнать размер исходного диска через OpenStack CLI. Различается только тип файла:
content,object_segments,volume_segments,sha_list,volume_metadata.
Подробнее в разделе Перенос резервных копий дисков ВМ вне VK Cloud.
-
Дождитесь окончания скачивания.
-
Если у нужной ВМ несколько дисков, повторите шаги для копий каждого диска.
-
Переместите файлы каждой копии в отдельную папку.
Если к имени файла копии добавлен ID, удалите его так, чтобы файлы назывались только по типу:
content,object_segments,volume_segments,sha_list,volume_metadata.
Последующая проверка ищет файлы под такими именами. Имена папок можно выбрать произвольные, но при сборке копии указывайте папки по порядку цепочки: от полной копии к самой свежей инкрементальной.
-
Перейдите в раздел Облачные вычисления → Диски и запишите размер в ГБ того диска, копию которого вы скачали. Он понадобится при сборке.
В списке резервных копий в столбце Объем указан размер копии, а не диска, поэтому он для сборки не подойдет.
-
Убедитесь, что в папке каждой копии находятся все пять файлов (
content,object_segments,volume_segments,sha_listиvolume_metadata), выполнив команду:ls -l ./<ПАПКА_КОПИИ>/Здесь
<ПАПКА_КОПИИ>— папка, в которой находятся файлы копии. -
Если файл
contentскачан частями (content1,content2и так далее), склейте их с натуральной сортировкой:cat $(ls ./<ПАПКА_КОПИИ>/content[0-9]* | sort -V) > ./<ПАПКА_КОПИИ>/contentЗдесь
<ПАПКА_КОПИИ>— папка, в которой находятся файлы копии. -
Убедитесь, что файл
contentскачан полностью. Для этого в файлеobject_segmentsвозьмите последний элемент и сравните суммуobject_offsetиobject_lengthс размером файлаcontent:python3 -I - <<'EOF'import json, osd = "./<ПАПКА_КОПИИ>"seg = json.load(open(os.path.join(d, "object_segments")))last = seg[-1]print("по карте:", last["object_offset"] + last["object_length"],"файл:", os.path.getsize(os.path.join(d, "content")))EOFЗдесь
<ПАПКА_КОПИИ>— папка, в которой находятся файлы копии.Если числа не совпадают, файл скачан не полностью — скачайте копию заново.