Создать снимок диска

Снимок диска — это копия файловой системы диска на определенный момент времени.

Подготовка

Снимок диска содержит только те данные, которые были записаны на диск в момент создания снимка. Если диск подключен к работающей виртуальной машине, то кэш приложений и операционной системы не попадет в снимок.

Чтобы обеспечить целостность данных снимка:

Для Linux-систем:

  1. Остановите все операции записи на диск в приложениях.
  2. Выполните одну из команд:
    • sync для записи кэша операционной системы на диск;
    • fsfreeze -f для заморозки файловой системы. Чтобы разморозить файловую систему, выполните команду fsfreeze --unfreeze.

Для всех остальных систем:

  1. Остановите виртуальную машину (см. раздел Остановить).
  2. Дождитесь, когда статус машины изменится на STOPPED.

Создание снимка

Чтобы создать снимок диска:

  1. В консоли управления выберите каталог, в котором находится диск.

  2. Выберите сервис Compute Cloud.

  3. На странице Виртуальные машины перейдите на вкладку Диски.

  4. В строке с диском нажмите кнопку image и выберите в меню команду Создать снимок.

  5. Введите имя снимка.

    • Длина — от 3 до 63 символов.
    • Может содержать строчные буквы латинского алфавита, цифры и дефисы.
    • Первый символ — буква. Последний символ — не дефис.
  6. Если требуется, укажите произвольное текстовое описание снимка.

  7. Нажмите кнопку Создать снимок.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

  1. Посмотрите описание команд CLI для создания снимков:

    $ yc compute snapshot create --help
    
  2. Выберите диск, снимок которого необходимо создать. Получить список дисков в каталоге по умолчанию можно с помощью команды:

    $ yc compute disk list
    +----------------------+--------------+-------------+---------------+--------+----------------------+-------------------------+
    |          ID          |     NAME     |    SIZE     |     ZONE      | STATUS |     INSTANCE IDS     |       DESCRIPTION       |
    +----------------------+--------------+-------------+---------------+--------+----------------------+-------------------------+
    | a7lqgbt0bb9s40tifuhc | first-disk   | 20401094656 | ru-central1-a | READY  | a7lcvu28njbhnkcteb5n |                         |
    | a7lv5j5hm1p1hppprga7 | second-disk  | 21474836480 | ru-central1-a | READY  |                      |                         |
    +----------------------+--------------+-------------+---------------+--------+----------------------+-------------------------+
    
  3. Создайте снимок в каталоге по умолчанию:

    $ yc compute snapshot create \
        --name first-snapshot \
        --description "my first snapshot via CLI" \
        --disk-id fhm4aq4hvq5g3nepvt9b
    

    Данная команда создаст снимок диска с именем first-snapshot и описанием my first snapshot via CLI.

    • Длина — от 3 до 63 символов.
    • Может содержать строчные буквы латинского алфавита, цифры и дефисы.
    • Первый символ — буква. Последний символ — не дефис.

Если у вас ещё нет Terraform, установите его и настройте провайдер Яндекс.Облака.

  1. Опишите в конфигурационном файле параметры ресурса yandex_compute_snapshot.

    Пример структуры конфигурационного файла:

    resource "yandex_compute_snapshot" "snapshot-1" {
    
      name           = "disk-snapshot"
      source_disk_id = "<идентификатор диска>"
    }
    

    Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.

  2. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

    2. Выполните проверку с помощью команды:

      $ terraform plan
      

    Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.

  3. Разверните облачные ресурсы.

    1. Если в конфигурации нет ошибок, выполните команду:

      $ terraform apply
      
    2. Подтвердите создание ресурсов.

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

Создание снимка выполняется асинхронно. Снимок создается немедленно после команды создания и получает статус CREATING. С этого момента можно возобновить запись на диск, операции с диском не повлияют на данные в снимке.

Когда создание снимка завершено, статус снимка изменится на READY. С этого момента снимок можно использовать для создания образов, наполнения дисков и т. п.

Внимание

В Linux при создании снимка или образа сохраняются UUID и PARTUUID разделов диска. Эти данные Linux использует при монтировании разделов, в том числе корневого раздела, поэтому они должны быть уникальными. Например, если склонировать загрузочный диск и подключить его к той же виртуальной машине, на виртуальной машине появятся 2 раздела с одинаковыми UUID. В результате, после запуска ВМ, в качестве корневого раздела может быть использован не тот диск, который вы указали загрузочным.

Чтобы этого не произошло, подключите диск к ВМ и поменяйте все дублирующиеся UUID. Подробнее в инструкции про подключение диска.