kvm下虚拟机的管理


kvm下虚拟机的管理
 
KVM 的高级管理
KVM 现在相当成熟,在三个比较常用管理程序(我所知道的),大家平时玩玩的话,就用 GUI 来管理就好了,GUI 都会我就不详细写了:
virt-manager: 这个我最常用,是 GUI 的,需要 x windows 的支持。这个是 RedHat 开发,大家想了解可以到  http://virt- manager.et.redhat.com/ 上看看
virt-install:python 写的文字介面的管理 kvm 的程序,这个也是Red Hat 开发的哦。
ubuntu-vm-builder:这个是 Canonical (Ubuntu)开发的文字的管理程序。
 
virt-install 的基本使用
(1. 安装 virt-install 和 图形化的连接软件 virt-viewer
 
$
 sudo apt-get install python-virtinst virt-viewer
详细使用可以 man virt-install
 
(2. virt-install 安装虚拟系统
 
例:
 
$
 virt-install \
 
--connect
 
qemu:///system
 
\
 
--name=
 虚拟机器的名字 \
 
--ram=设置内存的大小
 [MB] \
 
--os-type=操作系统的类型
 [linux ] \
 
--os-variant=操作系统的版本
 [centos 5.4] \
 
--hvm
 [全虚拟化( hvm )与半虚拟化( paravirt  )选择其一] \
 
--paravirt 
 [全虚拟化( hvm )与半虚拟化( paravirt  )选择其一] \
 
--accelerate 
 [KVM 加速器] \
 
--cdrom=系统安装的CD路径
 [*.iso] \
 
--file=虚拟硬盘的路径
 [*.qcow2] \
 
--file-size=虚拟硬盘的大小
 [GB] \
 
--bridge=br0
 \
 
--vnc
 \
 
--noautoconsole 
 \
 
--debug
 注意 Windows 只能用有全虚拟化( hvm )与半虚拟化( paravirt  )中选择 hvm.hvm 的意思是指硬件辅助的虚拟化,就是需要所谓的 VT 支持的。
 
 建出来的虚拟机会在 /etc/libvirt/qemu/虚拟机器名称.xml 有个配置文件
 
(3. 使用 virt-install  启动虚拟的机器
 
3.1直接模式:
virsh list                                    # 显示本地活动虚拟机
virsh start openSuse                  # 启动名字为ubuntu的非活动虚拟机
virsh create ubuntu.xml         # 创建虚拟机(创建后,虚拟机立即执行,成为活动主机)
virsh suspend openSuse        # 暂停虚拟机
virsh resume ubuntu            # 启动暂停的虚拟机
virsh shutdown ubuntu             # 正常关闭虚拟机
virsh destroy ubuntu            # 强制关闭虚拟机
virsh dominfo openSuse        # 显示虚拟机的基本信息
virsh dumpxml openSuse         # 显示虚拟机的当前配置文件
virsh setmem ubuntu 51200  # 给不活动虚拟机设置内存大小
virsh setvcpus ubuntu 4         # 给不活动虚拟机设置cpu个数
virsh edit ubuntu                # 编辑配置文件(一般用在刚定义完VM)
 
3.2互动模式
 
先输入virsh进入 virsh:shell中,然后命令就不需要输入virsh了,如下:
 
$
 virsh
 管理启动
 
virsh#
 start 虚拟机器名字
 
virsh#
 list  --all
 
virsh#
 quit
 
(4. 安装管理查看 virt-install 安装后的系统是否正常
 
virt-viewer
 --connect qemu+ssh://帐号@虚拟机实体主机IP   
 要连接的虚拟机器名字
 
virt-install 的其它使用
在原来的基础上复制一个新的虚拟机器
 
$
 virt-clone  --connect=qemu:///system
 
\
 
-o
 旧的虚拟机器名称  -n 新的虚拟机器名称  -f  新的虚拟硬碟路径 [*.qcow2]
查看所有虚拟出的机器
 
virsh#
 list --all
dump 虚拟出的机器配置文件
 
virsh#
 dumpxml 虚拟出的机器名称  /tmp/虚拟出的机器配置文件 [*.xml]
使用现有的虚拟出的机器配置文件建立虚拟新机器
 
virsh#
 define  /etc/libvirt/qemu/虚拟出的机器配置文件 [*.xml]
移除虚拟出的机器
 
virsh#
 undefine 虚拟出的机器名称
关闭虚拟出的机器
 
virsh#
 shutdown 虚拟出的机器名称
关掉虚拟出的机器的电源
 
virsh#
 destory 虚拟出的机器名称
 
KVM的小技巧
1.提升KVM的网络和硬盘IO在linux中的性能
官方提供了一个叫kvm-guest-drivers-windows的网卡驱动很不错,虚拟机的启动参数那里加上model=virtio这个参数,界面中也是可以设置的.硬盘也有virtio的驱动,记的使用.在Virt-manager 中可以选择 virtio disk.获得高性能的网络和磁盘操作
virtio的网卡驱动的地址: http://sourceforge.net/project/showfiles.php?group_id=180599&package_id=267943
virtio的硬盘驱动的地址:http://www.linux-kvm.com/sites/default/files/viostor.iso
 
2.和真实机器中资料共享
这个是超级方便的,不需要象VBox搞个文件夹,只要在Host的设置中直接给真实的Dev的块设备直接设定到Guest的配置中,然后在进入kvm中的系统,直接mount就行
 
3.转换VMWare的image让KVM能使用
我们先要安装一个小软件virt-goodies.
 
$
 sudo apt-get install virt-goodies
然后使用vmware2libvirt来给VMWare VM的基本资料vmx转成KVM可以读入的XML. 如
 
vmware2libvirt
 -f myvm.vmx > myvm.xml
在转VMWare VM的disk image, 使用qemu-img转成KVM能读的文件.
 
qemu-img
 convert -f vmdk myvm.vmdk -O qcow2 myvm.qcow2
可能还需要修改一下vmx转成的xml,
 
disk中的target dev,在VMWARE是ide(target dev=’hda’ bus=’ide’)可能要修改成scsi(target dev=’sda’ bus=’scsi’),我们看能不能找到ROOT就知道是不是用对了;
bridge mode, 给interface type=’network’修改成interface type=’bridge’, 而source network=’default’修改成source bridge=’br0′.
 
qcow选项,则会创建QCOW(写时复制)格式
修改后给VM的配置加入到libvirtd中.
 
virsh
 -c qemu:///system
 
define myvm.xml
 
virsh
 -c qemu:///system
 
list --all
FAQ:
1.如果在安装的时候见到"FATAL: Error inserting kvm_intel"
这是因为没有在BIOS中打开virtualization.需要进入BIOS中打开,然后断电重起.进入系统后打modprobe kvm-intel来加载模块
 
   先在虚拟机中打开windows自己的远程桌面,然后给用户设定密码,然后运行 rundll32 netplwiz.dll,UsersRunDll 启 用windows的自动登录。(这三步必不可少,否则rdesktop是无法连上winxp的)
   重新启动虚拟机,当听到winxp后台登录的声音后,即可用rdesktop远程登录:
 
rdesktop localhost:3389 -u *** -p *** -g 1280×700 -r sound:local
 
-u winxp的用户名, -p winxp的密码, -r sound:local  启用声音
 
现在可以看到桌面了吧。是不是灰常流畅呢?鼠标、键盘 都非常完美啊,剪贴板也可以公用哦。堪比装了tools的virtualbox,但是比后者占用的资源要少的多。

相关内容

    暂无相关文章