博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[zz]kvm环境使用libvirt创建虚拟机
阅读量:4317 次
发布时间:2019-06-06

本文共 2982 字,大约阅读时间需要 9 分钟。

使用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版本升级
       <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安装配置

           登录后能看到操作系统安装的初始界面,开始安装系统,安装完成即表示镜像制作完成(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 //关闭虚拟机,如果关闭不了,可以查看

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

virsh undefine test_ubuntu //删除虚拟机

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

virsh define start.xml

virsh start test_ubuntu

转载于:https://www.cnblogs.com/zhangzhang/archive/2012/02/14/2350510.html

你可能感兴趣的文章
$i++,++$i
查看>>
Knockout学习笔记之一
查看>>
Linux学习路径
查看>>
嘉奇科技
查看>>
tomcat 监听地址
查看>>
WdatePicker 日期控件- 功能及示例
查看>>
Go语言实战 - 我需要站内搜索
查看>>
软中断
查看>>
Fail to start neutron-server
查看>>
景安快运挂在磁盘-支持宝塔
查看>>
RubyMine 5.4 发布,支持 Rails 4
查看>>
强大的C# Expression在一个函数求导问题中的简单运用
查看>>
word中交叉引用不能更新的解决方法
查看>>
太过于依赖.NET默认的序列化机制
查看>>
Alpine Linux 2.5.0 发布,面向路由器、防火墙
查看>>
quotatool 1.6.2 发布,磁盘配额管理工具
查看>>
CVSps 3.8 发布,CVS 资料库更改收集
查看>>
构造函数,析构函数是否为虚函数
查看>>
Django缓存使用方法
查看>>
html布局
查看>>