XEN虚拟机配置文件

  • xen环境下半虚拟化配置:

name = 'one-85'

#O CPU_CREDITS = 256

memory  = '2048'

bootloader = "/usr/bin/pygrub"

disk = [

    'file:/one_images/85/images/disk.0,xvda,w',

    'file:/one_images/85/images/disk.1,xvdb,w',

    'file:/one_images/85/images/disk.2,sdc,r',

]

vif = [

    ' mac=02:00:c0:a8:a3:a8,ip=192.168.163.168,bridge=xenbr0',

]

vcpus=2

vfb = [ 'type=vnc,vncunused=1,keymap=en-us,vnclisten=0.0.0.0' ]

  • xen全虚拟化配置:

name="redhat"

uuid="cb1930be-9909-1356-c50d-95f2c7c9ae8d"

memory=512

maxmem=512

vcpus=2

on_poweroff="destroy"

on_reboot="restart"

on_crash="destroy"

localtime=0

keymap="en-us"

builder="hvm"

extid=0

device_model="/usr/lib/xen/bin/qemu-dm"

kernel="/usr/lib/xen/boot/hvmloader"

boot="c"

disk=[ 'file:/var/lib/xen/images/redhat/disk1,hda,w', 'phy:/dev/sr0,hdc:cdrom,r', ]

vif=[ 'mac=00:16:3e:08:70:37,bridge=xenbr0,model=e1000', ]

stdvga=0

vnc=1

vncunused=1

apic=1

acpi=1

pae=1

serial="pty" 

  • xml格式的虚拟机配置:

可以通过virsh dumpxml domain-id命令查看.

<domain type='xen'>

  <name>redhat</name>

  <uuid>cb1930be-9909-1356-c50d-95f2c7c9ae8d</uuid>

  <memory>524288</memory>

  <maxmemory>524288</maxmemory>

  <vcpu>2</vcpu>

  <on_poweroff>destroy</on_poweroff>

  <on_reboot>restart</on_reboot>

  <on_crash>destroy</on_crash>

  <clock sync='utc'/>

  <keymap>en-us</keymap>

  <os>

    <type>hvm</type>

    <loader>/usr/lib/xen/boot/hvmloader</loader>

    <boot dev='hd'/>

  </os>

  <features>

    <apic/>

    <acpi/>

    <pae/>

  </features>

  <devices>

    <emulator>/usr/lib/xen/bin/qemu-dm</emulator>

    <disk type='file' device='disk'>

      <driver name='file'/>

      <source file='/var/lib/xen/images/redhat/disk1'/>

      <target dev='hda'/>

    </disk>

    <disk type='phy' device='cdrom'>

      <driver name='phy'/>

      <source file='/dev/sr0'/>

      <target dev='hdc'/>

      <readonly/>

    </disk>

      <interface type='bridge' model='e1000'>

        <source bridge='xenbr0'/>

        <mac address='00:16:3e:08:70:37'/>

        <script path='/etc/xen/scripts/vif-bridge'/>

      </interface>

    <graphics type='vnc'/>

  </devices>

</domain>

  • 内核引导参数部分:

----------------------------------------------------------------------------
# Kernel image file.
kernel = "/usr/lib/xen/boot/hvmloader"
设定该HVM虚拟机的内核镜像文件,默认是采用宿主机上/usr/lib/xen/boot/hvmloader这个来引导的。 
# The domain build function. HVM domain uses 'hvm'.
builder='hvm'
设定虚拟域的建立方式,一个虚拟域对应了一个虚拟机,宿主机通过根域0来管理。如果是HVM虚拟机的话,这项要设定为hvm。 
# Initial memory allocation (in megabytes) for the new domain.
# WARNING: Creating a domain with insufficient memory may cause out of emory errors. The domain needs enough memory to boot kernel and modules. Allocating less than 32MBs is not recommended.
memory = 128
设定虚拟机的占用的内存,如手册上说的,不建议设定低于32MB。 
# Shadow pagetable memory for the domain, in MB.
# Should be at least 2KB per MB of domain memory, plus a few MB per vcpu.
shadow_memory = 8
设定影内存?(这个术语的意思我还不了解,还烦请高手指点)这个配置项的默认值为8,单位MB。虚拟机每多一个VCPU就应到增加一些。 
# A name for your domain. All domains must have different names.
name = "ExampleHVMDomain"
设定虚拟机的域名实例。这个相当于你的虚拟机在XEN内的注册名,可以通过xm命令操作的命名。 
# 128-bit UUID for the domain.  The default behavior is to generate a new UUID
# on each call to 'xm create'.
uuid = "06ed00fe-1162-4fc4-b5d8-11993ee4a8b9"
设定虚拟域的UUID标示。默认情况下,当收到xm create启动命令时会自动生成一个新的UUID。 
内存和CPU参数部分:
-----------------------------------------------------------------------------
# the number of cpus guest platform has, default=1
vcpus=1
设定虚拟机的虚拟CPU数量。默认是1。 
# enable/disable HVM guest PAE, default=0 (disabled)
pae=0
设定启用或关闭HVM的PAE,默认值0表示关闭。 
# enable/disable HVM guest ACPI, default=0 (disabled)
acpi=0
设定启用或关闭HVM的ACPI,默认值0表示关闭。(注:在使用HVM安装Windows2003这种系统时,必须要关闭,否则将会一直卡在一个安装画面中。) 
# enable/disable HVM guest APIC, default=0 (disabled)
apic=0
设定启用或关闭HVM的APCI,默认值0表示关闭。(注:在使用HVM安装Windows2003这种系统时,必须要关闭,否则将会一直卡在一个安装画面中。) 
设定虚拟机被允许使用的CPU对象。默认是无需指定而让XEN自己来挑选的。
一些设定的方式:
cpus = ""          不指定,让XEN自己去选择。
cpus = "0"         指定让虚拟机的VCPU运行在宿主机的CPU0(第一个CPU,0号)。
cpus = "0-3"       指定让虚拟机的VCPU运行在宿主机的0号、1号、2号、3号CPU。
cpus = "5"         指定让虚拟机的VCPU运行在宿主机的5号CPU上(第六个CPU)。
cpus = "^1"        指定让虚拟机的VCPU不运行在宿主机除1号CPU上(^表示“非”的意思,但没有说是“除这个之外其他全部”的意思,而仅仅是“非”的意思)。
cpus = "0-3,5,^1"  指定让虚拟机的VCPU运行在宿主机的0、1、2、3、5号CPU上,但是由于最后跟着一个^1,所以要把1号CPU去掉。实际指定的是0、2、3、5这四个CPU。 
网络接口参数部分:
------------------------------------------------------------------------------
vif = [ 'type=ioemu, mac=00:16:3e:00:00:11, bridge=xenbr0, model=ne2k_pci' ]
设定MAC地址,一般情况下虚拟机的MAC地址如果不特别指定的话,它是自动随机的。(一般无需特别指定配置) 
vif = [ 'type=ioemu, bridge=xenbr0' ]
设定网络接口的类型,虚拟网络接口类型指定的是ioemu,表示是一个模拟的IO设备,而不是真实的网络设备。(一般无需特别指定配置) 
存储设备参数部分:
------------------------------------------------------------------------------
disk = [ 'phy:hda1,hda1,r' ]
disk = [ 'file:/var/images/min-el3-i386.img,hda,w', ',hdc:cdrom,r' ]
设 定虚拟机使用的“磁盘”以及“光驱”设备,通过制定宿主机系统里的某个路径和文件来实现(file),也可以指向宿主机上的真实设备(phy),另外需要 指定这些“设备”的一些属性。比如hda,就表示这个设备在虚拟机里的角色是位置IDE-1-Master的磁盘;比如hdc:cdrom,表示这个设备 在虚拟机里的角色是位置IDE-2-Master位置的光驱。另外w和r分别表示设备的写和读的属性。 
虚拟机状态参数控制部分:
----------------------------------------------------------------------------
#Configure the behaviour when a domain exits.  There are three 'reasons'
#for a domain to stop: poweroff, reboot, and crash.  For each of these you
#may specify:
当一个虚拟机存在并运行的时候,会有3个原因会造成虚拟机的停止:关机、重启、崩溃。对于这每个可能,需要制定一些措施。 
#   "destroy",        meaning that the domain is cleaned up as normal;
虚拟域的正常停止,使用“Destroy”方式来表达。 
#   "restart",        meaning that a new domain is started in place of the old one;
一个新的虚拟域启动来代替旧虚拟域,使用“Restart”方式来表达。 
#   "preserve",       meaning that no clean-up is done until the domain is manually destroyed (using xm destroy, for example); or                    
保护虚拟域,虚拟域不会被清除直到被一次人为手动地停止。使用“Preserve”方式来表达。 
#   "rename-restart", meaning that the old domain is not cleaned up, but is renamed and a new domain started in its place.                   
旧的虚拟域并没有被清除,但是它被改名之后并以一个新域的的方式启动。使用“Rename-Restart”的方式来表达。 
默认情况如下
   on_poweroff = 'destroy' 当遇到关机的时候,就会自动采用Destory来操作自己。
   on_reboot   = 'restart' 当遇到重启的时候,就会自动采用Restart来操作自己。
   on_crash    = 'restart' 当遇到崩溃的时候,就会自动采用Restart来操作自己。 
关于VNC控制以及其他的一些虚拟机参数:
----------------------------------------------------------------------------
# New stuff
device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm'
新虚拟机的设备模版。注意后面的qemu-dm。宿主机上提供的XEN-VNC控制就是由它提供的。 
# boot on floppy (a), hard disk (c) or CD-ROM (d) 
# default: hard disk, cd-rom, floppy
boot="cda"
设定虚拟机的启动顺序,“a”表示软盘,“c”表示硬盘,“d”才表示CDROM。从左到右依次表示顺序。
(这里友情提示一下:当建立虚拟机的时候CDROM的“d”一般设定在最前,为的是从光盘中引导和安装操作系统。当安装完毕后请记得把启动顺序更改,将硬盘启动作为最优先。) 
 write to temporary files instead of disk image files
snapshot=1
设定写入方式,写入到临时文件而不是镜像文件时设定为1。(一般无需特别指定配置) 
enable SDL library for graphics, default 0
sdl=0
设定SDL库支持图像,默认值0。(一般我也没有配置过这项,所以这里不是很理解,希望了解的朋友给与指点) 
# enable VNC library for graphics, default = 1
vnc=1
设定使用VNC来支持图像,默认值1表示支持。很重要的选项!尤其是在安装HVM虚拟机的时候! 
# address that should be listened on for the VNC server if vnc is set.default is to use 'vnc-listen' setting from /etc/xen/xend-config.sxp
vnclisten="127.0.0.1"
设定VNC监听的网络接口地址。这个地址必须是VNC服务器设定允许监听的有效地址。(默认是127.0.0.1的本机地址,一般我设定为0.0.0.0即全开放。)如果这项不设定的话,将会参考/etc/xen/xend-config.sxp这个配置文件里的设定。 
# set VNC display number, default = domid
vncdisplay=1
设定VNC的显示号,默认是为自己的DomainID。 
# try to find an unused port for the VNC server, default = 1
vncunused=1
设定VNC服务器使用一个未占用的端口来提供VNC连接服务。默认值1表示打开。 
# enable spawning vncviewer for domain's console
# (only valid when vnc=1), default = 0
vncconsole=0
设定是否支持使用其他VNC类型客户端接入来管理虚拟机。此功能只在vnc项置1(启用VNC支持)的情况下有效。默认值0表示不支持。 
# set password for domain's VNC console
# default is depents on vncpasswd in xend-config.sxp
vncpasswd=''
设定此虚拟机的VNC的接入口令,如果这里不设定,那么将会默认参考xend-config.sxp主设定文件中的vncpasswd口令值。 
# no graphics, use serial port
nographic=0
设定无图形支持,使用串行端口。默认值0表示默认支持图形界面。 
# enable stdvga, default = 0 (use cirrus logic device model)
stdvga=0
设定启用标准VGA。默认值为0。(一般无需特别指定配置) 
# serial port re-direct to pty deivce, /dev/pts/n then xm console or minicom can connect   
serial='pty'
设定控制台的串行接口设备。(一般无需特别指定配置) 
# enable sound card support, [sb16|es1370|all|..,..], default none
soundhw='sb16'
设定音频硬件设备。默认是没有。个人认为一般XEN作为服务器,用到音频的非常少。(一般无需配置) 
# set the real time clock to local time [default=0 i.e. set to utc]
localtime=1
设定本地时间同步,默认值为1。(一般无需特别指定配置) 
# start in full screen
full-screen=1   
设定是否以全屏方式启动。(一般无需特别指定配置) 
对周边设备支持的参数设定
-----------------------------------------------------------------------------
# Enable USB support (specific devices specified at runtime through the monitor window)                      
usb=1
设定是否支持支持USB。(一般无需特别指定配置) 
# Enable USB mouse support (only enable one of the following, `mouse' for PS/2 protocol relative mouse, `tablet' for absolute mouse)                          
usbdevice='mouse'
usbdevice='tablet'
设定支持的USB的设备。(一般无需特别指定配置) 
# Set keyboard layo

设定键盘设备,默认是英美式键盘。(一般无需特别指定配置) 

猜你喜欢

转载自ldwblog.iteye.com/blog/1838601