设为首页 收藏本站
查看: 978|回复: 0

[经验分享] 转:操作系统虚拟化之KVM

[复制链接]

尚未签到

发表于 2016-1-8 11:20:52 | 显示全部楼层 |阅读模式
操作系统虚拟化之KVM

KVM(Kernel-based Virtual Machine)是一个全虚拟化的解决方案,它自2.6.20以后正式成为Linux内核的一部分,也就是说,它是Linux内核官方支持的一个虚拟化方 案。KVM的硬件需求是CPU必须支持虚拟化,对于Intel CPU来说是Intel VT,AMD CPU则是 AMD-V。如何确定你的CPU支持硬件虚拟化呢?

egrep '(vmx|svm)' /proc/cpuinfo
vmx是Intel CPU的,svm则是AMD CPU的。我的CPU返回如下:

flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs
bts rep_good pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1
xsave lahf_lm ida tpr_shadow vnmi flexpriority
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs
bts rep_good pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1
xsave lahf_lm ida tpr_shadow vnmi flexpriority
在Ubuntu下面需要安装下面的软件:

sudo apt-get install kvm qemu-kvm
加入个人用户到kvm组,以保证个人用户可以读写/dev/kvm,否则,以个人用户无法运行kvm:

sudo adduser $USER kvm
如果想使用物理磁盘,则需要加个人用户到disk组:

sudo adduser $USER disk
现在最好重启一下计算机!

下面开始安装操作系统,我安装了Windows XP和Windows 7,下面以Windows XP为例开始安装。

先准备好一个磁盘文件,有2种常用的格式,一个是qemu的qcow2格式,一个是raw格式,前者是可以增长的文件格式,后者实际是磁盘上一个连续区域。

qcow2:

qemu-img create -f qcow2 winxp.img 10G
Raw:

dd if=/dev/zero of=winxp.img bs=1024K count=10000
下面开始安装,准备好安装光盘文件winxp.iso,下面是安装的指令:

kvm -m 1024 -cdrom=winxp.iso winxp.img -boot d -localtime
XP安装很快,20分钟左右就可以安装好,Win 7大约需要40分钟。下面开始以下后面的工作,会涉及更多的参数。

配置硬盘和网络的virtio模式,virtio是个半虚拟化的模式,速度比传统方式还要快些,根据Using virtio_net For The Guest NIC一文的测试,virtio还是很有优势的。

在虚拟机里面下载virtio windows guest驱动: Storage driver和Network driver,其中已经包含了xp、win7等的驱动。

根据boot from virtio block device一文的介绍,用以下方式进行安装驱动。

建一个临时的磁盘文件:

qemu-img create -f qcow2 fake.img 1G
启动虚拟机:

kvm -drive file=winxp.img,if=ide,boot=on -drive file=fake.img,if=virtio -m 1024
-localtime -net nic,model=virtio -net user -usb -usbdevice tablet
在启动的虚拟机里,会找到virtio设备,然后安装这两个驱动。安装完毕后,关机。以下面方式重新启动:

kvm -drive file=winxp.img,if=virtio,boot=on -m 1024 -net nic,model=virtio -net user
-usb -usbdevice tablet -soundhw es1370
下面配置远程桌面对Windows的访问,首先需要在虚拟机的Windows里面开启远程桌面,而且必须给用户加上密码,Windows XP和Windows 7需要是Professional以上版本。然后运行mmc继续配置远程桌面访问参数。

打开mmc后,“添加/删除管理单元“ -> “添加” -> “组策略对象编辑器” -> “本地计算机”。在里面配置:“计算机配置” -> “管理模板” -> “Windows 组件” -> “终端服务” -> “限制最大颜色深度”,设置为24位,原来默认是16位。

关机,重新以可以以新的模式后台运行:

kvm -M pc -drive file=winxp.img,if=virtio,boot=on -localtime -m 1024 -soundhw es1370
-net nic,model=virtio -net user -vnc 127.0.0.1:0 -daemonize -redir tcp:3389::3389
-name WindowsXP -usb -usbdevice tablet
-vnc 127.0.0.1:0表示以vnc模式运行,-daemonize表示kvm以后台运行,-redir tcp:3389::3389表示将虚拟机的3389端口映射为宿主机的3389端口上,这样rdesktop本机就可以进行远程桌面访问了。如果想实时 查看状态,可以使用vncviewer或者vinagre查看。

现在可以rdesktop进行访问了,下面是rdesktop的参数:

rdesktop localhost -u username -p password -f -D -z -P -r sound:local -clipboard
这里-z参数可以保证鼠标运行速度不缓迟,-f表示全屏。

虚拟机如何使用USB设备呢,首先要保证用户可以访问USB设备,qemu支持usb设备在虚拟机里面的拔插,在qemu界面里(或者vnc访问的界面里),Ctrl+Alt+2进入qemu monitor命令行控制模式,然后

usb_add host:vid:pid
查看usb设备:

info usb
Windows 7的运行和访问参数与Windows XP类似。

下面是我的一些截屏:

Windows XP:



Windows 7:



rdesktop 启用Windows 7字体平滑功能
由 何勃亮 在 星期五, 2010-04-02 09:36 发表。
rdesktop 连接上Windows 7以后,一般是不开启字体平滑功能,因此,字体不是特别好看,可以通过加入下面的参数来连接,就启用字体平滑功能了,而且原来的Win 7桌面也保留了,不像之前连接后出现的黑色桌面,还需要自己再设置下。

rdesktop localhost -x 0x80 -u username -p password -f -D -z -P -r sound:local -clipboard
主要是加入 -x 0x80 选项。



http://www.heboliang.cn/archive/kvm-windows.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-161822-1-1.html 上篇帖子: 在KVM上新建虚拟机 下篇帖子: qemu-kvm 网络 手动建桥接(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表