Как создать ВМ с нуля с помощью virsh?

24

Похоже, что вы не можете создать совершенно новую виртуальную машину с помощью virsh, если у вас уже нет работающего XML-файла.

Я только что установил все необходимые биты для работы QEMU-KVM, и теперь мне нужно создать свою самую первую виртуальную машину.

Как?

Подсказка: у меня нет графики!

Энвезор
источник
Эй, просто возвращаюсь к некоторым вопросам. Как ты справился с этим?
I_GNU_it_all_along
Я решил проблему, проверив страницы руководства и официальные веб-сайты QEMU и KVM, а также ряд тестов и попыток. Я просил сделать все вручную, вместо этого у меня есть ответы о том, как это сделать с помощью сторонних приложений. Я почти закончил и опубликую свои рабочие решения также здесь как можно скорее.
EnzoR
1
@I_GNU_it_all_along Ваш единственный единственный ответ / комментарий, который я получил до сих пор.
EnzoR
1
Большое спасибо. Извините, я не мог больше помочь с ручной установкой.
I_GNU_it_all_along
1
@I_GNU_it_all_along Я обнаружил, что готовые XML-файлы действительно раздражают. Я не думаю, что я глупая обезьяна, если я хочу понять. Проблема с содержимым на основе libvrtd заключается в том, что документации слишком мало, и всем кажется достаточно удобным подход «черного ящика». Большое спасибо.
EnzoR

Ответы:

36

Существует довольно хорошее прохождение игры здесь . По сути, инструмент, который вы хотите использовать, - это virt-install, который у вас уже должен быть, если вы установили все необходимое для QEMU-KVM. Вот самый актуальный раздел.

6. Создание новой гостевой виртуальной машины с помощью virt-install

Инструмент virt-install используется для создания виртуальной машины. Этот инструмент можно использовать как в интерактивном, так и в неинтерактивном режиме.

В следующем примере я передал все необходимые значения для создания виртуальной машины в качестве параметров командной строки команде virt-install.

# virt-install \
-n myRHELVM1 \
--description "Test VM with RHEL 6" \
--os-type=Linux \
--os-variant=rhel6 \
--ram=2048 \
--vcpus=2 \
--disk path=/var/lib/libvirt/images/myRHELVM1.img,bus=virtio,size=10 \
--graphics none \
--cdrom /var/rhel-server-6.5-x86_64-dvd.iso \
--network bridge:br0

В приведенной выше команде virt-install параметры имеют следующее значение:

  • n: Имя вашей виртуальной машины

  • description: Некоторое правильное описание вашей виртуальной машины. Например: сервер приложений, сервер базы данных, веб-сервер и т. Д.

  • os-typeТип операционной системы : Linux, Solaris, Unix или Windows.

  • os-variant: Тип распространения для вышеуказанного типа ОС. Например, для Linux это может быть rhel6, centos6, ubuntu14, suse11, fedora6 и т. Д.

    Для Windows это может быть win2k, win2k8, win8, win7

  • ram: Память для ВМ в МБ

  • vcpu: Общее количество виртуальных процессоров для виртуальной машины.

  • disk path=/var/lib/libvirt/images/myRHELVM1.img,bus=virtio,size=10: Путь , где файлы изображений VM хранится. Размер в ГБ. В этом примере этот файл образа виртуальной машины имеет размер 10 ГБ.

  • graphics none: Это дает команду virt-install использовать текстовую консоль на последовательном порту виртуальной машины вместо графического окна VNC. Если у вас настроен xmanager, вы можете игнорировать этот параметр.

  • cdrom: Указывает расположение установочного образа. Вы можете указать место установки NFS или http (вместо –-cdrom). Например: --location=http://.com/pub/rhel6/x86_64/*

  • network bridge:br0: В этом примере используется мостовой адаптер br0. Также возможно создать собственную сеть на любом конкретном порту вместо мостового адаптера.

    Если вы хотите использовать NAT, то используйте параметр сети, как показано ниже, с именем виртуальной сети, известным как VMnetwork1. Все файлы конфигурации сети находятся в / etc / libvirt / qemu / networks / для виртуальных машин. Например:

    –-network network=VMnetwork1

I_GNU_it_all_along
источник
6
Довольно странно, что это не упоминается в большинстве документов, а скорее они предполагают, что у вас уже есть работающая ВМ, когда вы, вероятно, читаете учебник именно потому, что у вас его нет. В любом случае, спасибо. :)
Текин