在RHEL6中,用於從磁碟啟動的XML檔案
# 這裡以dcs01.xml為例:
<domain type='kvm'> <name>dcs01</name> <uuid>e5fff551-bbe1-e748-c8e4-8ecb3bffb902</uuid> <memory>1048576</memory> <currentMemory>1048576</currentMemory> <vcpu>1</vcpu> <os> <type arch='x86_64' machine='rhel6.0.0'>hvm</type> <boot dev='hd'/> </os> <features> <acpi/> <apic/> <pae/> </features> <clock offset='localtime'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/libexec/qemu-kvm</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> <source file='/home/kvm/images/dcs01.img'/> <target dev='hda' bus='ide'/> <address type='drive' controller='0' bus='0' unit='0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <target dev='hdc' bus='ide'/> <readonly/> <address type='drive' controller='0' bus='1' unit='0'/> </disk> <controller type='ide' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <interface type='bridge'> <mac address='52:54:00:ad:75:98'/> <source bridge='br0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <input type='tablet' bus='usb'/> <input type='mouse' bus='ps2'/> <graphics type='vnc' port='-1' autoport='yes'/> <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>
註解如下:
1、kvm guest 定義開始
<domain type='kvm'>
2、guest的short name。由字母和數字組成,不能包含空格
<name>dcs01</name>
3、uuid,由命令列工具 uuidgen產生。
<uuid>e5fff551-bbe1-e748-c8e4-8ecb3bffb902</uuid>
4、在不reboot guest的情況下,guset可以使用的最大內存,以KB為單位
<memory>1048576</memory>
5、guest啟動時內存,可以通過virsh setmem來調整內存,但不能大於最大可使用內存。
<currentMemory>1048576</currentMemory>
6、分配的虛擬cpu
<vcpu>1</vcpu>
7、有關OS
架構:i686、x86_64
machine:宿主機的作業系統
boot:指定啟動設備,可以重複多行,指定不同的值,作為一個啟動設備清單。
<os> <type arch='x86_64' machine='rhel6.0.0'>hvm</type> <boot dev='hd'/> </os>
8、處理器特性
<features> <acpi/> <apic/> <pae/> </features>
9、時鐘。使用本地時間:localtime
<clock offset='localtime'/>
10、定義了在kvm環境中power off,reboot,或crash時的預設的動作分別為destroy和restart。其他允許的動作包括: preserve,rename-restart.。
destroy:停止該虛擬機器。相當於關閉電源。
restart重啟虛擬機器。
<on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash>
11、裝置定義開始
<devices>
12、模擬元素,此處寫法用於kvm的guest
<emulator>/usr/libexec/qemu-kvm</emulator>
13、用於kvm存儲的檔案。在這個例子中,在guest中顯示為IDE設備。
使用qemu-img指令建立該文件,kvm image的預設目錄為:/var/lib/libvirt/images/
<disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> <source file='/home/kvm/images/dcs01.img'/> <target dev='hda' bus='ide'/> <address type='drive' controller='0' bus='0' unit='0'/> </disk>
補充:可以定義多個磁碟。
使用virtio:
採用普通的驅動,即硬碟和網卡都採用預設配置情況下,網卡工作在 模擬的rtl 8139 網卡下,速度為100M 全雙工。採用 virtio 驅動後,網路卡工作在 1000M 的模式下。
採用普通的驅動,即硬碟和網路卡都採用預設配置情況下,硬碟是 ide 模式。採用 virtio 驅動程式後,硬碟工作是SCSI模式下。
<disk type='file' device='disk'> <driver name='qemu' type='raw'/> <source file='/usr/local/kvm/vmsample/disk.os'/> <target dev='vda' bus='virtio'/> </disk>
CD-ROM device:
<disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <target dev='hdc' bus='ide'/> <readonly/> <address type='drive' controller='0' bus='1' unit='0'/> </disk>
14、使用橋接型別。確保每個kvm guest的mac位址唯一。將建立tun設備,名稱為vnetx(x為0,1,2...)
<interface type='bridge'> <mac address='52:54:00:ad:75:98'/> <source bridge='br0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>
補充:
使用預設的虛擬網路取代網橋,即guest為NAT模式。也可以省略mac位址元素,這樣將自動產生mac位址。
<interface type='network'> <source network='default'/> <mac address="3B:6E:01:69:3A:11"/> </interface>
預設分配192.168.122.x/24的位址,也可以手動指定。網關為192.168.122.1
使用virtio:
採用普通的驅動,即硬碟和網卡都採用預設配置情況下,網卡工作在模擬的rtl 8139 網卡下,速度為100M 全雙工。採用 virtio 驅動後,網路卡工作在 1000M 的模式下。
<interface type='bridge'> <source bridge='br1'/> <model type='virtio' /> </interface>
15、輸入裝置
<input type='tablet' bus='usb'/> <input type='mouse' bus='ps2'/>
16、定義與guset互動的圖形裝置。在這個例子中,使用vnc協定。 listen的位址為host的位址。 prot為-1,表示自動分配埠號,透過以下的指令找出埠號:
virsh vncdisplay
這裡未設定
<graphics type='vnc' port='-1' autoport='yes'/>
17 、裝置定義結束
</devices>
18、KVM定義結束
</domain>
centos_x86_6.4
b9dcdd92-9b9b-14d6-3938## b9dcdd92-9b9b-14d6-3938-1982a1774> # 2097152
1
hvm
destroy
restart
restart
/bin/1 在guest中顯示為IDE設備。
<disk type='file' device='disk'> <driver name='qemu' type='qcow2'/>
<source file='/home/template_make/centos_x86_6.4.img'> <seclabel model='selinux' relabel='no'/> </source> <target dev='hda' bus='ide'/> <alias name='ide0-0-0'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/home/template_make/CentOS-6.4-x86_64-bin-DVD1.iso'/> <target dev='hdc' bus='ide'/> <readonly/> <alias name='ide0-1-0'/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> <controller type='usb' index='0'> <alias name='usb0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='ide' index='0'> <alias name='ide0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <interface type='bridge'>
<mac address='52:54:00:78:f9:5a'/> <source bridge='br0'/> <target dev='vnet27'/>
<model type='virtio'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <input type='mouse' bus='ps2'/>
以上是在KVM虛擬機器中的配置xml的程式碼詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!