虚拟化技术简介

            现在云计算吵的比较火,记得大学的时候,有些同学要租一些服务器,就到淘宝上租个阿里云啥的,挺实惠的。当初就感觉云这东西挺高端的,也不知道里面的原理是啥。其实,提到云计算,就离不开虚拟化技术,说白了,虚拟化技术就是一套解决方案,为了节约成本,才搞了个这东西出来。换一个角度说,虚拟化技术也是为了合理利用物理资源,避免物理资源的浪费。但是,要想使用虚拟化技术,有一个必要条件,就是你的硬件必须得支持虚拟化。

            我们这里主要介绍x86的虚拟化技术,如果把x86平台的cpu,内存等作为资源,那么对应的虚拟化技术就是平台虚拟化,在一个x86平台上,我们可以虚拟出多个x86平台,每个虚拟化平台可以运行自己的操作系统。这里我们引入一个新的概念叫做虚拟机监控器(VMM),也叫做Hypervisor。Hypervisor是运行在物理设备上的,这个真是的物理设备叫做Host机,也叫做宿主机。而虚拟出来的平台叫做客户机。里面运行的操作系统叫做客户机操作系统。

           虚拟化技术有很多,比如KVM,xen等,我们主要介绍KVM技术,xen大家有兴趣的话,可以自学一下。KVM是Kernel Virtual Machine的简称,内核虚拟机。KVM虚拟机最初是由一家以色列的创业公司开发的,作为他们的VDI产品的虚拟机。为了简化开发,KVM的开发人员没有选择从底层开始新写一个Hypervisor,而是基于Linux Kernel通过加载新的模板从而使Linux Kernel本身变为一个Hypervisor。现在KVM源代码也纳入了Linux Kernel中,成为Linux内核源代码的一部分了。在KVM架构中,虚拟机实现为常规的Linux进程,由标准的Linux调度程序进行调度。事实上,每个虚拟CPU显示为一个常规的Linux进程,这使得KVM能够享受Linux内核的所有功能。有一点需要注意,就是KVM本身不执行任何模拟,需用用户控件程序通过/dev/kvm接口设置一个客户机虚拟服务器的地址空间,向它提供模拟的I/O,并且将它的视屏显示映射到Host机的显示屏,目前这个功能是由qemu来实现。

         KVM的功能特性有一下几点:

         1.内存管理

         2.存储管理

         3.设备驱动程序管理

         4.性能和可伸缩性

         关于虚拟化,我们还需要学习一个东西是libvirt,它可以说是一个软件接口,适用于大多数的虚拟化技术。并且可以对应多种语言,Java , Python等。用起来相当方便。

         其实,大家可以想一想,所有的技术都想往一个方向发展,那就是接纳多元化,让其统一。以前的跨平台也就是这么一个道理。关于libvirt的学习,我们下一篇文章介绍。

         以后,我会阶段性的写一些技术文章,希望能够帮助大家,同时也希望,我的文章能够成就我自己,大家多多支持我。有什么建议,可以私信我,也可以下面留言。今天就到这了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值