Сохранение и восстановление виртуальных машин#
Чтобы освободить системные ресурсы, можно выключить ВМ, работающую в системе. Когда ВМ потребуется вновь, необходимо будет загрузить ее операционную систему и запустить приложения, что потребует времени. Чтобы сократить время простоя и позволить ускорить запуск рабочей нагрузки ВМ, можно использовать функцию сохранения и восстановления, чтобы избежать завершения работы ОС и последующей процедуры загрузки.
Принцип работы функции сохранения и восстановления виртуальных машин#
При сохранении ВМ система записывает ее содержимое памяти и состояние на диске хоста и немедленно останавливает процесс работы ВМ. Можно сохранить ВМ, которая находится в запущенном или в приостановленном состоянии, и после восстановления она вернется в то же состояние.
Данный процесс освобождает ресурсы оперативной памяти и ЦП системы хоста в обмен на дисковое пространство, что может улучшить производительность системы. При восстановлении ВМ снижается время запуска, поскольку гостевая ОС не нуждается в загрузке.
Сохранить и восстановить ВМ можно с помощью интерфейса командной строки (см. раздел «Сохранение виртуальных машин через интерфейс командной строки»).
Сохранение виртуальных машин через интерфейс командной строки#
ВМ и ее текущее состояние можно сохранить на диске хоста. Например, когда необходимо использовать ресурсы хоста для каких-либо других задач. Затем сохраненную ВМ можно восстановить до ее предыдущего рабочего состояния.
Чтобы сохранить ВМ с помощью командной строки, выполните приведенный ниже сценарий с использованием команды virsh managedsave.
Перед остановкой ВМ убедитесь, что:
на диске достаточно места для сохранения ВМ и ее конфигурации.
Примечание
Пространство, занимаемое ВМ, зависит от выделенного ей объема оперативной памяти.
ВМ существует на хосте.
Опционально. При необходимости создайте резервную копию данных ВМ.
Для остановки ВМ и сохранения ее конфигурации используйте команду:
virsh managedsave <example-vm>
Где <example-vm> - имя ВМ.
В выводе команды будет содержаться информация, что данная ВМ сохранена:
Domain '<example-vm>' saved by libvirt
Сохраненный файл ВМ по умолчанию будет размещен в каталоге /var/lib/libvirt/qemu/save как <example-vm>.save. При следующем запуске ВМ автоматически восстановит сохраненное состояние из этого файла.
Для проверки выполните следующие шаги:
Выведите список ВМ и их статусов с помощью команды:
virsh list --managed-save --allУбедитесь, что в выводе команды сохраненная ранее ВМ отмечена как
saved.
Пример возможного вывода команды virsh list --managed-save --all:
Id Name State
----------------------------------------------------
- <example-vm> saved
- <example-vm-1> shut off
В примере выше ВМ <example-vm> находится в состоянии saved. Для ВМ, отмеченных в списке как saved, включено управляемое сохранение.
Примечание
Для вывода списка сохраненных ВМ, которые находятся в выключенном состоянии, используйте в команде опции --all или --inactive.
Устранение ошибок#
Для получения списка ВМ, содержащих управляемый образ для сохранения, используйте команду:
virsh list --with-managed-save --all
Пример вывода команды:
Id Name State
----------------------------------------------------
- <example-vm> shut off
Если сохраненный файл ВМ поврежден или нечитаем, при восстановлении ВМ будет запущена ее стандартная загрузка.
Дополнительная информация может быть получена с помощью команды virsh managedsave --help.
Запуск виртуальных машин с помощью интерфейса командной строки#
С помощью командной строки можно как запустить выключенную ВМ, так и восстановить ее сохраненную. Существует возможность запускать и восстанавливать локальные и удаленные ВМ. Для запуска локальных и удаленных ВМ используется команда virsh start.
Перед запуском ВМ убедитесь, что:
существует созданная ранее неактивная ВМ.
известно ее имя.
для удаленной ВМ:
известен IP-адрес хоста, где расположена ВМ;
на хосте доступны полномочия администратора (например,
root).
Для запуска ВМ можно использовать сценарии, приведенные ниже:
Для запуска локальной ВМ введите команду:
virsh start <example-vm>Где
<example-vm>- имя локальной ВМ.В выводе команды будет содержаться информация, что данная ВМ запущена:
Domain '<example-vm>' startedДля запуска ВМ, расположенной на удаленном хосте, используйте команду
virsh startвместе с подключением QEMU+SSH к хосту:virsh -c qemu+ssh://root@<IP_address>/system start <example-vm>Где
<IP_address>- IP-адрес удаленного хоста.После ввода пароля и подключения к хосту в выводе команды будет содержаться информация о запуске ВМ:
Domain '<example-vm>' started
Дополнительную информацию можно получить, выполнив команду virsh start --help.