KVM简单教程

来源:互联网 发布:网络借贷的风险 编辑:程序博客网 时间:2024/05/22 16:08

研究了很久的KVM,感觉是我用过的最快的虚拟机。
对比之前常用的虚拟机。
Vmware的功能全面,设置简单,但其速度不是很好;
VirtualBox的效率虽然比Vmware高一些,但是存在不少缺点,感觉在运行时比较抢CPU,现在virtualbox已经支持smp,和虚拟化技术,但整体效率还是没有KVM高(但是图形效率作的不错);
KVM(Kernel-based Virtual Machine),基于内核的虚拟机,是我用过的最快的虚拟机,需要CPU支持虚拟化技术,并且在BIOS里打开虚拟化选项,效率可达到物理机的80%以上,对SMP的支持很好。CPU占用不超过8%,内存不超过20%。
所以现在强烈吐血卖命推荐KVM。
KVM需要你的机器支持 检查/proc/cpuinfo,如果在cpu flags字段看到了vmx或smx,那么你的处理器就支持KVM。

ubuntu下安装很容易 apt-get install qume-kvm
1. 先是创建一个磁盘镜像: qemu-img create -f qcow2/raw winxp.img 20G 
     命令选项解释,-f 指定镜像文件类型。
                              qcow2和raw的对比:
                              对比 raw的缺陷:加密 解决:把raw文件当普通文件加密
                                                             快照解决:比较复杂
                                                             宿主机需要支持hole模式解决:扩展raw的最大值
                                                             硬盘压缩解决:把raw当普通文件压缩
                              raw优于qcow的功能:效率
                             宿主可以直接挂载,直接读写虚拟机里的文件
                             通用性好,可以转为其他虚拟机的格式的中间格式                                                           
                                 winxp.img是指定镜像名称
                                 20G是指定镜像大小,保存按实际使用保存,可扩充
2. 启动虚拟机,安装系统: qemu-system-x86_64 -file=/media/kvm/ winxp.img -cdrom windowsxp.iso -boot d -m 512 -smp 2
     命令选项解释,-file指定虚拟机镜像文件位置,早期版本用-hda,现在那样的话,速度很慢
                                 -boot 指定从光盘还是硬盘启动 -d光盘 -c硬盘
                                 -m 512 虚拟机内存512M
                                 -smp 2  双核
3. 安装进行完成,虚拟机就可以用了,但是又两个问题:一是图形速度很难让人接受,跟没装显卡驱动似的
                                                                                                    二是无法联网
4. 解决图形问题,先要解决网络问题:从众多方法中,先适用了现在host虚拟网卡,然后guest再跟这个假网卡构成一个局域网,当host为路由的方法
                                  先关闭虚拟机,进行如下配置:
                                  apt-get install uml-utilities
                                  tunctl -t tap0 -u xxx      其中xxx为你host机的用户名
                                  chmod 0666 /dev/net/tun
                                  ifconfig tap0 192.168.0.10 netmask 255.255.255.0 up
                                  echo 1 > /proc/sys/net/ipv4/ip_forward
                                 上面一条要解释下,设置为1后,host就可以当做路由器用了
                                  iptables -t nat -A POSTROUTING -j MASQUERADE(这条意思没明白)
                          
                                 启动kvm虚拟机
                                 qemu-system-x86_64 -m 512 -hda ./windows.img -net nic -net tap,ifname=tap0,script=no -boot c -smp 2
                                 配置虚拟机的IP为于tap0 同网段,网关配置为tap0的ip,DNS同host主机的DNS 
                                 此时已经可以ping同host的tap0虚拟网卡,并且可以上网了
5. 解决图形问题,借助于远程登录技术
                                  kvm -M pc -m 512 -drive file=/media/kvm/winxp.img -hdb /dev/sda7 -net nic -net tap,ifname=tap0,script=no -usb -localtime -vnc 127.0.0.1:0 -daemonize -redir tcp:3389::3389 -smp 2
                                  -vnc 增加了vnc功能 可以通过ubuntu自带的远程桌面查看器查看
                                 -daemonize 后台启动虚拟机
                                 
                                  远程登录
                                  rdesktop 192.168.0.222:3389 -u administrator -p XXXXXX -g 1366x720 -D -r sound:local 
                                  192.168.0.222是虚拟机配置的IP地址 
                                 -u 后边是可以远程登录的虚拟机的用户名
                                 -p 是上述用户名的密码
PS:有可能第一次登录不上,原因是虚拟机内的新装系统没有开启远程登录功能,可以通过vnc方式(桌面查看器)登录,设置允许远程登录。
最后,感觉KVM在性能上比Virtualbox更加强大,另鼠标和键盘也不需要释放,使用自由。
希望广大Linux爱好者,尝试KVM,随时愿意跟大家继续讨论KVM使用中的问题。
             

原创粉丝点击