如何使用virsh从头开始创建VM?


24

除非您已经具有一个可用的XML文件,否则您似乎无法使用virsh创建全新的VM。

我已经安装了QEMU-KVM所需的所有必需组件,现在需要创建我的第一个VM。

如何?

提示:我没有图形!


嘿,再问一些问题。你是怎么做到的?
I_GNU_it_all_along '16

我通过检查手册页以及QEMU和KVM官方网站以及许多测试和尝试来解决了这个问题。我一直在要求手动执行所有操作,但是我已经获得了有关如何使用第三方应用程序进行操作的答案。我快完成了,并会尽快在这里发布我的工作解决方案。
EnzoR 2013年

1
@I_GNU_it_all_along您的答案是到目前为止我唯一有意义的答案。
EnzoR

1
非常感谢。抱歉,手动安装没有更多帮助。
I_GNU_it_all_along '17

1
@I_GNU_it_all_along我发现预煮的XML文件确实很烦人。如果我想理解,我认为我不是愚蠢的猿猴。基于libvrtd的内容的问题在于文档太少,每个人似乎都对黑盒方法感到满意。非常感谢。
EnzoR

Answers:


36

有相当不错的演练在这里。本质上,您要使用的工具是virt-install,如果您已经安装了QEMU-KVM所需的一切,则应该已经安装了。这是最相关的部分。

6.使用virt-install创建一个新的Guest VM

virt-install工具用于创建VM。此工具可以在交互或非交互模式下使用。

在以下示例中,我将所有创建虚拟机所需的值作为命令行参数传递给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有关您的VM的一些有效描述。例如:应用程序服务器,数据库服务器,Web服务器等。

  • os-type操作系统类型可以是Linux,Solaris,Unix或Windows。

  • os-variant上述os-type的发布类型。例如,对于linux,它可以是rhel6,centos6,ubuntu14,suse11,fedora6等。

    对于Windows,这可以是win2k,win2k8,win8,win7

  • ramVM的内存(MB)

  • vcpuVM的虚拟CPU总数。

  • disk path=/var/lib/libvirt/images/myRHELVM1.img,bus=virtio,size=10VM映像文件的存储路径。大小(以GB为单位)。在此示例中,此VM映像文件为10GB。

  • graphics none这指示virt-install在VM串行端口而不是图形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


6
奇怪的是,大多数文档中都没有提到这一点,但是当您可能只是因为没有阅读本教程时,他们假设您已经有一个运行中的VM。不管怎样,谢谢。:)
Teekin '18年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.