1、虚拟化的概念

虚拟化是指通过虚拟化技术将计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

2、为什么出现虚拟化

由于x86服务器的限制,许多IT组织必须部署多个服务器,每个服务器只能以其容量的一小部分运行,以满足当今的高存储和处理需求。其结果是:效率极低,运维成本过高。

采用虚拟化技术来模拟硬件功能并创建虚拟计算机系统。这使IT组织能够在单个服务器上运行多个虚拟系统以及多个操作系统和应用。由此带来的好处包括规模经济和更高的效率。

所以虚拟化,虚拟化技术是一个总称,是一系列实现虚拟技术的统称,是一种资源解决方案。

虚拟化技术是将物理资源转变为逻辑上可以管理的资源,以打破物理结构之间的壁垒,应用程序服务运行在虚拟资源上,而不是真实的物理机上,大大的提升了服务器资源的利用率。

3、虚拟化技术

如果要对物理资源进行管理,第一步,就是“虚拟化”。

虚拟化是云计算的基础。简单来说,虚拟化就是在一台物理服务器上,运行多台“虚拟服务器”。这种虚拟服务器,也叫虚拟机(VMVirtual Machine)。

从表面来看,这些虚拟机都是独立的服务器,但实际上,它们共享物理服务器的CPU、内存、硬件、网卡等资源。

物理机,通常称为宿主机Host)。虚拟机则称为客户机(Guest)。

(1)谁来完成物理资源虚拟化的工作呢?

就是大名鼎鼎的Hypervisor

Hypervisor,汉译过来是“超级监督者”,也叫做VMMVirtual Machine Monitor,虚拟机监视器)。它不是一款具体的软件,而是一类软件的统称。

(2)Hypervisor分类。

Hypervisor分为两大类:

  • 第一类,hypervisor直接运行在物理机之上。虚拟机运行在hypervisor之上。
  • 第二类,物理机上安装正常的操作系统(例如Linux或Windows),然后在正常操作系统上安装hypervisor,生成和管理虚拟机。

如下图所示:

VMwareKVMXenVirtual Box,都属于Hypervisor

VMware大家应该很熟悉,就是VMware Workstation。学习Linux的话,很多人都是在Wwindows系统下安装WMware,然后创建Linux虚拟机。

但是,真正厉害的,是KVMkernel-based virtual machine,基于Linux内核的虚拟机)。它是目前最热门最受追捧的虚拟化方案。

KVM这样的Hypervisor软件,实际上是提供了一种虚拟化能力,模拟CPU的运行,更为底层。但是它的用户交互并不良好,不方便使用。

于是,为了更好地管理虚拟机,就需要OpenStack这样的云管理平台。

请记住,上面所说的几个概念,包括VMKVMOpenStack等,都主要属于IaaS(基础设施即服务)。

(3)最后在解释一下什么是虚拟机。

虚拟计算机系统称为“虚拟机”(VM),它是一种严密隔离且内含操作系统和应用的软件容器。每个自包含虚拟机都是完全独立的。通过将多台虚拟机放置在一台计算机上,可仅在一台物理服务器或“主机”上运行多个操作系统和应用。

hypervisor软件层可将虚拟机与主机分离开来,并根据需要为每个虚拟机动态分配计算资源。

参考:

『现学现忘』Docker相关概念 — 4、虚拟化概念的更多相关文章

  1. 『现学现忘』Docker相关概念 — 1、云计算概念

    目录 1.云计算的概念 2.示例说明云计算 3.小故事说明云计算 "云计算"这个词,相信大家都非常熟悉. 作为信息科技发展的主流趋势,它频繁地出现在我们的眼前.伴随它一起出现的,还 ...

  2. 『现学现忘』Docker相关概念 — 8、虚拟化技术和容器技术的关系

    目录 1.云计算中虚拟化技术和容器技术到的关系 2.虚拟机和容器对比 3.虚拟化技术和容器技术区别 1.云计算中虚拟化技术和容器技术到的关系 通过一个关于房间和住人的小问题,我们来初步的理解一下虚拟化 ...

  3. 『现学现忘』Docker相关概念 — 2、云计算的服务模式

    目录 1.最底层的,就是IaaS 2.再往上,就是PaaS 3.继续往上,就是SaaS 4.IaaS.SaaS.PaaS三者之间的关系 上一篇文章详细介绍了什么是云计算: 云是一种服务,可以像使用水. ...

  4. 『现学现忘』Docker相关概念 — 3、IaaS、SaaS、PaaS服务模式补充

    目录 1.IaaS服务模式 2.PaaS服务模式 (1)何时使用PaaS (2)PaaS的特点 (3)PaaS优势 3.SaaS服务模式 云计算通俗来说就是输入/输出和计算不在一个主机上.计算要用到计 ...

  5. 『现学现忘』Docker相关概念 — 6、虚拟化技术分类

    目录 1.按照虚拟化的程度分类 (1)完全虚拟化技术 (2)半虚拟化技术 (3)完全虚拟化与半虚拟化优缺点 2.从虚拟化架构分类 (1)寄居架构 (2)裸金属架构 虚拟化是一个广义的术语,是指计算元件 ...

  6. 『现学现忘』Docker基础 — 28、Docker容器数据卷介绍

    目录 1.什么是Docker容器数据卷 2.数据卷的作用 3.数据卷的使用 1.什么是Docker容器数据卷 Docker容器数据卷,即Docker Volume(卷). 当Docker容器运行的时候 ...

  7. 『现学现忘』Docker基础 — 9、Docker简介

    目录 1.什么是Docker? 2.Docker的出现解决了什么问题? 3.Docker的特别之处 4.Docker相关网站 1.什么是Docker? 2010年dotCloud公司在旧金山成立,PA ...

  8. 『现学现忘』Docker基础 — 10、Docker的安装

    目录 1.前提 2.通过yum安装Docker (1)更新yum包 (2)移除旧的Docker版本 (3)安装必须的软件包 (4)设置稳定yum源仓库 (5)更新yum软件包索引 (6)开始安装Doc ...

  9. 『现学现忘』Docker基础 — 11、Docker安装的问题补充

    目录 1.问题复现 2.解决冲突 3.重新安装docker-ce-selinux 4.安装Docker-ce 5.总结 通过yum安装Docker的时候,安装20版本的Docker没有出现问题,在安装 ...

随机推荐

  1. Rock Pi开发笔记(一):Rock Pi系列arm产品方案快速落地方案介绍

    前言   开发RK3399等相关的项目和产品做评估,最近发现Rock Pi4是一个很好的评估版,价格合适,能满足评估的开发,像树莓派一样留出来引脚接口,是很好的快速落地arm系列产品和项目的较好方案选 ...

  2. HOOK API(四) —— 进程防终止

    0x00        前言 这算是一个实战吧,做的一个应用需要实现进程的防终止保护,查了相关资料后决定用HOOK API的方式实现.起初学习HOOK API的起因是因为要实现对剪切板的监控,后来面对 ...

  3. dealloc方法

    dealloc方法基本概念 当一个对象的引用计数器值为0时,这个对象即将被销毁,其占用的内存被系统回收 对象即将被销毁时系统会自动给对象发送一条dealloc消息 (因此, 从dealloc方法有没有 ...

  4. java_JDBC,连接数据库方式,RestSet结果集,Statement,PreparedStatement,事务,批处理,数据库连接池(c3p0和Druid)、Apache-DBUtils、

    一.JDBC的概述 1.JDBC为访问不同的数据薛是供了统一的接口,为使用者屏蔽了细节问题.2. Java程序员使用JDBC,可以连接任何提供了JDBC驱动程序的数据库系统,从而完成对数据库的各种操作 ...

  5. 浅谈java代理模式

    讲解java代理模式 目录 讲解java代理模式 何谓代理模式 静态代理 动态代理 JDK动态代理 CGLIB动态代理 何谓代理模式 代理模式,即Proxy Pattern,23种java常用设计模式 ...

  6. LeetCode随缘刷题之最长回文子串

    这一题我用的相对比较笨的方法. 相对于大佬们用的动态规划法,比较复杂.但却更容易理解,我主要是通过记录下标来确定最长回文串的. package leetcode.day_12_06; /** * 给你 ...

  7. 关于Synchronized你了解多少?

    1.说一说自己对于 synchronized 关键字的了解 synchronized是解决多线程之间访问资源的同步性,synchronized关键字可以保证被他修饰的资源在任何时刻只有一个线程访问. ...

  8. 1、前端--HTML简介、head内常见标签、body内常见标签(特殊符号、div、span、a、img、列表、表格table、表单form)、标签两大属性

    今日内容 HTML简介 HTML是构造网页的骨架>>>:几乎所有的网站都是由HTML构建而成 HTML:超文本标记语言 # 不是一门编程语言 没有任何的逻辑 只有固定的标记功能 &q ...

  9. pytest(10)-常用执行参数说明

    pytest单元测试框架中可以使用命令行及代码pytest.main()两种方式执行测试,且可以加入各种参数来组织执行测试.接下来我们来了解常用的执行参数的含义及其用法. pytest中的执行参数根据 ...

  10. 如何通过pid定位是哪个容器

    此时,我有一个pid为28117的进程,通过pdwx命令,无法找到他所在的目录,此时我判定他是docker容器 pwdx 28117 输出如下 28117: / 通过docker ps -q命令,获取 ...