virsh命令管理虚拟机
libvirt有两种控制方式,命令行和图形界面。
1.图形界面:通过执行名virt-manager,启动libvirt的图形界面,在图形界面下可以一步一步的创建虚拟机,管理虚拟机,还可以直接控制虚拟机的桌面。
2.命令行就是接下来我所说的。如何通过命令行来控制虚拟机。
创建虚拟机
在/etc/libvirt/qemu下新建xml文件,如node.xml。需要有内存、cpu、硬盘设置、光驱以及vnc等等。以下是我根据Openstack启的虚机修改而成,没办法,直接用Openstack的文件启动虚机会失败的,网桥不兼容什么的原因,具体的我忘了,原谅我那只有7秒钟的记忆吧~代码贴到下面了:
<domain type='qemu'>
<name>node3</name>
<uuid>84b31010-6124-4529-baf9-bae25e18d933</uuid>
<memory unit='KiB'>524288</memory>
<currentMemory unit='KiB'>524288</currentMemory>
<vcpu placement='static'>1</vcpu>
<sysinfo type='smbios'>
<system>
<entry name='manufacturer'>Red Hat Inc.</entry>
<entry name='product'>OpenStack Nova</entry>
<entry name='version'>2014.1.1-2.el6</entry>
<entry name='serial'>421c7a3a-7f61-cde9-13cb-8b5804fc62cc</entry>
<entry name='uuid'>84b31010-6124-4529-baf9-bae25e18d933</entry>
</system>
</sysinfo>
<os>
<type arch='x86_64' machine='rhel6.5.0'>hvm</type>
<boot dev='hd'/> //硬盘启动
<smbios mode='sysinfo'/>
</os>
<features>
<acpi/>
<apic/>
</features>
<cpu mode='host-model'>
<model fallback='allow'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<controller type='usb' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</memballoon>
</devices>
</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'/> 图形类型
编辑之后就可以保存退出了。
启动虚拟机
virsh define /etc/libvirt/qemu/node3.xml
virsh start node3
第一行命令就是创建定义也就是创建一个虚拟机。第二行就是启动刚刚创建的虚拟机,如果启动成功,可以使用命令
virsh list
查看刚刚启动的虚拟机。
迁移虚拟机
在进行迁移之前,需要先配置一下你的两台物理机,具体配置方法请移步Openstack虚拟机热迁移,然后参照此文进行配置。
配置完成后先使用命令行
virsh -c qemu+ssh://ip/system
进行测试,如果可以进入virsh然后可以进行如下的命令进行迁移:
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/
<。)#)))≦