xen hvm 설정 예제 파일

발췌 : http://blog.naver.com/PostView.nhn?blogId=budget74&logNo=90081427926

#  -*- mode: python; -*-
#============================================================================
# Python configuration setup for ‘xm create’.
# This script sets the parameters used when a domain is created using ‘xm create’.
# You use a separate script for each domain you want to create, or
# you can set the parameters for the domain on the xm command line.
#============================================================================

import os, re

arch_libdir = ‘lib’
arch = os.uname()[4]
if os.uname()[0] == ‘Linux’ and re.search(’64’, arch):
    arch_libdir = ‘lib64’

#—————————————————————————-
# Kernel image file.
kernel = “/usr/lib/xen/boot/hvmloader”

# The domain build function. HVM domain uses ‘hvm’.
builder=’hvm’

# Initial memory allocation (in megabytes) for the new domain.
#
# WARNING: Creating a domain with insufficient memory may cause out of
#          memory errors. The domain needs enough memory to boot kernel
#          and modules. Allocating less than 32MBs is not recommended.
# 게스트서버에서 사용할 메모리 용량을 지정합니다. (최소 32MBs)
memory = 128

# Shadow pagetable memory for the domain, in MB.
# If not explicictly set, xend will pick an appropriate value.  
# Should be at least 2KB per MB of domain memory, plus a few MB per vcpu.
# shadow_memory = 8

# A name for your domain. All domains must have different names.
# 게스트서버의 별칭을 지정합니다.
# 반드시 중복되지 않는 이름으로 설정하며 virt-manager에서 control 할 때 사용됩니다.
name = “ExampleHVMDomain”

# 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”
#—————————————————————————–
# The number of cpus guest platform has, default=1
#vcpus=1

# Enable/disable HVM guest PAE, default=1 (enabled)
#pae=1

# Enable/disable HVM guest ACPI, default=1 (enabled)
# ACPI 활성화 여부로 Window XP 는 0 으로 Vista, Seven, Linux 에서는 1로 세팅합니다.
#acpi=1

# Enable/disable HVM APIC mode, default=1 (enabled)
# Note that this option is ignored if vcpus > 1
# APIC 활성화 여부로 Window XP 는 0 으로 Vista, Seven, Linux 에서는 1로 세팅합니다.
#apic=1

# Enable/disable extended power management support within HVM guest, i.e., beyond
# S3, S4, S5 within guest like exposing battery meter.
# 0 (default option, extended power management support disabled)
# 1 (pass-through mode; uses pass-through as needed; efficient but limited in scope)
# 2 (non pass-through mode; extended scope, likely to work on all applicable environment
#    but comparitively less efficient than pass-through mode)
# xen_extended_power_mgmt=0

# List of which CPUS this domain is allowed to use, default Xen picks
#cpus = “”         # leave to Xen to pick
#cpus = “0”        # all vcpus run on CPU0
#cpus = “0-3,5,^1” # all vcpus run on cpus 0,2,3,5
#cpus = [“2”, “3”] # VCPU0 runs on CPU2, VCPU1 runs on CPU3

# Optionally define mac and/or bridge for the network interfaces.
# Random MACs are assigned if not given.
#vif = [ ‘type=ioemu, mac=00:16:3e:00:00:11, bridge=xenbr0, model=ne2k_pci’ ]
# type=ioemu specify the NIC is an ioemu device not netfront
# bridge – network 연결 설정으로 eth0, xenbr0 등 등이 있습니다.
# mac   – 게스트서버의 MAC Address로 설치 후 ifcfg-eth0 번을 참조하면 구할 수 있습니다.
# ip      – 게스트서버에서 사용될 아이피로 MAC Address와 함께 사용되면 아이피를 고정할 수 있습니다.
vif = [ ‘type=ioemu, bridge=xenbr0’ ]

#—————————————————————————-
# Define the disk devices you want the domain to have access to, and
# what you want them accessible as.
# Each disk entry is of the form phy:UNAME,DEV,MODE
# where UNAME is the device, DEV is the device name the domain will see,
# and MODE is r for read-only, w for read-write.

# disk = [ ‘phy:hda1,hda1,r’ ]
# 앞쪽은 OS System 설정이며 뒤쪽은 부팅옵션을 설정합니다.
# 읽고쓰기(w), 읽기(r)
# iso 파일을 이용하여 설치시에는 ‘file:/파일경로/이름,hdc:cdrom,r’이 됩니다.
disk = [ ‘file:/var/images/min-el3-i386.img,hda,w’, ‘,hdc:cdrom,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:
#
#   “destroy”,        meaning that the domain is cleaned up as normal;
#   “restart”,        meaning that a new domain is started in place of the old
#                     one;
#   “preserve”,       meaning that no clean-up is done until the domain is
#                     manually destroyed (using xm destroy, for example); or
#   “rename-restart”, meaning that the old domain is not cleaned up, but is
#                     renamed and a new domain started in its place.
#
# In the event a domain stops due to a crash, you have the additional options:
#
#   “coredump-destroy”, meaning dump the crashed domain’s core and then destroy;
#   “coredump-restart’, meaning dump the crashed domain’s core and the restart.
#
# The default is
#
#   on_poweroff = ‘destroy’
#   on_reboot   = ‘restart’
#   on_crash    = ‘restart’
#
# For backwards compatibility we also support the deprecated option restart
#
# restart = ‘onreboot’ means on_poweroff = ‘destroy’
#                            on_reboot   = ‘restart’
#                            on_crash    = ‘destroy’
#
# restart = ‘always’   means on_poweroff = ‘restart’
#                            on_reboot   = ‘restart’
#                            on_crash    = ‘restart’
# restart = ‘never’    means on_poweroff = ‘destroy’
#                            on_reboot   = ‘destroy’
#                            on_crash    = ‘destroy’

#on_poweroff = ‘destroy’
#on_reboot   = ‘restart’
#on_crash    = ‘restart’

#============================================================================

# Device Model to be used
device_model = ‘/usr/’ + arch_libdir + ‘/xen/bin/qemu-dm’

#—————————————————————————–
# boot on floppy (a), hard disk (c), Network (n) or CD-ROM (d)
# 부팅 순서 나열 플로피디스크(a), 하드디스크(c), 네트워크(n), CD-ROM(d)
# default: hard disk, cd-rom, floppy
# 다음은 하드디스크, CD-ROM 순서로 부팅하는 예입니다.
#boot=”cd”

#—————————————————————————–
#  write to temporary files instead of disk image files
#snapshot=1

#—————————————————————————-
# enable SDL library for graphics, default = 0
# SDL 모드로 create 되면 활성화됩니다.
sdl=0

#—————————————————————————-
# enable OpenGL for texture rendering inside the SDL window, default = 1
# OpenGL을 활성화합니다.
# valid only if sdl is enabled.
# SDL library가 활성화되어 있어야 의미가 있다.
opengl=1

#—————————————————————————-
# enable VNC library for graphics, default = 1
# VNC 모드로 virt-manager 에서 게스트서버를 클릭함으로써 활성화합니다.
vnc=1
#—————————————————————————-
# 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″

#—————————————————————————-
# set VNC display number, default = domid
#vncdisplay=1

#—————————————————————————-
# try to find an unused port for the VNC server, default = 1
#vncunused=1

#—————————————————————————-
# set password for domain’s VNC console
# default is depents on vncpasswd in xend-config.sxp
vncpasswd=”

#—————————————————————————-
# no graphics, use serial port
#nographic=0

#—————————————————————————-
# enable stdvga, default = 0 (use cirrus logic device model)
stdvga=0

#—————————————————————————–
#   serial port re-direct to pty deivce, /dev/pts/n
#   then xm console or minicom can connect
serial=’pty’

#—————————————————————————–
#   Qemu Monitor, default is disable
#   Use ctrl-alt-2 to connect
#monitor=1

#—————————————————————————–
#   enable sound card support, [sb16|es1370|all|..,..], default none
#soundhw=’sb16′

#—————————————————————————–
#    set the real time clock to local time [default=0 i.e. set to utc]
#    호스트서버의 시간으로 게스트서버의 시간을 설정합니다.
localtime=1

#—————————————————————————–
#    set the real time clock offset in seconds [default=0 i.e. same as dom0]
#rtc_timeoffset=3600

#—————————————————————————–
#    start in full screen
#full-screen=1  

#—————————————————————————–
#   Enable USB support (specific devices specified at runtime through the
#                       monitor window)
#usb=1

#   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’

#—————————————————————————–
#   Set keyboard layout, default is en-us keyboard.
#keymap=’ja’

#—————————————————————————–
#   Enable/disable xen platform PCI device, default=1 (enabled)
#xen_platform_pci=1
#—————————————————————————–
#   Configure guest CPUID responses:
#
#cpuid=[ ‘1:ecx=xxxxxxxxxxx00xxxxxxxxxxxxxxxxxxx,
#           eax=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx’ ]
# – Unset the SSE4 features (CPUID.1[ECX][20-19])
# – Default behaviour for all other bits in ECX And EAX registers.
#
# Each successive character represent a lesser-significant bit:
#  ‘1’ -> force the corresponding bit to 1
#  ‘0’ -> force to 0
#  ‘x’ -> Get a safe value (pass through and mask with the default policy)
#  ‘k’ -> pass through the host bit value
#  ‘s’ -> as ‘k’ but preserve across save/restore and migration
#
#   Expose to the guest multi-core cpu instead of multiple processors
# Example for intel, expose a 8-core processor :
#cpuid=[‘1:edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
#          ebx=xxxxxxxx00010000xxxxxxxxxxxxxxxx’,
#     ‘4,0:eax=001111xxxxxxxxxxxxxxxxxxxxxxxxxx’]
#  – CPUID.1[EDX][HT] : Enable HT
#  – CPUID.1[EBX] : Number of vcpus * 2
#  – CPUID.4,0[EAX] : Number of vcpus * 2 – 1
#vcpus=8
#
# Example for amd, expose a 5-core processor :
# cpuid = [‘1:ebx=xxxxxxxx00001010xxxxxxxxxxxxxxxx,
#             edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx’,
# ‘0x80000001:ecx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1x’,
# ‘0x80000008:ecx=xxxxxxxxxxxxxxxxxxxxxxxxxx001001’]
#   – CPUID.1[EBX] : Threads per Core * Cores per Socket (2 * #vcpus)
#   – CPUID.1[EDX][HT] : Enable HT
#   – CPUID.0x80000001[CmpLegacy] : Use legacy method
#   – CPUID.0x80000008[ECX] : #vcpus * 2 – 1
#vcpus=5
#
#  Downgrade the cpuid to make a better compatibility for migration :
# Look like a generic 686 :
# cpuid = [ ‘0:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0’,
#           ‘1:eax=0x06b1,
#              ecx=xxxxxxxxxxx0000xx00xxx0000000xx0,
#              edx=xxx00000xxxxxxx0xxxxxxxxx0xxxxxx’,
#           ‘4:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0’,
#  ‘0x80000000:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0’]
#  with the highest leaf
#  – CPUID.0[EAX] : Set the highest leaf
#  – CPUID.1[EAX] : 686
#  – CPUID.1[ECX] : Mask some features
#  – CPUID.1[EDX] : Mask some features
#  – CPUID.4 : Reply like the highest leaf, in our case CPUID.3
#  – CPUID.0x80000000 : No extension we are on a Pentium III, reply like the
#  highest leaf (CPUID.3).
#
#   Configure host CPUID consistency checks, which must be satisfied for this
#   VM to be allowed to run on this host’s processor type:
#cpuid_check=[ ‘1:ecx=xxxxxxxxxxxxxxxxxxxxxxxxxx1xxxxx’ ]
# – Host must have VMX feature flag set
#
# The format is similar to the above for ‘cpuid’:
#  ‘1’ -> the bit must be ‘1’
#  ‘0’ -> the bit must be ‘0’
#  ‘x’ -> we don’t care (do not check)
#  ‘s’ -> the bit must be the same as on the host that started this VM

#—————————————————————————–
#   Configure passthrough PCI{,-X,e} devices:
#
#   pci=[ ‘[SSSS:]BB:DD.F[,option1[,option2[…]]]’, … ]
#
#   [SSSS]:BB:DD.F  “bus segment:bus:device.function”(1) of the device to
#                   be assigned, bus segment is optional. All fields are
#                   in hexadecimal and no field should be longer than that
#                   as shown in the pattern. Successful assignment may need
#                   certain hardware support and additional configurations
#                   (e.g. VT-d, see docs/misc/vtd.txt for more details).
#
#       (1) bus segment is sometimes also referred to as the PCI “domain”,
#           not to be confused with Xen domain.
#
#
#   optionN         per-device options in “key=val” format. Current
#                   available options are:
#                   – msitranslate=0|1
#                      per-device overriden of pci_msitranslate, see below
#                   – power_mgmt=0|1
#                      per-device overriden of pci_power_mgmt, see below
#
#pci=[ ’07:00.0′, ’07:00.1′ ]

#   MSI-INTx translation for MSI capable devices:
#
#   If it’s set, Xen will enable MSI for the device that supports it even
# if the guest don’t use MSI. In the case, an IO-APIC type interrupt will
# be injected to the guest every time a corresponding MSI message is
# received.
#   If the guest enables MSI or MSI-X, the translation is automatically
# turned off.
#
#pci_msitranslate=1

#   PCI Power Management:
#
#   If it’s set, the guest OS will be able to program D0-D3hot states of the
# PCI device for the purpose of low power consumption.
#
#pci_power_mgmt=0

#—————————————————————————–
#   Configure PVSCSI devices:
#
#vscsi=[ ‘PDEV, VDEV’ ]
#
#   PDEV   gives physical SCSI device to be attached to specified guest
#          domain by one of the following identifier format.
#          – XX:XX:XX:XX (4-tuples with decimal notation which shows
#                          “host:channel:target:lun”)
#          – /dev/sdxx or sdx
#          – /dev/stxx or stx
#          – /dev/sgxx or sgx
#          – result of ‘scsi_id -gu -s’.
#            ex. # scsi_id -gu -s /block/sdb
#                  36000b5d0006a0000006a0257004c0000
#
#   VDEV   gives virtual SCSI device by 4-tuples (XX:XX:XX:XX) as
#          which the specified guest domain recognize.
#

#vscsi = [ ‘/dev/sdx, 0:0:0:0’ ]

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

1 Response

  1. difficulté ethereum 말해보세요:

    Reading your article helped me a lot and I agree with you. But I still have some doubts, can you clarify for me? I’ll keep an eye out for your answers.

페이스북/트위트/구글 계정으로 댓글 가능합니다.