当前位置: 首页 > 科技观察

虚拟化,就看这篇文章

时间:2023-03-19 23:24:15 科技观察

1、什么是虚拟化?虚拟化是指通过虚拟化技术,将一台计算机虚拟成多台逻辑计算机。在一台计算机上同时运行多台逻辑计算机,每台逻辑计算机可以运行不同的操作系统,应用程序可以在独立的空间运行,互不影响,从而显着提高计算机的工作效率。虚拟化利用软件对IT资源进行重新定义和划分,可以实现IT资源的动态分配、灵活调度、跨域共享,提高IT资源的利用率,使IT资源真正成为社会基础设施,为企业提供灵活服务。各行各业。不断变化的应用需求。2.什么是管理程序?Hypervisor是运行在底层物理服务器和操作系统之间的中间软件层,允许多个操作系统和应用程序共享硬件。也可以称为VMM(virtualmachinemonitor),即虚拟机监视器。管理程序是虚拟环境中的“元”操作系统。他们可以访问服务器上的所有物理设备,包括磁盘和内存。管理程序不仅协调这些硬件资源的访问,而且在每个虚拟机之间施加保护。当服务器启动并执行管理程序时,它会加载所有虚拟机客户端的操作系统,并为每个虚拟机分配适当数量的内存、CPU、网络和磁盘。3、虚拟化有哪些分类?1、完全虚拟化最好的虚拟化方法是使用Hypervisor等中层软件在虚拟服务器和底层硬件之间建立一个抽象层。Hypervisor可以捕获CPU指令,并作为指令的中介来访问硬件控制器和外围设备。因此,全虚拟化技术可以让几乎所有的操作系??统都可以不加修改地安装在虚拟服务器上,而他们并不知道自己是在虚拟化环境中运行。主要缺点是性能不如裸机,因为Hypervisor需要占用一些资源,给处理器带来开销。在完全虚拟化的环境中,Hypervisor运行在裸硬件上,充当主机操作系统,而由Hypervisor管理的虚拟服务器运行客户端操作系统(GuestOS)。2.半虚拟化全虚拟化是处理器密集型的,因为它需要Hypervisor来管理每个虚拟服务器,彼此独立。减轻这种负担的一种方法是更改??来宾操作系统,使其认为自己在虚拟环境中运行并且可以与Hypervisor一起工作。这种方法称为半虚拟化。半虚拟化技术的优势是高性能。半虚拟化服务器可以与管理程序一起工作,几乎与非虚拟化服务器一样响应迅速。它的客户操作系统(GuestOS)集成了虚拟化代码。这种方法不需要重新编译或陷阱,因为操作系统本身可以很好地处理虚拟进程。3.操作系统层虚拟化虚拟化还有一种实现方式,就是在操作系统层增加虚拟服务器功能。就操作系统层的虚拟化而言,没有独立的Hypervisor层。相反,主机操作系统本身负责在多个虚拟服务器之间分配硬件资源并使这些服务器相互独立。一个明显的区别是,如果使用操作系统层虚拟化,所有虚拟服务器必须运行相同的操作系统。OS层虚拟化虽然灵活性比较低,但是native速度性能比较高。此外,由于该架构在所有虚拟服务器上使用单一、标准的操作系统,因此比异构环境更易于管理。4、桌面虚拟化服务器虚拟化主要是针对服务器的,桌面虚拟化是离用户最近的虚拟化。桌面虚拟化的主要功能是集中存储和管理分散的桌面环境,包括桌面环境。集中分发、集中更新、集中管理。桌面虚拟化简化了桌面管理,无需为每个终端单独维护和更新。终端数据可集中存储在中央机房,安全性远高于传统桌面应用。桌面虚拟化可以让一个人拥有多个桌面环境,也可以让一个桌面环境供多人使用,节省许可证。此外,桌面虚拟化依赖于服务器虚拟化。如果没有服务器虚拟化,桌面虚拟化的优势将完全丧失。不仅如此,还浪费了大量的管理资金。5、硬件虚拟化英特尔虚拟化技术(IVT,IntelVirtualizationTechnology)是英特尔开发的虚拟化技术。使用IVT,可以通过虚拟机查看器(VMM,VirtualMachineMonitor)查看系统上的客户操作系统。)虚拟化一组硬件设备供客户操作系统使用。这些技术过去都是在VMware和VirtualPC上通过软件实现的,而IVT的硬件支持可以加速这类软件的进步。AMD虚拟化(AMDVirtualization),缩写为“AMD-V”,是AMD为64位x86架构提供的虚拟化扩展的名称,但有时仍使用“Pacifica”(AMD开发此扩展时的内部项目)代码)来引用它。4、虚拟化技术有哪些?虚拟化技术是指软件层面的虚拟化技术,一般分为两大阵营:开源虚拟化和商业虚拟化。典型代表有:Xen、KVM、WMware、Hyper-V、Docker容器等。Xen和KVM是开源免费的虚拟化软件;WMware是一款收费的虚拟化软件;Hyper-V是微软付费的虚拟化技术;Docker是一种容器技术,属于轻量级的虚拟化技术。虚拟化软件产品有很多,无论是开源的还是商业的,以上只是其中的一小部分。每个软件产品都有其优缺点和应用场景,需要根据业务场景进行选择。下面简单介绍一下KVM和Xen。1、KVM(Kernel-basedVirtualMachine)基于内核的虚拟KVM是集成到Linux内核中的hypervisor。它是一个全虚拟化解决方案,适用于具有X86架构和支持虚拟化技术(IntelVT或AMD-V)的硬件的Linux。它是Linux的一个小模块,它利用Linux做很多事情,比如任务调度、内存管理和硬件设备交互。2.XenXen是第一类运行在裸机上的虚拟化管理程序(Hypervisor)。它支持全虚拟化和半虚拟化,Xen支持hypervisor和虚拟机相互通信,并提供所有Linux版本的免费产品,包括RedHatEnterpriseLinux和SUSELinuxEnterpriseServer。Xen最重要的优势是半虚拟化。另外,未经修改的操作系统也可以直接在Xen上运行(如Windows),这样虚拟机就可以在不仿真的情况下有效运行,这样虚拟机就可以在不仿真的情况下感知到Hypervisor。需要模拟虚拟硬件以实现高性能。5.还是不明白?说了这么多,大家可能有点晕,因为概念比较接近,容易混淆。下面重点解释几个关键概念。1.虚拟化类型虚拟化类型,如全虚拟化、半虚拟化,是指在设计层面实现虚拟化的方案和思路,不涉及具体的虚拟化技术。2、虚拟化技术虚拟化技术是指在软件层面实现虚拟化的技术,一般分为两大阵营:开源虚拟化和商业虚拟化。一些商用的虚拟化技术也是在开源技术的基础上发展起来的。3、虚拟机软件基于虚拟化技术的单机虚拟机管理软件,如:KVM:Linux虚拟机是基于KVM虚拟技术的单机虚拟机管理软件。VirtualBox:Oracle的虚拟机管理软件,直接基于IntelVT和AMD-V。VMwareWorkstation:Wmware基于Wmware虚拟技术的虚拟机管理软件。4、云计算云计算中的虚拟化是指IaaS层的虚拟化解决方案,而不是虚拟机技术。IaaS层虚拟化方案必须符合IaaS层的基本特性。除了最基本的虚拟化软件外,还包括共享存储服务、镜像服务、身份认证服务、统一监控服务,以及计费管理等配套服务。服务。当然,既然是IaaS服务,就必须支持对外开放API接口,支持定制化开发。一般来说,它不是一个软件,而是由整理解决方案组成的一组软件。VMwarevSphere是一款基于VMware虚拟化技术的虚拟化管理软件。目前是业界最成熟、应用最广泛的IaaS层虚拟化技术方案。目前对整个集群的虚拟机监控管理也是最好的。(vSphere本身是收费的,监控软件需要单独收费)。Openstack是基于linux的IaaS层解决方案(支持多种虚拟化技术,如KVM)。大部分定制化解决方案都是基于Openstack开发定制的。主要运行在centos和ubuntu服务器操作系统上。CloudStack是使用java开发的基于linux的IaaS层解决方案(支持多种虚拟化技术,如KVM)。它目前的发展潜力非常好,也得到了很多知名厂商的认可。但起步较晚,在国内推广。程度不如Openstack。对比Openstack和VMwareWorkstation,我们可以看出云计算和虚拟机软件的区别。5、Docker等容器技术Q1:容器技术和服务器虚拟化是同一种技术吗?A:不是。虽然同属于虚拟化技术,目的都是为了将??一套应用程序所需要的执行环境打包,建立一个隔离的环境,方便在不同的硬件上移动,但是两者的操作思路是完全不同的。简单来说,常见的传统虚拟化技术如vSphere或Hyper-V都是以操作系统为中心,而Container技术则是以应用程序为中心的虚拟化技术。传统的虚拟化技术从操作系统层开始,目标是建立一个沙箱独立的执行环境,可以用来执行整个操作系统,习惯上称之为虚拟机(VirtualMachine)。Container技术是将应用程序所需的相关程序代码、函数库、环境配置文件直接打包,创建一个沙盒执行环境。为了区别于传统虚拟化技术生成的虚拟机,将Container技术生成的环境称为Container。Q2:普通虚拟机和容器有什么区别?A:最明显的区别是虚拟机需要安装操作系统(GuestOS)才能运行应用,而容器不需要安装操作系统就可以运行应用。容器技术不是在操作系统外部创建一个虚拟环境,而是在操作系统内部的核心系统层创建一个虚拟执行环境,通过共享HostOS来替代各个GuestOS的功能。容器因此也被称为OS层的虚拟化技术。Q3:为什么Container是轻量级的虚拟化技术?A:因为Container技术采用共享HostOS的方式,不需要在每个Container中执行GuestOS,所以Container的建立不需要等待操作系统启动时间,也不需要只需1分钟或几秒即可启动,比传统虚拟机启动需要几分钟甚至几十分钟要快得多。Q4:Container技术是新技术吗?A:不是,早在1982年,Unix系统内置的chroot机制也是一种Container技术。其他的,比如1998年的FreeBSDjail,2005年出现的SolarisZones和OpenVZ,或者2004年Windows系统中存在的Sandboxie机制,都属于在操作系统内部建立隔离的虚拟执行环境的实践,它们都可以称为容器。技术。直到2013年,PaaS服务公司dotCloud开源发布了一套容器标准化平台Docker,大受欢迎。因此,dotCloud决定以Docker的名义成立一家新公司。【本文为专栏作者“朱国立”原创稿件,转载请通过作者微信公众号“开发者圆桌”联系授权】点此查看本作者更多好文