virsh命令管理虛擬機


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>
View Code

  代碼分析: 

  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/

  <。)#)))≦


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM