|
|
|
|
移动端

虽然学过虚拟化,这里还有你不知道的呦!

在计算机中,虚拟化是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。

作者:佚名来源:浙交院ZTE智慧交通ICT|2018-05-08 14:24

【新品产上线啦】51CTO播客,随时随地,碎片化学习

 什么是虚拟化技术

在计算机中,虚拟化是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。

虚拟化技术分为哪些

1.硬件虚拟化

2.虚拟机(Virtual machine或VM),可以像真实机器一样运行程序的计算机的软件实现

  • 便携式应用程序,允许程序在便携式设备中运行而不用在操作系统中安装
  • 跨平台虚拟化,允许针对特定CPU或者操作系统的软件不做修改就能运行在其他平台上,例如Wine
  • 虚拟设备,运行于虚拟化平台之上,面向应用的虚拟机映像
  • 模拟器
  • 完全虚拟化,敏感指令在操作系统和硬件之间被捕捉处理,客户操作系统无需修改,所有软件都能在虚拟机中运行,例如IBM CP/CMS,VirtualBox,VMware Workstation
  • 硬件辅助虚拟化,利用硬件(主要是CPU)辅助处理敏感指令以实现完全虚拟化的功能,客户操作系统无需修改,例如VMware Workstation,Xen,KVM
  • 部分虚拟化,针对部分应用程序进行虚拟,而不是整个操作系统
  • 准虚拟化/超虚拟化(paravirtualization),为应用程序提供与底层硬件相似但不相同的软件接口,客户操作系统需要进行修改,例如早期的Xen
  • 操作系统级虚拟化,使操作系统内核支持多用户空间实体,例如Parallels Virtuozzo Containers,Unix-like系统上的chroot,Solaris上的Zone
  • 平台虚拟化,将操作系统和硬件平台资源分割开
  • 应用程序虚拟化,在操作系统和应用程序间建立虚拟环境

3.虚拟内存,将不相邻的内存区,甚至硬盘空间虚拟成统一连续的内存地址

4.存储虚拟化,将实体存储空间(如硬盘)分隔成不同的逻辑存储空间

5.网络虚拟化,将不同网络的硬件和软件资源结合成一个虚拟的整体

虚拟专用网络(VPN),在大型网络(通常是Internet)中的不同计算机(节点)通过加密连接而组成的虚拟网络,具有类似局域网的功能

存储器虚拟化,将网络系统中的随机存储器聚合起来,形成统一的虚拟内存池

6.桌面虚拟化,在本地计算机显示和操作远程计算机桌面,在远程计算机执行程序和储存信息

7.数据库虚拟化

8.软件虚拟化

9.服务虚拟化

10.虚拟化发展时间线

最好不要虚拟化

虚拟化虽好,但在数据中心里并不能把所有的东西都拿来虚拟化。下面所列举的服务器就并不适合整合进入虚拟化平台。

近些年虚拟化技术对IT行业的发展有很大的帮助,但有时它并不是万能的。

对数据中心来说,虚拟化可以节约成本,最大化利用数据中心的容量和更好的保护数据。资源虚拟化管理为CIO提供了有形的指标,让IT部门运行更加有效率。

既然虚拟化有这么多的好处,那么问题来了:虚拟化就一定是好的吗?

在一些特殊的情况下,虚拟化并不理想。那些数据中心里不可或缺的资源就必须部署在物理服务器。将这些资源放在虚拟化平台也不是不能正常工作,但放在物理服务器是合理的风险规避。

虚拟机原理

虚拟机是对真实计算环境的抽象和模拟,VMM 需要为每个虚拟机分配一套数据结构来管理它们状态,包括虚拟处理器的全套寄存器,物理内存的使用情况,虚拟设备的状态等等。VMM 调度虚拟机时,将其部分状态恢复到主机系统中。并非所有的状态都需要恢复,例如主机 CR3 寄存器中存放的是 VMM 设置的页表物理地址,而不是 Guest OS 设置的值。主机处理器直接运行 Guest OS 的机器指令,由于 Guest OS运行在低特权级别,当访问主机系统的特权状态(如写 GDT寄存器)时,权限不足导致主机处理器产生异常,将运行权自动交还给 VMM。此外,外部中断的到来也会导致 VMM 的运行。

VMM 可能需要先将 该虚拟机的当前状态写回到状态数据结构中,分析虚拟机被挂起的原因,然后代表 Guest OS 执行相应的特权操作。最简单的情况,如Guest OS 对 CR3 寄存器的修改,只需要更新虚拟机的状态数据结构即可。一般而言,大部分情况下,VMM 需要经过复杂的流程才能完成原本简单的操作。最后 VMM 将运行权还给 Guest OS,Guest OS 从上次被中断的地方继续执行,或处理 VMM “塞”入的虚拟中断和异常。这种经典的虚拟机运行方式被称为 Trap-And-Emulate,虚拟机对于 Guest OS 完全透明,Guest OS 不需要任何修改,但是 VMM 的设计会比较复杂,系统整体性能受到明显的损害。

【编辑推荐】

  1. IDV和VDI,桌面虚拟化选哪种好?
  2. 关于服务器虚拟化的趋势分析(上)
  3. 内存虚拟化到底是咋整的?
  4. 关于服务器虚拟化的趋势分析
  5. 服务器虚拟技术中的鬼吹灯三人组:KVM、XEN、OVZ
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

J2EE开发全程实录

J2EE是目前企业级软件开发的首选平台。本书从架构的角度讲解了一个完整的J2EE系统的搭建。内容包括:正则表达式、JSP、Swing、XML等技术在...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊