openstack成长之旅 - 番外篇

本文番外篇主要是讲解下Libvirt配置文件,详细介绍下配置文件中的各个参数,本文可简单看下,也可以略过,但是强烈建议还是仔细看下的好。

<domain type=‘kvm‘>     #使用的kvm虚拟化技术
  <name>%VM_NAME%</name>    #定义虚拟机的名字,在同一台物理机上的虚拟机的名字是唯一的
  <uuid>%UUID%</uuid>       #定义虚拟机的UUID,在同一台物理机上,uuid也必须是唯一的,可以使用uuidgen命令来生成,每次的生成都是不一样的
  <memory>1048576</memory>  #虚拟机内存信息,通常是KB为单位
  <currentMemory>1048576</currentMemory>  #为了方便管理这里要和上面的memory一致
  <vcpu>1</vcpu>  #分配虚拟机CPU个数,所有虚拟机的总和可以大于虚拟CPU数目,但是为导致虚拟机的运算性能下降
  <os>      #os 里面主要包含类型、启动信息两部分
    <type arch=‘x86_64‘ machine=‘pc-0.14‘>hvm</type>   #arch=‘x86_64‘指明了系统架构是x86_64的,machine=‘pc-0.14‘指明了使用的机器类型(qemu-system-x86_64 -M ?,可以查看支持的机器类型,通常学则default对应的类型)
    <boot dev=‘hd‘/>  #首选hard disk 作为启动介质,也可以设置为别的如:cdrom,floppy等
    <bootmenu enable=‘yes‘/>   #开启启动菜单,no就是关闭
  </os>
  <cpu match=‘exact‘>   #CPU类型介绍
   <model>core2duo</model>
   <feature policy=‘require‘ name=‘vmx‘/>
  </cpu>
  <features>
    <acpi/>  #高级配置及电源接口
    <apic/>  #高级可变成中断控制器
    <pae/>   #物理地址扩展
  </features>
  <clock offset=‘localtime‘/> #描述了时钟设置,在这里直接使用本地本机时间
  <on_poweroff>destroy</on_poweroff> #当发生poweroff的时候,直接destroy虚拟机
  <on_reboot>restart</on_reboot>     #当发生reboot和crash的时候,会采取自动重启操作,你也可以根据自己的需求自定义
  <on_crash>restart</on_crash>
  <devices>  #所有的虚拟外设都包括在 devices 中
    <emulator>/usr/bin/kvm</emulator>   #这里定义的是使用什么hypervisor,这里使用的是KVM,若是Xen的话,就是/usr/lib/xen/bin/qemu-dm
    <disk type=‘file‘ device=‘disk‘>  #这里<disk></disk>定义的是一个整体,定义的是一个完整的虚拟磁盘
      <driver name=‘qemu‘ type=‘qcow2‘ cache=‘none‘/>  #指明使用的images驱动为qemu,并且格式为raw格式 
      <source file=‘%IMAGE_PATH%‘/>   #指明了使用的images的路径,需要使用全路径
      <target dev=‘vda‘ bus=‘virtio‘/>   #指明了添加的images作为第几个硬盘,bus表示所使用的磁盘驱动类型
      <alias name=‘virtio-disk0‘/>  #设置别名
    </disk>

    <disk type=‘file‘ device=‘disk‘>
      <driver name=‘qemu‘ type=‘raw‘ cache=‘none‘/>
      <source file=‘%RAW_DISK_PATH%‘/>
      <target dev=‘vdb‘ bus=‘virtio‘/>
      <address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x08‘ function=‘0x0‘/>  #描述了images所使用的pci地址,此行可以忽略
    </disk>

    <controller type=‘ide‘ index=‘0‘>
      <address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x01‘ function=‘0x1‘/>
    </controller>
    <controller type=‘fdc‘ index=‘0‘/>
    
	#虚拟网络设置,基于网桥
    <interface type=‘bridge‘>
      <mac address=‘%MAC%‘/>
      <source bridge=‘br100‘/>
      <target dev=‘vnet0‘/>
      <alias name=‘net0‘/>
      <address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x03‘ function=‘0x0‘/>
    </interface>
    #虚拟网络设置,基于虚拟局域网配置
    <interface type=‘network‘>
      <mac address=‘%MAC2%‘/> <!-- 192.168.222.%IP1% -->
      <source network=‘default‘/>
      <target dev=‘vnet1‘/>
      <alias name=‘net1‘/>
      <address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x06‘ function=‘0x0‘/>
    </interface>
    #虚拟网络设置,基于虚拟局域网配置
    <interface type=‘network‘>
      <mac address=‘%MAC3%‘/> <!-- 192.168.111.%IP2% -->
      <source network=‘default‘/>
      <target dev=‘vnet2‘/>
      <alias name=‘net2‘/>
      <address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x09‘ function=‘0x0‘/>
    </interface>

    #串行接口信息可以不用修改
    <serial type=‘pty‘>
      <target port=‘0‘/>
    </serial>
    <console type=‘pty‘>
      <target type=‘serial‘ port=‘0‘/>
    </console>
    <input type=‘tablet‘ bus=‘usb‘/>
    <input type=‘mouse‘ bus=‘ps2‘/>   #注意更改VNC端口如下
    <graphics type=‘vnc‘ port=‘5900‘ autoport=‘yes‘ listen=‘0.0.0.0‘ keymap=‘en-us‘>
      <listen type=‘address‘ address=‘0.0.0.0‘/>
    </graphics>
    <sound model=‘ich6‘> #从此往下的内容可以不用修改
      <address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x04‘ function=‘0x0‘/>
    </sound>
    <video>
      <model type=‘vga‘ vram=‘9216‘ heads=‘1‘/>
      <address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x02‘ function=‘0x0‘/>
    </video>
    <memballoon model=‘virtio‘>
      <address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x05‘ function=‘0x0‘/>
    </memballoon>
  </devices>
</domain>
    
    若你发现配置文件中有地方说的不对,烦请告知哈,非常感谢!
时间: 2024-10-22 20:58:33

openstack成长之旅 - 番外篇的相关文章

设计牛人——设计入门答疑番外篇有感

看了老牛(牛MO王)的U1番外篇问答感慨非常多,事实上自己也算不上入门非常久的大师,只是有时间去整理整理自己在网页设计方面的经验分享给大家是一件非常好的事情,尤其是对一些想做设计或者想在设计方面转行的人,我想应该是非常有帮助的,由于常常遇到这样让人无奈的问题:我是新手,有什么好的建议?从什么方面入手?怎么開始?类似这种问题总让人认为非常难回答,要真说的话有非常多非常多要说的,真要学的话,网络资源如此发达,建议小伙伴们自己去网络寻找,如今有非常多好心人在互联网上发表分享文章,假设你真的有心,就自己

编程珠玑番外篇

1.Plan 9 的八卦 在 Windows 下喜欢用 FTP 的同学抱怨 Linux 下面没有如 LeapFTP 那样的方便的工具. 在苹果下面用惯了 Cyberduck 的同学可能也会抱怨 Linux 下面使用 FTP 和 SFTP 是一件麻烦的事情. 其实一点都不麻烦, 因为在 LINUX 系统上压根就不需要用 FTP. 为什么呢? 因为一行简单的配置之后, 你就可以像使用本机文件一样使用远程的任何文件. 无论是想编辑, 查看还是删除重命名, 都和本机文件一样的用. 这么神奇的功能到底如何

(apache+tomcat集群+memcached番外篇)单台tomcat的session信息的2种持久化方式

为什么要实现搭建tomcat集群环境呢?主要因为单个tomcat无论从吞吐量和并发数上,会达到一定的极限.如果访问量超过单个tomcat的承受能力的话,tomcat一般要么拒绝提供服务,要么直接宕掉.所以,必须要依靠tomcat集群技术.举个最简单的例子,拿"送快件"比喻,如果一个人,5分钟送一件,一小时之内,送10个,一个人完全能胜任这项工作.假设现在到了双十一,要求1小时,送100个, 那怎么办?只能安排更多的人加入"送快件"这项工作中来.这其实和集群一个道理.

【喵&quot;的Android之路】【番外篇】有关于null的一些知识点

[喵"的Android之路][番外篇]有关于null的一些知识点 1.首先,到底什么是null? null是Java中的一个关键字,用于表示一个空对象引用,但其本身并不是任何类型也不是属于任何对象.因此,下面的做法是错误的: int a = null; 但: Object obj = null; 是可以的,因为null表示Object类型的一个空对象引用,符合其用意. [注1]引用类型使用null声明对象变量后,无法使用该变量访问对象的成员.例如上述obj对象如果使用obj.toString()

可视化(番外篇)

本篇主要介绍如何在SWT下构建一个应用,如何安装SWT Designer并破解已进行SWT的可视化编程,Display以及Shell为何物.有何用,SWT中的常用组件.面板容器以及事件模型等. 1.可视化环境搭建(SWT Designer): (1).首先下载SWT Designer插件包SWT Designer 6.9.5 for Eclipse.rar: (2).将解压好的插件包extplugins\swt\eclipse下的features和plugins导入Myeclipse的dropi

《Mycat学习笔记》 番外篇一.客户端使用latin1字符集,后端MySQL为UTF8字符集,MyCat日志分析。

其实这个番外篇比较无聊——即客户端为lantin字符集,后面MySQL为U8字符集,MyCat在中间到底会起什么作用. 再说下本次验证的环境: Mac OS 10.11.2 MySQL 5.6 MyCat 1.5 OK,开始我们的验证工作. 1) 由于数据库与操作系统已被默认设置为U8编码,计划通过修改Mysql  “character_set_client” 参数调整客户端字符集配置进行验证. 关于MYSQL字符集较全面的介绍,请参考 <mysql_query("set names gb

【喵&quot;的Android之路】【番外篇】关于==和equals

[喵"的Android之路][番外篇]关于==和equals 在实际的编程当中,经常会使用==和equals来判断变量是否相同.但是这两种比较方式也常常让人搞得云里雾里摸不着头脑.下面是我个人做的总结,希望能起到拨云见日的作用. [讲前普及] 请阅读 [喵"的Android之路][基础篇(一)][Java面向对象基础]数据类型与运算符 了解Java基本数据类型和引用数据类型 1."=="运算符 通俗点讲,==运算符比较的是两个变量在栈中的内容是否相同. 以a ==

cocos2dX 番外篇之CCSpriteBatchNode

嗯, 今天我们没事干, 闲的蛋疼, 干脆我们创建精灵玩玩吧, 我随手一打, 我去, 出了一万个精灵, 感觉我就是万能的上帝啊, 一万个( 旁白: 请不要放弃治疗好么), 嘿嘿, 看看一万个精灵是啥样: 看起来很不错啊( 旁白: 等等, 那个帧数怎么下降这么多啊), 额, 竟然被妹纸看出来了, 好吧, 我们进入今天的课程CCSpriteBatchNode 在游戏的某一时刻, 我们可能会大量的绘制某一个精灵( 比如发出的子弹, 搜集的星星之类), 我们都是使用同一张纹理图片创建的, 如果一张一张的进

Linux入门之内核管理番外篇(4)udev入门(1)

Linux入门之内核管理番外篇(4)udev入门(1) 前言 在上篇中的内核模块管理讲解中,最后或多或少会留下一些疑问,那么这些疑问就是内核模块的参数是怎么和对应的硬件所匹配上的,而硬件又是怎么被内核识别,并且一个个都映射成实际存在的文件,而这些文件之间的关系及作用.当然在最后了解到,这些硬件设备的探测信息是通过一个叫udev的工具来实现的,通过udev中配置的规则可以很有效的识别每一个硬件,并配合sysfs文件系统,将每个探测到的硬件信息导入到/sys目录中,那么与/proc目录对与内核系统信