Кратко:
- Создание снимка диска ВМ для резервного копирования работоспособной системы.
- Обеспечение целостности данных перед обновлением ПО на виртуальной машине.
- Подключение к ВМ по 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 <точка_монтирования>
.Создание снимка
-
В консоли управления откройте раздел Compute Cloud и перейдите на вкладку Диски. Справа от диска нажмите
...
и выберите Создать снимок. -
В открывшемся окне вы увидите автоматически сформированное имя снимка диска. Оно состоит из имени диска и временной отметки. Вы можете переименовать снимок и заполнить его описание. После этого нажмите кнопку Создать.
-
Откройте Снимки дисков. Как только снимок будет создан, статус операции сменится с
Creating
наReady
. -
Разморозьте файловую систему. Для этого в командной строке с интерфейсом подключения к ВМ по SSH выполните команду
sudo fsfreeze --unfreeze <точка монтирования>
.
Намеренное повреждение системы
-
Теперь обновите систему: в командной строке с интерфейсом подключения к ВМ по SSH последовательно выполните команд
sudo apt-get update sudo apt-get dist-upgrade
Дождитесь, пока обновление завершится.⚠️ Важно! Перед выполнением следующей команды убедитесь в том, что находитесь в консоли именно тестовой ВМ. -
Сымитируйте повреждение системы, запустив команду
-
Вы увидите предупреждение, что все данные на диске будут удалены. Подтвердите своё намерение.
Восстановление из снимка
-
Поскольку снимок создан с загрузочного диска, который всегда подключён к ВМ, для восстановления создайте новую ВМ вместо старой. При создании загрузочного диска машины выберите готовый снимок диска. Для этого в блоке Выбор образа/загрузочного диска перейдите на вкладку Свой образ и нажмите кнопку Выбрать. В открывшемся окне перейдите на вкладку Снимок, выберите нужный снимок и нажмите кнопку Применить.
- Дождитесь завершения создания и запуска новой ВМ. Теперь старую ВМ можно остановить и удалить.
Будьте внимательны при создании новых виртуальных машин: в облаке действуют квоты и лимиты на используемые ресурсы.