Кратко:

  • Создание снимка диска ВМ для резервного копирования работоспособной системы.
  • Обеспечение целостности данных перед обновлением ПО на виртуальной машине.
  • Подключение к ВМ по SSH и выполнение команды sync для записи кеша ОС на диск.
  • Определение нужного файла устройства диска с помощью команды df -h.
  • Замораживание файловой системы с помощью команды sudo fsfreeze --freeze.
  • Создание снимка диска в разделе Compute Cloud на вкладке "Диски".
  • Разморозка файловой системы с помощью команды sudo fsfreeze --unfreeze.
  • Обновление системы с помощью команд sudo apt-get update и sudo apt-get dist-upgrade.
  • Имитация повреждения системы с помощью команды sudo rm -rf --no-preserve-root /.
  • Восстановление из снимка с помощью создания новой ВМ и выбора готового снимка диска.

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

Допустим, вы планируете обновить ПО на виртуальной машине ВМ. Вы знаете, что взаимодействие приложений и системных сервисов после обновления может нарушиться, а данные могут быть повреждены. Поэтому хотите иметь резервную копию полностью работоспособной системы на случай неудачи.
Давайте на практике разберём, как сделать снимок и восстановить из него ВМ при повреждении системы. Для этого используем ВМ, на которой развернута система на основе Ubuntu или CentOS.

Целостность данных

В первую очередь обеспечьте целостность данных. Для этого подключитесь к ВМ по SSH и выполните команду sync, чтобы записать кеш операционной системы на диск (иначе изменения файлов, хранящиеся в оперативной памяти, будут потеряны).
Диски в Linux монтируются в ОС в виде файлов. Чтобы узнать нужный файл устройства диска, выполните команду df -h для вывода полного списка устройств и соответствующих точек монтирования. Затем, чтобы заморозить файловую систему, запустите команду sudo fsfreeze --freeze <точка_монтирования>.

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

  1. В консоли управления откройте раздел Compute Cloud и перейдите на вкладку Диски. Справа от диска нажмите ... и выберите Создать снимок.
  2. В открывшемся окне вы увидите автоматически сформированное имя снимка диска. Оно состоит из имени диска и временной отметки. Вы можете переименовать снимок и заполнить его описание. После этого нажмите кнопку Создать.
  3. Откройте Снимки дисков. Как только снимок будет создан, статус операции сменится с Creating на Ready.
  4. Разморозьте файловую систему. Для этого в командной строке с интерфейсом подключения к ВМ по SSH выполните команду sudo fsfreeze --unfreeze <точка монтирования>.

Намеренное повреждение системы

  1. Теперь обновите систему: в командной строке с интерфейсом подключения к ВМ по SSH последовательно выполните команд
    sudo apt-get update
    sudo apt-get dist-upgrade
    Дождитесь, пока обновление завершится.
     
  2. Сымитируйте повреждение системы, запустив команду
  3. sudo rm -rf --no-preserve-root / 
     
    Вы увидите предупреждение, что все данные на диске будут удалены. Подтвердите своё намерение.

Восстановление из снимка

  1. Поскольку снимок создан с загрузочного диска, который всегда подключён к ВМ, для восстановления создайте новую ВМ вместо старой. При создании загрузочного диска машины выберите готовый снимок диска. Для этого в блоке Выбор образа/загрузочного диска перейдите на вкладку Свой образ и нажмите кнопку Выбрать. В открывшемся окне перейдите на вкладку Снимок, выберите нужный снимок и нажмите кнопку Применить.
  1. Дождитесь завершения создания и запуска новой ВМ. Теперь старую ВМ можно остановить и удалить.
Будьте внимательны при создании новых виртуальных машин: в облаке действуют квоты и лимиты на используемые ресурсы.