libvirt創建和管理KVM虛擬機

create disk:

qemu-img create -f raw test4.raw 8G


install:

virt-install --name test4 --hvm --ram 1024 --vcpu 2 --disk path=./test4.raw  --network network=default --cdrom=/root/CentOS-6.5-i386-minimal.iso --graphics vnc,listen=0.0.0.0 --noautoconsole

clone:
virt-clone --connect=qemu:///system -o test4 -n test11 -f ./test11.raw 


http://www.reader8.cn/jiaocheng/20120623/1819143.html

使用 libvirt創建和管理KVM虛擬機

1. libvirt介紹
    Libvirt是一個軟件集合,便於使用者管理虛擬機和其他虛擬化功能,比如存儲和網絡接口管理等等。Libvirt概括
起來包括一個API庫、一個daemon(libvirtd)和一個命令行工具(virsh)。
    Libvirt的主要目標是:提供一種單一的方式管理多種不同的虛擬化提供方式和hypervisor。
    Libvirt的主要功能如下:
    (1)虛擬機管理
             包括不同的領域生命週期操作,比如:啓動、停止、暫停、保存、恢復和遷移。
             支持多種設備類型的熱插拔操作,包括:磁盤、網卡、內存和CPU。
    (2)遠程機器支持
             只要機器上運行了libvirt daemon,包括遠程機器,所有的libvirt功能就都可以訪問和使用。
             支持多種網絡遠程傳輸,使用最簡單的SSH,不需要額外配置工作。比如:example.com運行了libvirt,
             而且允許SSH訪問,下面的命令行就可以在遠程的主機上使用virsh命令行。

                             virsh --connect qemu+ssh://[email protected]/system
    (3)存儲管理
            任何運行了libvirt daemon的主機都可以用來管理不同類型的存儲:創建不同格式的文件映像(qcow2、vmdk、raw等)、掛接NFS共享、列出現有的LVM卷組、創建新的LVM卷組和邏輯卷、對未處理過的磁盤設備分區、掛接iSCSI共享,等等等等。因爲libvirt可以遠程工作,所有這些都可以通過遠程主機使用。
     (4)網絡接口管理
           任何運行了libvirt daemon的主機都可以用來管理物理和邏輯的網絡接口。可以列出現有的接口卡,配置、創建接口,以及橋接、vlan和關聯設備等,通過netcf都可以支持。
     (5)虛擬NAT和基於路由的網絡
             任何運行了libvirt daemon的主機都可以用來管理和創建虛擬網絡。Libvirt虛擬網絡使用防火牆規則作爲路由器,讓虛擬機可以透明訪問主機的網絡

2. 使用libvirt創建kvm虛擬機
(1)製作虛擬機鏡像

qemu-img create-f qcow2 test.qcow2 10G(2)下載並複製iso鏡像到指定目錄,本文將所有鏡像及配置文件放到/var/lib/libvirt/images/目錄下,注意:有些系統因爲SELinux的原因,限定了qemu的訪問,所以,可以根據自己需求調整,默認放在/var/lib/libvirt/images/下。
(3)創建安裝配置文件,demo.xml如下,可以根據自己需求更改。

<domain type='kvm'>
        <name>test_ubuntu</name>//虛擬機名稱
        <memory>1048576</memory>//最大內存,單位k
        <currentMemory>1048576</currentMemory>//可用內存,單位k
        <vcpu>8</vcpu>//虛擬cpu個數
        <os>
          <type arch='x86_64' machine='pc'>hvm</type>
          <boot dev='cdrom'/>//光盤啓動
       </os>
       <features>
         <acpi/>
         <apic/>
         <pae/>
       </features>
       <clock offset='localtime'/>
       <on_poweroff>destroy</on_poweroff>
       <on_reboot>restart</on_reboot>
       <on_crash>destroy</on_crash>
       <devices>
         <emulator>/usr/libexec/qemu-kvm</emulator>
         <disk type='file' device='disk'>
          <driver name='qemu' type='qcow2'/>
           <source file='/var/lib/libvirt/images/test.qcow2'/>//目的鏡像路徑
           <target dev='hda' bus='ide'/>
         </disk>
         <disk type='file' device='cdrom'>
           <source file='/var/lib/libvirt/images/ubuntu.iso'/>//光盤鏡像路徑
           <target dev='hdb' bus='ide'/>
         </disk>
        <interface type='bridge'>//虛擬機網絡連接方式
          <source bridge='kvmbr0'/>//當前主機網橋的名稱
          <mac address="00:16:3e:5d:aa:a8"/>//爲虛擬機分配mac地址,務必唯一,否則dhcp獲得同樣ip,引起衝突
        </interface>
        <input type='mouse' bus='ps2'/>
         <graphics type='vnc' port='-1' autoport='yes' listen = '0.0.0.0' keymap='en-us'/>//vnc方式登錄,端口號自動分配,自動加1,可以通過virsh vncdisplay來查詢
       </devices>
     </domain>
virsh define demo.xml//創建虛擬機virsh start test_ubuntu //啓動虛擬機virsh vncdisplay test_ubuntu //查看虛擬機的vnc端口, 然後就可以通過vnc登錄來完成虛擬機的安裝
3. 使用剛纔創建好的鏡像來啓動一個新的虛擬機
(1)創建啓動配置文件,demo.xml如下。

<domain type='kvm'>
<name>myvm</name>  //創建名爲myvm的虛擬機
<memory>1048576</memory>
<currentMemory>1048576</currentMemory>
<vcpu>8</vcpu>
<os>
<type arch='x86_64' machine='pc'>hvm</type>
<boot dev='hd'/>//即harddisk,從磁盤啓動
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='localtime'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/test.qcow2'/>//目的鏡像路徑
<target dev='hda' bus='ide'/>
</disk>
<disk type='file' device='cdrom'>
<source file='/var/lib/libvirt/images/ubuntu.iso'/>//光盤鏡像路徑
<target dev='hdb' bus='ide'/>
</disk>
<interface type='bridge'>
<source bridge='kvmbr0'/>
<mac address="00:16:3e:5d:aa:a8"/>
</interface>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes' keymap='en-us'/>

</devices></domain>virsh define demo.xml

virsh start myvm
4, 虛擬機管理
    虛擬機的管理即通過virsh命令來完成,具體命令的使用參見:http://libvirt.org/sources/virshcmdref/html-single/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章