virsh命令管理虛擬機
libvirt有兩種控制方式,命令行和圖形界面。
1.圖形界面:通過執行名virt-manager,啟動libvirt的圖形界面,在圖形界面下可以一步一步的創建虛擬機,管理虛擬機,還可以直接控制虛擬機的桌面。
2.命令行就是接下來我所說的。如何通過命令行來控制虛擬機。
創建虛擬機
在/etc/libvirt/qemu下新建xml文件,如node.xml。需要有內存、cpu、硬盤設置、光驅以及vnc等等。以下是我根據Openstack啟的虛機修改而成,沒辦法,直接用Openstack的文件啟動虛機會失敗的,網橋不兼容什么的原因,具體的我忘了,原諒我那只有7秒鍾的記憶吧~代碼貼到下面了:
1 <domain type='qemu'> 2 <name>node3</name> 3 <uuid>84b31010-6124-4529-baf9-bae25e18d933</uuid> 4 <memory unit='KiB'>524288</memory> 5 <currentMemory unit='KiB'>524288</currentMemory> 6 <vcpu placement='static'>1</vcpu> 7 <sysinfo type='smbios'> 8 <system> 9 <entry name='manufacturer'>Red Hat Inc.</entry> 10 <entry name='product'>OpenStack Nova</entry> 11 <entry name='version'>2014.1.1-2.el6</entry> 12 <entry name='serial'>421c7a3a-7f61-cde9-13cb-8b5804fc62cc</entry> 13 <entry name='uuid'>84b31010-6124-4529-baf9-bae25e18d933</entry> 14 </system> 15 </sysinfo> 16 <os> 17 <type arch='x86_64' machine='rhel6.5.0'>hvm</type> 18 <boot dev='hd'/> //硬盤啟動 19 <smbios mode='sysinfo'/> 20 </os> 21 <features> 22 <acpi/> 23 <apic/> 24 </features> 25 <cpu mode='host-model'> 26 <model fallback='allow'/> 27 </cpu> 28 <clock offset='utc'/> 29 <on_poweroff>destroy</on_poweroff> 30 <on_reboot>restart</on_reboot> 31 <on_crash>destroy</on_crash> 32 <devices> 33 <emulator>/usr/libexec/qemu-kvm</emulator> 34 <controller type='usb' index='0'> 35 <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> 36 </controller> 37 <memballoon model='virtio'> 38 <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> 39 </memballoon> 40 </devices> 41 </domain>
代碼分析:
1.<domain type='kvm'> 域類型,也可以是xen
2.<name>node3</name> 虛擬機的名字
3.<memory unit='KiB'>524288</memory> 虛擬機的最大內存
4.<currentMemory unit='KiB'>524288</currentMemory> 虛擬機當前的內存
5.<vcpu>2</vcpu> 該虛擬機的cpu數
6.<boot dev='hd'/> hd表示從硬盤啟動,cdrom表示從光盤啟動
7.<type arch='x86_64' machine='rhel6.5.0'>hvm</type> 表示全虛擬化
其實還有好多其他的屬性:
1.<console type='pty'> console用來代表交互性的控制台
2.<interface type='bridge'> 網橋
3.<source bridge='virbr0'/> 網橋名
4.<mac address='00:16:36:1e:1d:04'/> MAC地址
5.<graphics type='vnc' autoport='yes' keymap='en-us'/> 圖形類型
編輯之后就可以保存退出了。
啟動虛擬機
1 virsh define /etc/libvirt/qemu/node3.xml 2 virsh start node3
第一行命令就是創建定義也就是創建一個虛擬機。第二行就是啟動剛剛創建的虛擬機,如果啟動成功,可以使用命令
1 virsh list
查看剛剛啟動的虛擬機。
遷移虛擬機
在進行遷移之前,需要先配置一下你的兩台物理機,具體配置方法請移步Openstack虛擬機熱遷移,然后參照此文進行配置。
配置完成后先使用命令行
1 virsh -c qemu+ssh://ip/system
進行測試,如果可以進入virsh然后可以進行如下的命令進行遷移:
1 virsh migrate --live qemu+ssh://ip/system --unsafe
其它操作
virsh start x 啟動名字為x的非活動虛擬機
virsh create x.xml 創建虛擬機(創建后,虛擬機立即執行,成為活動主機)
virsh suspend x 暫停虛擬機
virsh resume x 啟動暫停的虛擬機
virsh shutdown x 正常關閉虛擬機
virsh destroy x 強制關閉虛擬機
virsh dominfo x 顯示虛擬機的基本信息
virsh domname 2 顯示id號為2的虛擬機名
virsh domid x 顯示虛擬機id號
virsh domuuid x 顯示虛擬機的uuid
virsh domstate x 顯示虛擬機的當前狀態
virsh dumpxml x 顯示虛擬機的當前配置文件(可能和定義虛擬機時的配置不同,因為當虛擬機啟動時,需要給虛擬機分配id號、uuid、vnc端口號等等)
virsh setmem x 512000 給不活動虛擬機設置內存大小
virsh edit x 編輯配置文件(一般是在剛定義完虛擬機之后)
PS:本博客歡迎轉發,但請注明博客地址及作者~
博客地址:http://www.cnblogs.com/voidy/
<。)#)))≦
