当前位置:首页 > 虚拟化 > 正文

硬虚拟化和软虚拟化区别


一、什么是虚拟化操作系统操作系统虚拟化是使用一个系统作为父系统来克隆多个系统。它比硬件虚拟化更加灵活方便,因为您只需要在系统上安装一个虚拟化软件,就可以以原始系统为样本快速克隆系统。除了一些ID标签外,克隆系统与原始系统相同。
看起来和硬件虚拟化一样,都是虚拟出多个操作系统,但和硬件虚拟化还是有很多区别的:
1.操作系统虚拟化就是以原来的系统为样本,虚拟出一个几乎一模一样的系统,硬件虚拟化就是虚拟出一个硬件环境,然后再安装真实的系统。他们的虚拟东西是不同的。
2操作系统虚拟化,虚拟系统只能是同一个虚拟系统,虚拟系统可以是不同的系统,比如linux、mac、windows。
虚拟化与操作系统有着很强的联系,体现在:第一,可以同时配置多个虚拟系统,如果原有系统损坏,将会影响所有虚拟系统。系统。硬件虚拟化虚拟出多个相互独立、与原系统无关的系统。原系统的损坏不会影响虚拟系统。
操作系统虚拟化的性能损失较低。


二、什么是虚拟化技术,虚拟化软件和硬件都有什么?新技术的出现往往需要推广,因为如果不推广该技术,没有人会知道它有什么功能,对别人来说有什么作用,技术是Web服务器用来节省服务器硬件成本的技术。虚拟主机技术主要应用于HTTP、FTP、EMAIL等多种服务的表现。如果分区是在系统级别,则称为虚拟服务器。
性能成本
有时单台服务器无法满足使用需求,或者即使一台服务器能够满足这一需求,其成本也太高。因此,虚拟服务器用于需要使用的应用程序。
降低成本
可以通过软件在物理服务器上架设多个虚拟服务器,每个虚拟服务器可以提供一台服务器的所有服务,这样每个虚拟服务器的成本就相对降低了。很少。


三、到底该不该选择LXC技术最近,越来越多的公司使用Container来构建云平台。事实上,Container并不是一项新技术。OpenVZ、Linux-VServer、FreeBSDjails和SolarisContainers都是容器技术的实现。随着Paas的发展,Container技术受到了更多的关注。那么在选择虚拟化技术时,应该如何选择呢?
首先,什么是虚拟化?
虚拟化是指在同一台物理服务器上模拟多个虚拟机,每个虚拟机逻辑上拥有独立的CPU、内存、硬盘、网络接口等。虚拟化可以提高硬件资源的利用率,使多个应用程序在同一台物理机上独立运行。虚拟化分为硬件级虚拟化和软件级虚拟化。
什么是硬件虚拟化?
计算机或操作系统的虚拟化,向用户隐藏真实的计算机硬件并呈现另一个抽象计算平台。硬件虚拟化模拟硬件以获得真实的计算机环境并可以运行完整的操作系统。在硬件虚拟化中,有FullVirtualization、PartialVirtualization和Paravirtualization等不同的实现方式。
在硬件虚拟化层面,现代虚拟化技术通常是全虚拟化和半虚拟化的混合体。常见的虚拟化技术如VMWare、Xen、KVM等都支持全虚拟化和半虚拟化。硬件虚拟化提供的虚拟机都独立运行一个完整的操作系统。这样,同一台物理主机上存在大量相同或相似的进程和内存页面,造成较大的性能损失(例如:主机的主机操作系统是Centos,使用了多个KVM生成的虚拟机,并且每个虚拟机都运行Windows操作系统和相同的QQ程序(这必然会对主机性能造成较大损失)。因此,硬件虚拟化也称为重量级虚拟化,同一主机上可以同时运行的虚拟机数量相当有限。
什么是软件级虚拟化?
指在同一台物理服务器上提供多个隔离的虚拟运行环境,也称为容器技术。在软件虚拟化层面,同一主机上的所有虚拟机(也称为容器)共享主机的操作系统实例,不存在运行多个操作系统实例带来的性能损失(例如:主机的操作系统对于Centos来说,通过软件虚拟化技术生成多个Container,每个Container都运行QQ程序,由于它们共享同一个主机Centos操作系统,所以Centos中所有Container中只有一个QQ程序的进程。因此,软件虚拟化又称为轻量级虚拟化,同一主机上可以同时运行的虚拟运行环境的数量比较宽松。以Solaris操作系统上的Container为例,一个Solaris操作系统实例理论上最多可以支持8000个Container(实际可以运行的Container数量取决于系统资源和负载)。同样,Linux操作系统上的LXC可以轻松地在同一主机上同时支持相当数量的虚拟操作环境。
LXC(LinuxContainer)有什么优势?
(1)使用与主机相同的核心,性能损失小;
(2)无需指令级模拟;
(3)无需Just-in-time编译是必需的;
(4)容器可以在CPU核心本地运行指令,无需任何特殊的解释机制;
(5)避免半虚拟化和系统调用替换的复杂性;
(6)轻量级Isolation在隔离的同时,还提供了共享机制,实现容器和宿主机之间的资源共享。
选择时应考虑哪些因素?
在虚拟化领域,国内外各大公司对硬件虚拟化比较感兴趣,并且大多在研发和生产环境中使用硬件虚拟化技术。不过,近段时间,国内外不少云计算厂商开始尝试使用LXC来替代KVM/XEN等硬件虚拟化技术,以获得更好的性能。至于在实际应用场景中应该选择硬件虚拟化还是软件虚拟化,需要考虑以下几个方面。灵活性、易于管理、可靠性、稳定性和性能考虑。硬件虚拟化更加灵活、更易于管理,并且具有先天的迁移优势。软件虚拟化具有更高的性能并节省资源。对于一些小型网站来说,性能可以提升数千倍。当没有用户访问时,可以关闭LXC以节省资源。用户访问时可以快速启动,但缺点是迁移成本高,学习成本高。而且LXC目前还是小众路线。
因此,在选择时,您需要根据自己的业务和公司策略来确定使用哪种虚拟化技术。例如,京东针对公有云采用Openstack+KVM硬件虚拟化技术;但对于PaaS层和私有云,则采用Openstack+LXC来实现。让彼此的优势互补,达到最佳的经营效果。