基本概念

    镜像(mirror):是把很多文件打包放在一起,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本就称为镜像。它是一种文件存储形式。使用GHOST等软件来进行构成镜像和拆镜像的功能。映像(image) :将资料和程序结合的文件,是数据的物理结构,现在基本上特指VIM格式(主要用在系统封装和引导盘上)。可以用来做还原。

这都是按接口分

   ide磁盘:把控制器和盘体集成在一起的磁盘驱动器,IDE接口硬盘多用于家用产品中,也部分应用于服务器。sata磁盘:SATA口的硬盘又叫串口硬盘. SATA以它串行的数据发送方式得名。在数据传输的过程中,数据线和信号线独立使用,并且传输的时钟频率保持独立。是目前比较流行的的硬盘接口类型,目前市场上最普及的接口类型。scsi磁盘:SCSI并不是专为硬盘设计的,实际上它是一种总线型接口。独立于系统总线工作。SCSI接口的硬盘则主要应用于服务器市场。virtio:  半虚拟化io设备。

xml元素介绍

通用信息

<domain type='kvm' id='1'><name>MyGuest</name><uuid>4dea22b3-1d52-d8f3-2516-782e98ab3fa0</uuid><genid>43dc0cf8-809b-4adb-9bea-a9abb5f3d90e /genid><title>A short description - title - of the domain</title><description>Some human readable description</description>
</domain>

domain

 所有虚拟的xml都是从domain开始的,它有两个熟悉,一个是type,代表Hypervisor(管理应用程序的类型)它可以是"kvm"  ,  “xen", "qemu", "lxc" ,      第二个属性是id, 它是正在运行的虚拟机的唯一标识,没有运行的虚拟机没有这个值。它可以省略

name

  虚拟机的名称,只能是由字母和数字组成,在它所在的物理机范围内,这个名字必须是唯一的。

uuid

  为虚拟机提供一个全局的唯一标识符。它的格式必须满足RFC 4122格式,uuid的全称是Universally Unique Identifier.如果没有写的话,会随机生成一个uuid出来

genid
暂未理解

title

 标题,注意不能出现换行符

description

 对虚拟机的描述

内存分配

<domain>...<maxMemory slots='16' unit='KiB'>1524288</maxMemory><memory unit='KiB'>524288</memory><currentMemory unit='KiB'>524288</currentMemory>...
</domain>

memory

  虚拟机在开机的时候分配的最大内存。它有一个属性,unit代表单位的意思。如果不填,默认是KiB(即常说的KB), 还有的单位有b或者bytes代表字节数。KB代表10^3字节, k或KiB代表(2^10字节) 。MB(10^6字节) 。M或MiB代表(2^20字节)等一系列单位

maxMemory

   虚拟机运行时分配的最大内存。它是这条虚拟机内存的限值(最多也就能加到这么多了)。它有两个属性,一个是slot,代表内存槽,即允许为这个虚拟机添增加“内存条”的槽的个数。unit同上。

currentMemory

  虚拟机的实际内存。这个值可以小于最大分配容量,以适应后期内存的动态增长。如果不设,它跟memory一模一样(包括数值和单位)
<domain>...<vcpu placement='static' cpuset="1-4,^3,6" current="1">2</vcpu>...
</domain>

palcement

  两种方式 static 或者auto ,static 表示CPU的绑定策略(vCPU到pCPU)是从域xml中指定。(就是根据cpuset的值来定,如果cpuset没定义,那么将绑定到全部的pCPU上)。   auto方式表示通过询问numad来进行配置,这个时候的cpuset就算有定义也不起作用。cpuset代表物理cpu的序号,它可以是一个单独的序号,也可以是一个连续的序列,还可以是一个^后面一个序号,表示排除这个序号。上面的代表1 2, 4 ,6号CPU可以用来做绑定。current代表当前有几个CPU来使用。
<cpu mode='host-model'><model fallback='allow'>core2duo</model>
</cpu>

cpu的mode属性

    host-model代表把主机的xml拷贝到当前虚拟机的xml。

model

    指定虚拟机指定cpu的型号。fallback的意思是自动回退到虚拟机管理程序支持的最接近的模型,同时保持 CPU 功能列表,如果allow代表允许这样,forbid代表禁止。

处理器特性

<features>                                                                                         │    <features><acpi />                                                                                       │        <acpi /><apic />                                                                                       │        <apic /><pae />                                                                                        │        <pae />
</features>

pae

物理地址拓展模式:即运行32位的虚拟机的寻址空间大于4G.

acpi

是高级配置与电源管理,它帮助操作系统合理控制和分配计算机硬件设备的电量。

apic

是高级程序中断控制器,它可以把IRQ(中断请求)增多,可以解决设备过多而造成中断冲突的问题。
<clock offset="utc" />

clock offset是虚拟机时间同步的方式

    utc:虚拟机开机的时候通过UTC来同步时间。localtime:虚拟机根据所在主机配置的时区来同步时间。(utc是0时区的时间,localtime是本地的时间)
<sysinfo type="smbios"><bios><entry name="vendor">DATASURE</entry></bios><system><entry name="manufacturer">ACESURE6.0_0_0sda_1sdb</entry><entry name="product">Server_4</entry><entry name="serial">20210729143449488785149</entry></system></sysinfo>

sysinfo是一级元素,它的type属性用来确定二级元素布局。

sysinfo的type属性

     可选smbios和fwcfg.如果选smbios,表示二级子元素调用特定的 SMBIOS 值,与<os>的<smbios mode='sysinfo'>二级子元素一起使用,才会生效。每个二级子元素代表一个 SMBIOS block,<bios>、<system>、<baseBoard>、<chassis>、<oemStrings>二级元素分别代表 block 0、1、2、3、11。每一个block下面都可以有一个entry的list,用来描述这个block.biosvendor :   供应商名字systemmanufacturer:生产厂家product:产品名字serial:序列号
<os><type arch="x86_64">hvm</type><smbios mode="sysinfo" /><boot dev='hd'/></os>
     type是<os>的二级子元素,指定在虚拟机中引导的操作系统的类型type的值可以是hvm:用于未修改的操作系统,表明操作系统是设计用于在裸机上运行的,hvm代表全虚拟化。linux:(遗留名称)用于支持 Xen 3 hypervisor guest ABI 的操作系统。xen:用于 XEN PV。xenpvh:用于 XEN PVH。exe:用于基于容器的虚拟化type的属性arch指定虚拟化的 CPU 架构。缺省时,对于大多数 hypervisor 驱动程序,将选择主机的 arch(X86代表32位操作系统,X86_64代表64位操作系统。type的属性machine:机器类型boot   它的属性dev表示怎么启动:如"fd"表示从文件启动, "hd"从硬盘启动, "cdrom"从光驱启动 和 "network"从网络启动。

直接内核引导

<os><type>hvm</type><loader>/usr/lib/xen/boot/hvmloader</loader><kernel>/root/f8-i386-vmlinuz</kernel><initrd>/root/f8-i386-initrd</initrd><cmdline>console=ttyS0 ks=http://example.com/f8-i386/os/</cmdline>
</os>

type 同上

loader

kernel : 指定在主机中的内核映像的路径

initrd : 指定在主机中的ram驱动器的路径

cmdline : 用来把参数传给内核

uefi引导

 把loader指向efi文件
<devices><controller type="usb" index="0" />
</devices>
     controler:总线控制器, 每个控制器有一个type属性,这个属性的值必须是“ide”, "usb", "pci"等总线类型的一种,并且后边有一个index,这个index必须是十进制的整数,然后它表示遇到总线控制器的顺序。如果没有写,会默认分配一个最小的未分配的值。
<devices><input type="tablet" bus="usb" />
</devices>
     input可选的type有mouse, keyboard,tablet等,tablet是触摸板、写字板的意思,它提供绝对的光标移动,鼠标提供的是相对的光标移动。bus属性集总线类型用于细化确定的设备类型。它的值可以是“xen”(半虚拟化), “ps2”(实际上是ps/2接口), usb(usb接口), virtio.
<devices><graphics type="vnc" autoport="yes"><listen type="address" address="0.0.0.0" /></graphics>
</devices>

graphics即图形化选项的type属性有“sd1", “vnc”, “spice”, “rdp”, “desktop”, "egl-headless"等等。

  vnc:开始一个VNC的服务器,porta属性用来指定TCP的端口号,autoport属性代表自动分配TVP端口。listen拥有设置从何处监听客户端。它的type属性是必填的。只有vnc, spice和rdp支持listen元素。

这个type可以是address, network , socket, none。

  listen可以填IP地址和主机名,如果IP地址是0, 0, 0, 0(是本机上的所有IPV4地址,如果一个主机有两个IP地址,192.168.1.1 和 10.1.2.1,并且该主机上的一个服务监听的地址是0.0.0.0,那么通过两个ip地址都能够访问该服务)代表监听者两个IP地址,监听服务端的IP地址,看有没有客户端连过来,而不是监听服务端IP地址。
<devices><video><model type="cirrus" vram="32768" /></video>
</devices>
  vedio用来定义 视频设备(显卡),它的属性type有”vga“, ”cirrus“, ”qxl“,  "none"等,cirrus是qemu2.2之前默认使用的video类型。不能支持高清显示并且色彩采用24位。兼容度高。vga:如果想使用高分辨率,使用这个选项qxl:  半虚拟化显卡vram属性用来设置视频内存的大小,以千字节为单位。heads属性用来设置屏幕的数量。
<interface type="network"><mac address="00:50:56:9f:4f:ad" /><source network="default" /><model type="e1000" />
</interface><interface type="direct"><mac address="00:0c:29:a4:8d:e3" /><source dev="enp6s0" mode="bridge" /><model type="e1000" />
</interface><interface type='bridge'><mac address='58:e8:76:14:07:00'/><source bridge='datasure1'/><model type='e1000'/>
</interface>

interface用来设置网络接口

type有三种方式,"direct" : 直接连到物理接口, “network”  : 虚拟网络

source

     对于network模式,对于它的network属性,一般设置位default,即默认网络。对于direct模式,它的dev属性代表主机的网卡,mode有四种模式,"vepa"  "bridge"  "private"  "through"。mac 它的address属性:mac地址model 它的type属性: 设置网卡驱动

<disk type="file" device="disk"><driver name="qemu" type="qcow2" /><boot order="1" /><source file="/dev_sdb1/StoreBackup/98ec1978db5c/M6FJJGS516C9M9I3LPUHZD4KFQ1VHK8J/hd0/0_20210729-143030-00001_compute_temp.dsf" /><target dev="sda" bus="sata" />
</disk>

disk元素用来描述备份磁盘的信息。

 type属性:可以是"file", "block", "dir" , "network", or "volume"(卷) or "nvme"(磁盘的一种), or "vhostuser"(通用的共享内存通信方案)。device属性:可以是"floppy"(磁片), "disk"(磁盘), "cdrom"(光碟), and "lun"(逻辑单元号,用来扩充Target ID, 一个Target  ID可以有多个lun),默认是disk.

driver

  qemu只支持name属性为"qemu",type属性可以是"raw", "bochs", "qcow2", and "qed"。raw 格式镜像文件又被称为 原始镜像 或 裸设备镜像, 从这些称谓可以看出, raw 格式镜像文件能够直接当作一个块设备, 以供 虚拟机使用。qcow2 格式包含一些特性,包括支持多重快照,占用更小的存储空间(不支持稀疏特性,也就是不会预先分配指定 size 的空间),可选的 AES 加密和可选的 zlib 压缩方式

source

 file属性指定源文件保持的路径

target

  dev的属性表示“逻辑”设备名称。不能保证指定的实际设备名称映射到来宾操作系统中的设备名称。bus属性指定要模拟的磁盘设备类型;可能的值是特定于驱动程序的,典型值是“ide”、“scsi”、“virtio”、“xen”、“usb”、“sata”。这个属性可以省略,如果省略就会根据设备名称推断总线类型。

URL

8.4. libvirt NUMA 调试 Red Hat Enterprise Linux 7 | Red Hat Customer Portal

Domain XML format

虚拟机xml文件使用相关推荐

  1. linux查看xml文件的配置,3、kvm虚拟机日常管理与配置

    KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理. 1.  查看KVM虚拟机配置文件及运行状态 (1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/ autostar ...

  2. openstack虚拟机内文件遭破坏的急救方案

    一.场景: openstack虚拟机存放于ceph存储,由于用户将系统的grub误删除,导致系统无法正常引导.现在用户要求抢救文件. 二.可行的方案: 1.将虚拟机保存为镜像,将镜像转换成云硬盘,将云 ...

  3. ANT 发布项目中 build.xml 文件的详细配置

    xml 代码 <?xml version="1.0" encoding="UTF-8"?> <!-- name:对应工程名字 default: ...

  4. Android --- AndroidManifest.xml文件内容详细介绍

    文章目录 1.android:label="@string/app_name" 2. android:icon="@mipmap/ic_launcher"与an ...

  5. ANT-build.xml文件详解

    http://blog.chinaunix.net/uid-25150840-id-172244.html Ant的概念 可能有些读者并不知道什么是Ant以及如何使用它,但只要使用过Linux系统得读 ...

  6. Java在Windows下导出xml文件到Linux服务器上

    最近由于公司项目需要,学习了在Windows平台导出xml文件到Linux服务器上的指定目录下的方法,(注:这里的我的Linux是在本机上装的虚拟机)现在写下来记录一下! 1.首先是项目截图: 2.主 ...

  7. 史上最全的 pom.xml 文件详解

    一.什么是POM Project Object Model,项目对象模型.通过xml可扩展标记语言(EXtensible Markup Language)格式保存的pom.xml文件.作用类似ant的 ...

  8. 【数据库2】生成txt/xml文件,ftp,oracle安装/表操作/虚表/日期/序列/索引/视图/链路/同义词/高可用性,mysql/文件入库/清理/表结构设计/交换/收集

    文章目录 1.生成数据:crontab 2.ftp:ftp是tcp/ip协议族中一员,分客户端和服务端 2.1 安装:linux操作系统的用户也是ftp的用户,可以配置专用的ftp用户,专用的ftp用 ...

  9. Libvirt XML文件详解(一)

    Libvirt XML文件详解(一) 1 根元素 2 通用元数据( General metadata ) name uuid genid title description metadata 2 操作 ...

最新文章

  1. BZOJ 4720 [Noip2016]换教室
  2. 最小路径和Python解法
  3. mysql表导出csv空值_从mysql中导出csv格式的数据
  4. Django框架介绍 day01
  5. 2019年3月计算机ms二级考试题库,2019年3月全国计算机二级MSOffice章节练习题(2).doc...
  6. 过滤关键字防止XSS攻击
  7. DHCP服务、NFS、vsftp服务的简单搭建
  8. tensorflow实现对彩色图像的均值滤波
  9. fseek函数、ftell函数和rewind函数
  10. Qt界面开发(一)(各种控件以及图表)
  11. 螺钉 螺母 硬币三种物体的识别
  12. BFS算法 (python)
  13. 如何让自己的电脑内外网同时用?
  14. html蒙版源代码,jquery蒙版控件实现代码_jquery
  15. QLabel控件实现圆形头像显示
  16. 测试工作中必备技能---思维导图你会吗? 10分钟让你精通思维导图!!!
  17. java后台地址(省,市,区)、姓名、手机号算法智能识别
  18. Oracle DUL的工作原理和技术实现
  19. 股票集合竞价规则详解,什么是集合竞价?集合竞价技巧分析
  20. ES6模块体系及DDN区块链设计开发规范

热门文章

  1. ThinkPHP 3.获取get post参数与I方法
  2. 模电之半导体基础篇2(PN结)
  3. 机器学习:3 个知乎大神回答、5 个新人常见问题和 3 个学习规划
  4. AMD FSR技术在UE4移动端可用的研究(一)——介绍以及安装
  5. SQL优化之SQL查询语句的执行顺序解析
  6. 小程序学习:bindtap和catchtap,wx:for和wx:for-item
  7. UVA 10586(多项式相除取余)
  8. android向手机发送信息,魅蓝note短信怎么发送?短信发送使用小技巧介绍
  9. 动画片给人们带来的快乐
  10. 远程桌面连接报错(CredSSP加密数据库修正)解决方案