虚拟化技术(上)

虚拟化技术

3.1虚拟化技术简介
虚拟化技术其实很早以前就已经出现了,虚拟化的概念也不是最近几年才提出来的。虚拟化技术最早出现于20世纪60年代,那时候的大型计算机已经支持多操作系统同时运行,并且相互独立。如今的虚拟化技术不再是仅仅只支持多个操作系统同时运行这样单一的功能了,它能够帮助用户节省成本,同时提高软硬件开发效率,为用户的使用提供更多的便利。尤其近年来,虚拟化技术在云计算与大数据方向上的应用更加广泛。虚拟化技术有很多分类,针对用户不同的需求涌现出了不同的虚拟化技术与方案,如网络虚拟化、服务器虚拟化、操作系统虚拟化等,这些不同的虚拟化技术为用户很好地解决了实际需求。
1)概念:虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,虚拟化而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。
虚拟化技术也与VMware Workstation等同样能达到虚拟效果的软件不同,是一个巨大的技术进步,具体表现在减少软件虚拟机相关开销和支持更广泛的操作系统方面。纯软件虚拟化解决方案存在很多限制。“客户”操作系统很多情况下是通过VMM(VirtualMachineMonitor,虚拟机监视器)来与硬件进行通信,由VMM来决定其对系统上所有虚拟机的访问。(注意,大多数处理器和内存访问独立于VMM,只在发生特定事件时才会涉及VMM,如页面错误。)在纯软件虚拟化解决方案中,VMM在软件套件中的位置是传统意义上操作系统所处的位置,而虚拟化技术将各种资源虚拟出多台主机操作系统的位置是传统意义上应用程序所处的位置。
虚拟化技术是一套解决方案。完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如VMM软件或者某些操作系统本身。即使只是CPU支持虚拟化技术,在配合VMM的软件情况下,也会比完全不支持虚拟化技术的系统有更好的性能。
两大CPU巨头Intel和AMD都想方设法在虚拟化领域中占得先机,但是AMD的虚拟化技术在时间上要比Intel落后几个月。Intel自2005年末开始便在其处理器产品线中推广应用Intel Virtualization Technology(Intel VT)虚拟化技术。而AMD方面也已经发布了支持AMD Virtualization Technology(AMD VT)虚拟化技术的一系列处理器产品,包括Socket S1接口的Turion 64 X2系列以及Socket AM2接口的Athlon 64 X2系列和Athlon 64 FX系列等等,并且绝大多数的AMD下一代主流处理器,包括即将发布的Socket F接口的Opteron都将支持AMD VT虚拟化技术。
虚拟化技术可以实现大容量、高负载或者高流量设备的多用户共享,每个用户可以分配
到一部分独立的、相互不受影响的资源。每个用户使用的资源是虚拟的,相互之间都是独立
的,虽然这些数据有可能存放在同在一台物理设备中。以虚拟硬盘来说,用户使用的是由虚拟化技术提供的虚拟硬盘,而这些虚拟硬盘对于用户来说就是真实可用的硬盘,这些虚拟硬盘在物理存储上可能就是两个不同的文件,但用户只能访问自己的硬盘,不能访问别人的硬盘,所以他的各自的数据是安全的,是相互不受影响的。甚至各个用户使用的网络接口都是不一样的,所使用的网络资源也是不一样的,使用的操作系统也不一样。
使用虚拟化技术可以将很多零散的资源集中到一处,而使用的用户则感觉这些资源是一个整体。如存储虚拟化技术则可以实现将很多的物理硬盘集中起来供用户使用,用户使用时看到的只是一块完整的虚拟硬盘。
使用虚拟化技术可以动态维护资源的分配,动态扩展或减少某个用户所使用的资源。用户如果产生了一个需求,如需要添加更多的硬盘空间或添加更多的网络带宽,虚拟化技术通过更改相应的配置就可以很快地满足用户的需求,甚至用户的业务也不需要中断。
随着虚拟化技术在不同的系统与环境中的应用,它在商业与科学方面的优势也体现得越
来越明显。虚拟化技术为企业降低了运营成本,同时提高了系统的安全性和可靠性。虚拟化技术使企业可以更加灵活、快捷与方便地为最终的用户进行服务,并且用户也更加愿意接受虚拟化技术所带来的各种各样的便利。
虚拟化技术可以同时模拟出多个不同的硬件系统,而操作系统则安装在虚拟出来的硬件系统之上,操作系统与应用程序将不再独占整个硬件资源,从而实现了多个操作系统可同时运行的效果。
2)分类:1. 网络虚拟化
网络虚拟化将网络资源进行整合,简单来说,就是将硬件与软件的网络设备资源,以及
网络功能整合为一个统一的、基于软件可管理的虚拟网络。网络虚拟化是一种包含至少部分是虚拟网络连接的计算机网络。虚拟网络连接是指,在多个计算设备间不包含物理连接,而是通过网络虚拟化来实现的网络连接。有两种常见的虚拟网络:基于协议(如VXLAN、VLAN、VPN和VPLS 等)的虚拟网络和基于虚拟设备(如在 Hypervisor内部的网络连接虚拟机)的虚拟网络。网络虚拟化经常应用到大型的服务器中,如云计算服务器。当前在网络虚拟化中(NetworkFunctionVirtualization, NFV) 等。较成熟的整体方案则是软件定义网络(Software Defined Network, SDN) 与网络功能虚拟化SDN 起源于园区网,成熟于数据中心,关注于网络控制面和转发面的分离,处理的是OSI模型中的2-3层,SDN 优化网络基础设施架构,如以太网交换机,路由器和无线网络等;NFV始于大型运营商,关注网络转发功能的虚拟化和通用化,处理的是OSI模型中的4-7层,NFV优化网络的功能,如负载均衡,防火墙,WAN网优化控制器等。
2. 存储虚拟化
存储虚拟化,即整合所有存储资源为一个存储池,对外提供逻辑存储接口,用户通过逻
辑接口进行数据的读写,不论有多少个硬件存储设备,对外看到的只有一个。存储虚拟化最通俗的理解就是对存储硬件资源进行抽象化表现,通过将一个或多个目标(Target) 服务或功能与其他附加的功能集成,统一提供全面的功能服务。对于用户来说,虚拟化的存储资源就像是一个巨大的“存储池”, 用户不会看到具体的磁盘,不知道有多少磁盘,也不必关心自己的数据具体存储在哪一块磁盘中。经过存储虚拟化后,用户看到的就是一块硬盘,而与硬盘的交互也只需要与这一块硬盘进行交互即可,至于用户最终的数据存放到哪里,则由存储虚拟化管理程序决定。
存储虚拟化的实现主要有两种方式:块虚拟化(Block Virtualization) 和文件虚拟化
(File Virtualization) .块虚拟化通过存储区域网络(Storage Area Network, SAN) 将远程的硬盘块挂载到本地,如 Internet 小型计算机系统接口(Internet Small Computer System
Interface,iSCSI) .然后再通过逻辑卷管理(Logical Volume Manager, LVM) 的方式将这些硬盘块组合到一起成为一个新的硬盘。文件虚拟化是通过SAN将远程的文件系统路径挂载
到本地,如NFS与 SMB (Samba文件服器), 在本地看到的则是指定路径下的文件,而并非一个硬盘块。
3.服务器虚拟化
服务器虚拟化有时也称为平台虚拟化,是将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,用户不再受限于物理上的界限,实现CPU、内存、磁盘、I/O 等硬件变成可以动态管理的“资源池”, 而提高资源的利用率,简化系统管理,实现服务器整合,让IT对业务的变化更具适应力。
服务器虚拟化实际上是将操作系统和应用程序打包成虚拟机(Virtual Machine, VM) , 从
的、运行在一个完全隔离环境中的完整计算机系统。在虚拟机里运行的操作系统称为客户机操作系统(Guest OS) , 而管理这些虚拟机的平台称为虚拟机监视器(Virtual Machine Monitor,VVM) , 也称为 Hypervisor.运行虚拟机监视器 VMM 的操作系统被称为主机操作系统(HostOS) .VMM 是虚拟机技术的核心,它是一层位于操作系统和计算机硬件之间的代码,用来将硬件平台分割成多个虚拟机。VMM 不仅可以管理虚拟机运行状态,还可以对虚拟机进行定制,如CPU数量、内存大小等。
并非所有的服务器虚拟化都需要 Host OS.有些虚拟化产品可以直接运行在裸机中,即运
行在硬件之上,如 VMware ESX 系列,Xen Server等虚拟化产品。因此,从是否包含 HostOS主机操作系统的角度可将服务器虚拟化分为两种类型,类型1 (裸金属架构)与类型2 (寄居架构)。
从虚拟化的程度来看,服务器虚拟化还可分为:全虚拟化,半虚拟化和硬件辅助虚
拟化。
全虚拟化(Full Virtualization) : 是指虚拟机模拟了完整的底层硬件,包括处理器、物理内存、网卡、显示器等,即完整地模拟了一台真实的计算机硬件设备。这样在虚拟机设备中运行的操作系统不需要做任何修改就可以正常运行,就像是在真实的物理环境中一样。
半虚拟化(Para-Virtualization) : 半虚拟化的出现是由于全虚拟化在执行有些权限操作时由于执行时间过长,不能满足需求而出现的。为了减少客户机的执行时间,半虚拟化的方式允许客户机在执行某些耗时的指令时,直接运行在真实的宿主机中,或者真实的硬件上,这样可以提高执行效率,减少指令的执行时间。为了实现半虚拟化,需要对客户机操作系统进行一些修改,使得客户机在真正运行时可以通过 VMM 提供的半虚拟化 API, 使得指令直接运行在真实的硬件上,或宿主机中。
硬件辅助虚拟化(Hardware-assisted Virtualization) : 这是为 CPU 提供的功能,专门用于提高虚拟机运行的效率,使得虚拟可以再快速的执行特权指令,减少过多的上下文
切换与模拟。常见的硬件辅助虚拟化技术有 Intel-VT, AMD-V 等。它们提供特定的指令,而VMM则可以利用这些特定的指令提高虚拟机运行的效率。现如今,在X86系列平台中,有很多虚拟化技都用到了这项辅助功能,如KVM、VMware 及 Xen 等都用到了这些特殊指令。
4. 操作系统虚拟化
操作系统虚拟化是指在同一操作系统上,同时运行单个或者多个独立的用户,他们都有自己的运行空间。每个用户都只能运行自己权限范围内的应用,每个用户都相互不受影响。每个用户可以通过远程桌面访问自己的资源,但共享同一个操作系统。
5. 服务虚拟化
服务虚拟化是一种虚拟的应用,它与硬件无关,为软件实现。服务虚拟化对终端用户来
说是隐藏的,简单来说就是通过虚拟化提供相应的服务,如防火墙(Firewall) 、负载均衡
(Load Balance) 、数据库、数据存储等。如防火墙服务虚拟化为FWaaS (Firewall as a Service)服务,负载均衡虚拟化为LBaaS (Load Balance as a Service) 服务。
6. 桌面虚拟化
桌面虚拟化是指将计算机的终端系统(也称为桌面)进行虚拟化,以达到桌面使用的安全性和灵活性。可以通过多种设备,如PC、平板电脑以及手机,在任何地点、任何时间通过
网络访问个人的桌面系统。
用户在同一个物理设备上可以同时访问多个不同的桌面系统,这些桌面系统的操作系统
可以是相同的,也可以是不同的。而服务器将用户的桌面独立出来,每个用户都有自己的用户空间,相互不影响。独立出来的桌面与相应的应用软件相配合则可以实现用户在远程访问桌面。常见的使用方式是用户远程连接或者使用瘦客户机(Thin Client) 对虚拟桌面进行访问与使用。
7. 应用虚拟化
应用虚拟化是指同一个应用可以在不同的CPU体系架构、不同的操作系统上正常地运行。应用虚拟化也是一种软件技术,它是一种与底层操作系统无关的封装。应用虚拟化可以实现在不同的操作系统、不同的 CPU 架构中,应用程序只写一套代码即可处处可运行。如JVM (Java Virtual Machine) 支持Java代码,使用 Java 实现的应用程序只需要在系统中搭建好 JVM 环境则可以正常运行。同样的,还有其他很多软件也支持这类应用虚拟化,如Python、Wine 等(也是一种应用虚拟化,在Linux平台中比较常见。如果想要在Linux 平台上运行 Windows 应用程序,如果不安装虚拟机,则可以安装一套 Wine 环境,然后就可以直接运行 Windows应用程序)。
8. 用户体验虚拟化
用户体验虚拟化,有时也称用户虚拟(User Virtualization) , 是指在不同的设备中,如笔记本、平板电脑或手机,用户所看到的内容或者界面都是一样的,在其中一台设备中的修改,在另一台设备上看到的配置或修改结果是一致的。用户的相关信息与应用的配置都会被同
步到相应的用户设备中。
3)优势和劣势:
1、虚拟化技术的优势
虚拟化技术的优势主要体现在以下几个方面。(1) 减少物理资源的投入,节约成本当用户需要不同的操作系统或更多的计算机设备资源时,且接通过 VMM添加几个不同的操作系统即可,不再需要使用时可直接关闭或者删除相应的资源。
(2) 虚拟数据资源迁移方便
可以很方便地将虚拟数据资源(一般为虚拟机生成的数据)迁移到其他数据中心,而拟数据资源不受影响。如果涉及数据的迁移或者设备损坏,则无须迁移物理设备,只要将VMM生成的数撰名份到其他数据中心,然后再通过VMM管理起来就可以了,而以前的数据与服务不会受到任但影响。
(3) 提高物理资源的使用率
传统的服务器主机的CPU平均使用率都在10%以内,根本就没有使CPU的使用达到一个理想的状态,这是极大的资源浪费。使用虚拟化技术,可以使多台服务器部署到同一台物理设备上,这样可以提高这台物理设备的使用率,显著减少成本开销。
(4) 更加环保,节省能源
通过应用虚拟化技术,可以减少物理硬件的投入,从而降低物理硬件所使用的电能以及占地空间,从而更加的环保。
(5) 易于自动化维护与操作,减少维护成本
虚拟化技术通过软件的方式来模拟物理设备,只要是软件的方式实现的虚拟资源,就可以通过相应的接口进行自动地维护与管理,可以提高工作效率,减少维护成本。
(6) 数据安全更有保障
每个虚拟化出来的设备在物理设备中都会有相应的文件产生,管理员只需要对数据进行相应的备份,并定期管理,就可以保证这些数据的安全。如果出现了不可抗拒的情况,如自然
灾害等情况,毁坏了物理设备,则管理员只需要将已经备份的数据恢复到新的设备中即可恢复用户的数据。如果架构得当,甚至都不会中断用户工作就可以将系统进行更新与替换。当然,虚拟化技术不是万能的,也有它解决不了的问题,并不是适合所有的用户。就目前虚拟化技术的发展来看,仍然存在缺陷。
2. 虚拟化技术的劣势
(1) 目前业界没有统一的虚拟化技术标准与平台,没有开放的协议。市场上有很多不同的
虚拟化技术提供商,如Microsoft、VMware、Xen等。它们所使用的虚拟化技术的运行效果并不一样,相互并不兼容。
(2) 如果没有对数据进行备份,应用虚拟化技术会存在一定的风险。虚拟化技术虽然可以
实现数据备份,但它毕竟还是建立在真实的硬件系统之上的,如果将多个应用与服务器放到同一台物理设备上之后,如果该物理设备出现问题,并且没有冗余的物理设备作为备份,则所有应用与服务都将无法使用。
(3) 虚拟数据中心的迁移,特别是对在线服务的迁移,对用户影响巨大。因为它的数据量
大,应用程序繁多,结构复杂,一旦迁移,有可能会造成很多不可预知的影响。
4)虚拟化技术与云计算
云计算和虚拟化并非捆绑技术,二者同时使用仍可正常运行并实现优势互补。云计算和虚拟化二者交互工作,云计算解决方案依靠并利用虚拟化提供服务,而那些尚未部署云计算解决方案的公司仍然可以利用端到端虚拟化从内部基础设施中获得更佳的投资回报和收益。
虚拟化是云计算中主要支撑技术之一。虚拟化将应用程序和数据在不同层次以不同的面貌展现,这样有助于使用者、开发及维护人员方便的使用、开发及维护这些应用程序及数据。虚拟化允许IT部门添加、减少移动硬件和软件到它们想要的地方。虚拟化为组织带来灵活性,从而改善IT运维和减少成本支出。
云计算和虚拟化是密切相关的,但是虚拟化对于云计算来说并不是必不可少的。云计算为基础设施带来的服务如:管理一个私有云(在你的数据中心)、公共云(比如是SalesForce)和管理托管云(托管在别处的虚拟服务器)以及许多其它的增值服务,这些都是虚拟化和云计算的不同可以这么说,云计算把计算当做公用资源,而不是一个具体的产品或者是技术。作为一个最为基本的想法,我们可以说云计算是由公用计算的概念演进而来,也可以把云计算想象为把许多不同的计算机当做一个计算环境。
云计算将各种IT资源以服务的方式通过互联网交付给用户。然而虚拟化本身并不能给用户提供自服务层。没有自服务层,就不能提供计算服务。云计算模型允许终端用户自行提供自己的服务器、应用程序和包括虚拟化等其它的资源,这反过来又能使企业最大程度的处理自身的计算资源,但这仍需要系统管理员为终端用户提供虚拟机。
通过上海瑭锦信息技术总结云计算与虚拟化的关系介绍,希望楼主能够更好直观地了解到云计算与虚拟化这两个概念和这两者之间的关系,并且能够很好地将这两种计算运用到计算机行业上。
和交付模式,在云计算中,通过互联网提供动态、易扩展的虚拟化资源。通过虚拟化技
术,可以将应用程序和数据在不同层次以不同的方式展现给用户,为云计算的使用者和开
发者提供便利。
虚拟化技术是云计算的重要支撑技术。云计算是基于互联网的相关服务的增加、使用应拟化的主要功能是把单个资源抽象成多个给用户使用,而云计算则是帮助不同部门(通过私有云)或公司(通过公共云)访问一个自动置备的资源池。借助虚拟化技术,用户鳞以单个物理硬件系统为基础创建多个模拟环境或专用资源。云计算是由多种规则和方法组合而成,可以跨任何网络向用户按需提供计算、网络和存储基础架构资源、服务、平台及应用、这些基础架构资源、服务和应用来源于云。简单来讲,云就是一系列自动化软件进行管理的应拟资源池,旨在帮助用户通过支持自动扩展和动态资源分配的自助服务,按需对这些资源进行访问。
云计算提供服务,虚拟化技术是云计算的技术支持。在云计算的部署方案中,虚拟化技术可以使其 IT 资源应用更加灵活。而在虚拟化技术的应用过程中,云计算也提供了按需所取
的资源和服务。在一些特定场景中,云计算和虚拟化技术无法剥离,只有相互搭配才能更好地解决客户需求。通过虚拟化技术,云计算把计算、存储、应用和服务都变成了可以动态配置和扩展的资源,从而才能够实现在逻辑上以单一整体的服务形式呈现给用户。因此,虚拟化技术是云计算中极其重要、最为核心的技术原动力。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
贵美商城项目实训 1.模块简介 1.1登录注册模块 1.1.1注册: 字段:用户名,手机号,密码,重复密码,手机验证码,邮箱 注册功能前段用js校验。 用户名: 2-8位由字母、数字、_或汉字组成。 密码:6-20位字符,不能使用空格。两次密码必须一致。 手机号:11位标准合法手机号,发送验证码并正确验证。 邮箱:邮箱格式验证。 需全部正确按格式输入才可进行注册。 1.1.2登录: 手机号,密码进行登录。图片验证码防人机。 1.2商品信息模块 商品列表首页展示; 商品基本增删改查 商品图片上传,更新。 1.3购物车模块 添加到购物车,购物车中商品的删除,小计,总价的计算,存储。数量的相加减 。商品的选择以及详情展示 1.4订单模块 从购物车中取商品添加到订单中,获取用户注册时的信息(用户名,真实姓名,手机号,收货地址) 购物车中商品的结算,以及支付方式、配送方式、发票信息和订单的创建时间。 1.5商家后台模块 商家注册,登录 我的店铺:店铺信息,我的发布,店铺推荐,评价管理,物流跟踪 商品管理:增加发布商品,修改商品,查询商品,删除商品 用户可在该模块中查看店铺信息,商品的发布,商品的上架和下架,买家的评价管理,物流跟踪,商品的增删改查,该模块主要有:我的店铺,商品管理,用户管理这三个部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值