Поиск по сайту:

Как переименовать гостевую виртуальную машину KVM

Из этого туториала вы узнаете, как переименовать гостевую виртуальную машину KVM из командной строки в Linux. У меня на KVM-сервере работает несколько виртуальных машин с разными версиями Linux. Для удобства я всегда называю каждую виртуальную машину версией ОС или приложением, которое в данный момент работает на этой виртуальной машине. Например, если виртуальная машина работает с минимальной версией CentOS 8, я бы назвал ее «centos8». Если Веб-сервер Apache установлен на виртуальной машине CentOS 8, то имя гостя KVM будет «apache_centos8» и так далее. Сегодня я хотел бы протестировать Nginx на виртуальной машине CentOS 8, поэтому переименовал его в «nginx_centos8», как описано ниже.

Переименование гостевой виртуальной машины KVM в Linux

Мы можем изменить имя виртуальной машины на KVM с помощью утилиты командной строки virsh двумя способами:

  • Используя команду «domrename»,
  • Изменение XML-файла конфигурации виртуальной машины вручную.

Сначала мы увидим, как переименовать виртуальную машину KVM с помощью команды «virsh domrename».

1. Переименуйте виртуальную машину KVM, используя «virsh domrename».

Команда virsh domrename используется для переименования домена. Эта команда меняет текущее имя домена на новое, не внося никаких изменений в файлы конфигурации.

Типичное использование команды «virsh domrename»:

virsh domrename <old-name> <new-name>

Обратите внимание, что домен должен быть неактивен и не иметь снапшотов и контрольных точек.

Сначала убедитесь, что гостевая виртуальная машина KVM выключена.

virsh list --all

Пример вывода:

 Id   Name           State
-------------------------------
 -    centos8        shut off
 -    centos8-uefi   shut off

Как видите, у меня есть два гостя KVM, и оба они выключены.

Если виртуальная машина запущена, просто выключите ее с помощью команды:

virsh shutdown centos8

Теперь я собираюсь переименовать гостевую машину «centos8» в «nginx_centos8», используя команду «domrename», как показано ниже:

virsh domrename centos8 nginx_centos8

После успешного переименования вы должны увидеть вывод, подобный приведенному ниже:

Domain successfully renamed

Теперь проверьте, действительно ли имя виртуальной машины было изменено или нет:

virsh list --all

Пример вывода:

 Id   Name            State
--------------------------------
 -    centos8-uefi    shut off
 -    nginx_centos8   shut off

Вы также можете проверить это из приложения Virt-manager.

Откройте Virt-manager, дважды щелкните виртуальную машину, а затем щелкните значок Показать сведения о виртуальном оборудовании в строке меню. Вы увидите имя виртуальной машины в разделе Обзор.

Вот и все. Мы успешно переименовали виртуальную машину с именем «centos8» в «nginx_centos8». Это всего лишь однострочная команда, которую очень легко запомнить.

Далее мы рассмотрим способ вручную, который требует некоторого редактирования XML-файла конфигурации виртуальной машины.

2. Переименуйте виртуальную машину KVM, изменив ее XML-файл.

Убедитесь, что виртуальная машина, которую вы собираетесь переименовать, выключена.

virsh list --all

Если виртуальная машина в данный момент работает, просто выключите ее с помощью команды:

virsh shutdown centos8

Теперь экспортируйте детали конфигурации старого домена (VM) в новый домен с помощью команды:

virsh dumpxml centos8 > nginx_centos8.xml

Приведенная выше команда скопирует старую конфигурацию в новый файл конфигурации с именем «nginx_centos8.xml» и сохранит его в текущем каталоге.

Отмените определение старого домена, т.е. удалите существующую старую конфигурацию домена:

virsh undefine centos8

Пример вывода:

Domain centos8 has been undefined

Отредактируйте новый файл конфигурации с помощью предпочитаемого вами текстового редактора:

nano nginx_centos8.xml

Перейдите в поле и измените его по своему желанию:

domain type='kvm'>
  <name>nginx_centos8</name>
  <uuid>270437c4-8dfb-40d1-a2d1-c497015c0f22</uuid>
  <metadata>
[...]

Определите новую виртуальную гостевую машину KVM с помощью нового файла конфигурации XML:

virsh define nginx_centos8.xml

Пример вывода:

Domain nginx_centos8 defined from nginx_centos8.xml

Наконец, запустите новую гостевую машину с новой конфигурацией XML:

virsh start nginx_centos8

Пример вывода:

Domain nginx_centos8 started

Убедитесь, что новая виртуальная машина KVM работает:

virsh list --all

Пример вывода:

 Id   Name            State
--------------------------------
 2    nginx_centos8   running
 -    centos8-uefi    shut off

Вы также можете проверить это из графического интерфейса Вирт-менеджера, как описано в предыдущем разделе.

Надеюсь, поможет.

Статьи по данной тематике