`

使用libvirt的xml配置文件创建虚拟机

 
阅读更多
kvm支持的镜像很多,常用的是原始镜像(*.img),还有支持动态大小扩张的qocw2格式(首选)。

更优的选择是系统盘如C盘用img格式,数据盘用qcow2格式以减少服务器磁盘闲置空间。

本文仅记录如何用ubuntu.iso制作系统镜像ubuntu.qcow2并创建启动虚拟机

一、制作虚拟机镜像

1、创建qcow2镜像,但是其实际占有磁盘大小仅为193K左右,而虚拟机内部显示磁盘大小为10G,也就是磁盘空间使用时才分配,即所谓动态扩张。

      qemu-img create -f qcow2 ubuntu.qcow2 10G    

2、下载并复制ubuntu的iso镜像到指定目录,本文将所有镜像及配置文件放到 /home/createvm 目录下

     2.1  创建配置文件setup.xml,内容如下

<domain type='kvm'>
    <name>test_ubuntu</name>                     //虚拟机名称
    <memory>1048576</memory>                  //最大内存
    <currentMemory>1048576</currentMemory>    //可用内存
    <vcpu>1</vcpu>                                                      //虚拟cpu个数
    <os>
      <type arch='x86_64' machine='pc'>hvm</type>
      <boot dev='cdrom'/>                                           //光盘启动
   </os>
   <features>
     <acpi/>
     <apic/>
     <pae/>
   </features>
   <clock offset='localtime'/>
   <on_poweroff>destroy</on_poweroff>
   <on_reboot>restart</on_reboot>  
   <on_crash>destroy</on_crash>
   <devices>
     <emulator>/usr/libexec/qemu-kvm</emulator>
     <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>            //此处关键,要求libvirt版本至少应该在0.9以上才能支持,libvirt版本升级http://blog.csdn.net/gg296231363/article/details/6891460
       <source file='/home/createvm/ubuntu.qcow2'/>         //目的镜像路径
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <source file='/home/createvm/ubuntu.iso'/>              //光盘镜像路径
       <target dev='hdb' bus='ide'/>
     </disk>
    <interface type='bridge'>                                               //虚拟机网络连接方式
      <source bridge='br0'/>
      <mac address="00:16:3e:5d:aa:a8"/>    //为虚拟机分配mac地址,务必唯一,否则dhcp获得同样ip,引起冲突
    </interface>
    <input type='mouse' bus='ps2'/>
     <graphics type='vnc' port='-1' autoport='yes' listen = '0.0.0.0' keymap='en-us'/>//vnc方式登录,端口号自动分配,自动加1
   </devices>
</domain>

    2.2 virsh define setup.xml       //创建虚拟机 查看当前系统所有的虚拟机信息:virsh list --all

    2.3 virsh start  test_ubuntu    //启动虚拟机

    2.4 virsh vncdisplay test_ubuntu   //查看虚拟机的vnc端口

    2.5 使用vnc登录虚拟机,vnc安装配置http://blog.csdn.net/gg296231363/article/details/6899655

           登录后能看到操作系统安装的初始界面,开始安装系统,安装完成即表示镜像制作完成(ubuntu.qcow2)。

二、使用制作好的虚拟机镜像启动虚拟机

1 创建文件start.xml,内容如下:

<domain type='kvm'>
<name>test_ubuntu</name>
<memory>1048576</memory>
<currentMemory>1048576</currentMemory>
<vcpu>1</vcpu>
<os>
<type arch='x86_64' machine='pc'>hvm</type>
<boot dev='hd'/>     //即harddisk,从磁盘启动
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='localtime'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/home/createvm/ubuntu.qcow2'/> //目的镜像路径
<target dev='hda' bus='ide'/>
</disk>
<disk type='file' device='cdrom'>
<source file='/home/createvm/ubuntu.iso'/> //光盘镜像路径
<target dev='hdb' bus='ide'/>
</disk>
<interface type='bridge'>
<source bridge='br0'/>
<mac address="00:16:3e:5d:aa:a8"/>
</interface>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes' keymap='en-us'/>

</devices>
</domain>



2 同一台服务器上当然不能有两台同名的虚拟机,第一步创建的虚拟机为制作镜像使用,可以功成身退。

virsh shutdown test_ubuntu //关闭虚拟机,如果关闭不了,可以查看http://blog.csdn.net/gg296231363/article/details/6891380

virsh destory test_ubuntu  //强制关闭虚拟机

virsh undefine test_ubuntu //删除虚拟机

3 使用制作好的镜像和start.xml配置文件来创建并启动虚拟机。

virsh define start.xml

virsh start test_ubuntu





========================================
ps:Domain domain = kvmConn.domainCreateXML(domainXml, 0)
根据xml配置文件创建安装虚拟机实例
分享到:
评论

相关推荐

    Libvirt创建虚拟机的xml中部分参数解析--Domain vcpu numa

    本篇文章将聚焦于Libvirt创建虚拟机时XML配置文件中的“Domain vcpu numa”参数,深入解析其含义和作用。 “Domain vcpu numa”参数主要涉及到虚拟机的CPU分配和NUMA(Non-Uniform Memory Access,非一致性内存访问...

    使用libvirt管理kvm虚拟机.txt

    当创建或编辑了一个KVM的XML配置文件后,可以使用virsh工具来创建KVM虚拟机。 ```bash virsh define ``` 示例: ```bash virsh define /usr/local/kvm/centvm3.xml ``` 此命令会将指定的XML配置文件...

    申威平台libvirt使用指南

    libvirt使用XML配置文件来描述虚拟机的配置信息。XML配置文件由多个元素组成,每个元素都有其特定的含义。下面是XML配置文件的基本格式: * 根元素domain:表示虚拟机的根元素。 * 标签name:表示虚拟机的名称。 * ...

    Libvirt虚拟化技术介绍.pdf

    virsh命令行工具可以使用Libvirt XML配置文件来管理虚拟机。Libvirt XML配置文件包括-domain、-network、-storage等几个部分,分别定义虚拟机、网络、存储的配置信息。 Libvirt虚拟化技术的应用非常广泛,包括...

    terraform-libvirt-demo:使用Terraform将libvirt虚拟机部署为代码

    在"terraform-libvirt-demo"项目中,我们将学习如何设置Terraform配置文件来创建libvirt虚拟机。这个项目通常会包含以下核心文件: 1. `main.tf`:这是Terraform的主配置文件,它定义了libvirt provider、虚拟机...

    KVM virsh命令管理虚拟机

    创建虚拟机的过程主要涉及编写XML配置文件,该文件描述了虚拟机的硬件配置和启动参数。例如,需要指定虚拟机的名称、内存大小、CPU数量、硬盘设置、光驱配置、网络配置以及VNC访问信息等。virsh命令通过解析这些XML...

    libvirt-1.3.5.tar.gz

    使用libvirt,你可以通过XML描述文件定义虚拟机的配置,包括CPU、内存、磁盘、网络等方面。libvirt的`virsh`命令行工具可以方便地进行XML文件的编辑和导入,实现虚拟机的创建和更新。此外,libvirt还支持热添加资源...

    Libvirt虚拟化技术介绍.pptx

    Libvirt 使用 XML 配置文件来存储虚拟机的配置信息。这些配置文件包括: * 域配置文件:用于存储虚拟机的配置信息。 * 存储池配置文件:用于存储存储池的配置信息。 * 网络配置文件:用于存储网络的配置信息。 ...

    KVM虚拟机创建功能详细讲解.doc

    * `create`从XML配置文件生成客户端并启动新客户端 * `start`启动未激活的客户端 * `destroy`强制客户端停止 * `define`为客户端输出XML配置文件 * `domid`显示客户端ID * `domuuid`显示客户端UUID * `dominfo`显示...

    快速创建rhel7虚拟机所需配置文件

    这是快速创建虚拟机所需的xml文件,要和.rh7_template.img一起放在/var/lib/libvirt/images目录下,最后执行create-vm-auto.sh即可

    KVM-virsh的基本命令.docx

    使用virsh define命令可以用XML文件创建虚拟机,例如:virsh define /etc/libvirt/qemu/node6.xml。 17. 移除虚拟机 使用virsh undefine命令可以移除虚拟机,例如:virsh undefine i-2-11-VM。 这些命令只是KVM-...

    day5kvm虚拟机管理

    使用 `virsh dumpxml &lt;虚拟机名称&gt;` 命令可以查看虚拟机的配置文件信息。 11. 添加新的虚拟机 使用 `virsh define &lt;XML 描述文件&gt;` 命令可以添加新的虚拟机。 12. 删除虚拟机定义 使用 `virsh undefine &lt;虚拟机...

    KVM虚拟机管理(使用virt-manager和virsh)

    * virsh create x.xml:创建虚拟机 * virsh suspend x:暂停虚拟机 * virsh resume x:启动暂停的虚拟机 * virsh shutdown x:正常关闭虚拟机 * virsh destroy x:强制关闭虚拟机 * virsh dominfo x:显示虚拟机的...

    Libvirt命令大全

    - **create**:从XML文件创建虚拟机。 - **define**:从XML文件定义(但不启动)虚拟机。 - **desc**:显示或设置虚拟机的描述或标题。 - **destroy**:销毁(停止)虚拟机。 - **detach-device**:从XML文件分离...

    libvirt-test-API

    - **global.cf 环境配置文件**: 设置默认值。 - **libvirt-test-api 主函数**: 执行测试流程。 - **utils 目录**: 提供各种脚本辅助创建和验证测试用例。 - **scripts 目录**: 可用于在指定的 Fedora 16 系统上安装 ...

    树莓派4B+x86_openEuler+qemu+aarch64_openEuler

    完成以上步骤后,使用`virsh define`命令导入XML配置文件创建虚拟机,然后使用`virsh start`命令启动虚拟机。至此,你就成功地在树莓派4B上创建并运行了一个基于aarch64架构的openEuler虚拟机。 这个过程不仅展示了...

    Python库 | libvirt_vmcfg-0.0.3-py2.py3-none-any.whl

    1. **虚拟机配置读写**:可以读取和修改虚拟机的XML配置文件,这在需要动态调整虚拟机设置时非常有用。 2. **虚拟机生命周期管理**:启动、停止、重启虚拟机,以及检查虚拟机的状态。 3. **网络配置**:创建、修改...

    OpenStack.pdf

    Libvirt 的角色:Libvirt 调用 QEMU 创建虚拟机进程,在配置 Libvirt XML 文件的时候需要指定 CPU Model 和 VendorID,把这些参数传递给 QEMU,虚拟机才能正常启动。 NOVA 组件的角色:Openstack NOVA 组件调用 ...

Global site tag (gtag.js) - Google Analytics