VK Cloud logo

Скачивание копии через личный кабинет

Резервные копии диска ВМ можно скачать не только через личный кабинет, но и с помощью OpenStack CLI и API.

1. Скачайте файлы копий

  1. Перейдите в личный кабинет VK Cloud.

  2. Перейдите в раздел Cloud Backup → Резервное копирование.

  3. Откройте нужный список резервных копий и определите копии для скачивания.

    1. Перейдите на вкладку Автоматическое.

    2. Нажмите на название нужного плана или нажмите  для нужного плана и выберите пункт Просмотр резервных копий.

    3. Нажмите для нужного инстанса на его имя или на значок  .

    4. Определите копии для скачивания.

      Название копии содержит имя диска, дату, время создания (UTC) и ее тип — полная или инкрементальная. Например, CentOS_Basic-1-1_10GB_03.10.2022_16:39_UTC_full. Тип копии отображается в столбце Резервные копии, а также его можно определить по суффиксу в имени:

      • Полные копии (суффикс _full) — достаточно скачать эту копию.
      • Инкрементальные копии (суффикс _incremental) — скачайте всю цепочку копий: базовую полную копию и все инкрементальные копии после нее до нужной.
  4. Нажмите  для нужной копии и выберите Скачать архив.

  5. Скачайте все пять файлов для каждой копии.

    В имени каждого файла указан один и тот же идентификатор копии — UUID резервной копии в сервисе Cinder. По нему можно узнать размер исходного диска через OpenStack CLI. Различается только тип файла:

    • content,
    • object_segments,
    • volume_segments,
    • sha_list,
    • volume_metadata.

    Подробнее в разделе Перенос резервных копий дисков ВМ вне VK Cloud.

  6. Дождитесь окончания скачивания.

  7. Если у нужной ВМ несколько дисков, повторите шаги для копий каждого диска.

2. Подготовьте файлы к проверке

  1. Переместите файлы каждой копии в отдельную папку.

    Если к имени файла копии добавлен ID, удалите его так, чтобы файлы назывались только по типу:

    • content,
    • object_segments,
    • volume_segments,
    • sha_list,
    • volume_metadata.

    Последующая проверка ищет файлы под такими именами. Имена папок можно выбрать произвольные, но при сборке копии указывайте папки по порядку цепочки: от полной копии к самой свежей инкрементальной.

  2. Перейдите в раздел Облачные вычисления → Диски и запишите размер в ГБ того диска, копию которого вы скачали. Он понадобится при сборке.

    В списке резервных копий в столбце Объем указан размер копии, а не диска, поэтому он для сборки не подойдет.

3. Проверьте скачанные файлы

  1. Убедитесь, что в папке каждой копии находятся все пять файлов (content, object_segments, volume_segments, sha_list и volume_metadata), выполнив команду:

    ls -l ./<ПАПКА_КОПИИ>/

    Здесь <ПАПКА_КОПИИ> — папка, в которой находятся файлы копии.

  2. Если файл content скачан частями (content1, content2 и так далее), склейте их с натуральной сортировкой:

    cat $(ls ./<ПАПКА_КОПИИ>/content[0-9]* | sort -V) > ./<ПАПКА_КОПИИ>/content

    Здесь <ПАПКА_КОПИИ> — папка, в которой находятся файлы копии.

  3. Убедитесь, что файл 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

    Здесь <ПАПКА_КОПИИ> — папка, в которой находятся файлы копии.

    Если числа не совпадают, файл скачан не полностью — скачайте копию заново.

Была ли статья полезна?