libvirt命令列文檔
Libvirt有兩種控制方式,命令列和圖形介面 圖形介面:通過執行名virt-manager,啟動libvirt的圖形介面,在圖形介面下可以一步一步的建立虛擬機器,管理虛擬機器,還可以直接控制虛擬機器的案頭。 命令列:virsh list #顯示本地活動虛擬機器virsh list –all #顯示本地所有的虛擬機器(活動的+不活動的)virsh define ubuntu.xml #通過設定檔定義一個虛擬機器(這個虛擬機器還不是活動的)virsh start ubuntu #啟動名字為ubuntu的非活動虛擬機器virsh create ubuntu.xml # 建立虛擬機器(建立後,虛擬機器立即執行,成為活動主機)virsh suspend ubuntu # 暫停虛擬機器virsh resume ubuntu # 啟動暫停虛擬機器virsh shutdown ubuntu # 正常關閉虛擬機器virsh destroy ubuntu # 強制關閉虛擬機器virsh dominfo ubuntu #顯示虛擬機器的基本資料virsh domname 2 # 顯示id號為2的虛擬機器名virsh domid ubuntu # 顯示虛擬機器id號virsh domuuid ubuntu # 顯示虛擬機器的uuidvirsh domstate ubuntu # 顯示虛擬機器的目前狀態virsh dumpxml ubuntu # 顯示虛擬機器的當前設定檔(可能和定義虛擬機器時的配置不同,因為當虛擬機器啟動時,需要給虛擬機器分配id號、uuid、vnc連接埠號碼等等)virsh setmem ubuntu 512000 #給不活動虛擬機器設定記憶體大小virsh setvcpus ubuntu 4 # 給不活動虛擬機器設定cpu個數virsh edit ubuntu # 編輯設定檔(一般是在剛定義完虛擬機器之後) libvirt還提供了一個shell:virsh,直接執行名virsh即可獲得一個特殊的shell:virsh,在這個virsh裡面可以執行上面的命令(去掉前面的virsh)與本地libvirt互動,還可以通過命令connect命令串連遠程libvirt,與之互動,例如:connect xen+ssh://root@10.4.122.11。另外可以只執行一條遠程libvirt命令:virsh –c xen+ssh://root@10.4.122.11 list --all ubuntu.xml設定檔舉例:<domain type='xen'><name>ubuntu</name><memory>1048576</memory><currentMemory>524288</currentMemory><vcpu>2</vcpu><os><type>hvm</type><loader>/usr/lib/xen/boot/hvmloader</loader><boot dev='hd'/></os><features><acpi/><apic/><pae/></features><clock offset='utc'/><on_poweroff>destroy</on_poweroff><on_reboot>restart</on_reboot><on_crash>restart</on_crash><devices><emulator>/usr/lib64/xen/bin/qemu-dm</emulator><disk type='file' device='disk'><driver name='file'/><source file='/opt/awcloud/ubuntu/ubuntu.img'/><target dev='hda' bus='ide'/></disk><disk type='file' device='disk'><driver name='file'/><source file='/opt/awcloud/ubuntu/sdb.img'/><target dev='hdb' bus='ide'/></disk><disk type='file' device='cdrom'><driver name='file'/><source file='/opt/awcloud/forest/ubuntu-10.04.3-desktop-i386.iso'/><target dev='hdc' bus='ide'/><readonly/></disk><serial type='pty'><target port='0'/></serial><console type='pty'><target port='0'/></console><interface type='bridge'><mac address='00:16:36:1e:1d:04'/><source bridge='virbr0'/></interface><graphics type='vnc' autoport='yes' keymap='en-us'/></devices></domain> 註:產生一個4G大小的空檔案:dd if=/dev/zero of=./disk bs=1024 count=`expr 4 \* 1024 \* 1024`修改虛擬機器的啟動裝置:<boot dev='hd'/>從硬碟啟動;<boot dev='cdrom'/>從CD啟動 網路參數:如ubuntu.xml設定檔,kvm虛擬機器和xen虛擬機器都只需要按照下面的模板進行配置,MAC地址是必須的,bridage的名字可能在不同的主機上是不一樣,可能是virbr0,也可能是br0,但類型一定要是橋接模式就可以了 <interface type='bridge'><mac address='00:16:36:1e:1d:04'/><source bridge='virbr0'/></interface> KVM虛擬機器移轉:遷移命令:virsh migrate –live<id or name> qemu+ssh://<dstip>/system tcp://<dstip>:49152遷移完之後,本地機器可能仍是定義狀態,要執行virsh undefine <name>清除