ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【云计算课程笔记】

2020-03-12 18:06:24  阅读:253  来源: 互联网

标签:容器 虚拟化 虚拟机 笔记 硬件 物理地址 课程 计算 OS


一、概述

虚拟化的动机:

    传统“烟囱式”数据中心的缺陷:平均使用率低,应用部署周期长,it管理和成本压力大;

为什么需要虚拟化技术:

    1.打破了操作系统和硬件的紧耦合;2.通过虚拟机提供资源,实现故障隔离;3.各虚拟机之间软件相互独立;4.虚拟机独立于硬件,能在任何硬件上运行。

     ***虚拟化技术可以:

             1)提高资源利用率:合理分配空闲资源;多租户共享硬件环境;

             2)改善可靠性:在软件、硬件故障时候快速备份恢复系统;轻松部署HA服务器集群;

             3)自动化管理更轻松:减少配置、补丁、恢复的维护时间,增强安全性、隔离性;

虚拟化的定义:

表示计算机资源的抽象方法,通过虚拟化可以使用与访问抽象前资源一致的方法访问抽象后的资源。这种资源的抽象方法并不受实现、地理位置或底层资源的物理配置的限制。

虚拟化的本质:

将原来运行在真实环境上的计算系统或组件运行在虚拟出来的环境中。在虚拟化技术中,可以同时运行多个操作系统,而每个OS中都有多个程序运行,每个OS都运行在一个虚拟的CPU或虚拟主机上。

虚拟化技术也是云计算的核心技术。


虚拟化技术基本要素

VM虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。现有的虚拟机系统是通过在现有平台上增加一个虚拟层VMM(虚拟机监视器)实现的。

VMM是一个系统软件,可以维护多个高效的、隔离的程序环境。VMM管理计算机系统的真实资源,为虚拟机提供接口。

 

虚拟化的特征

1)分区:在一个物理机上运行多个OS;更充分利用服务器资源;支持高可用——分区之间可组建集群(负载均衡、双机容错)

2)隔离:从硬件层面隔离系统故障和安全威胁;在虚拟机之间动态的分配CPU、内存等系统资源;保证服务可用。

3)封装:将虚拟机封装成与硬件配置无关的文件,随时对虚拟机进行快照;


VMM的实现技术

一、CPU虚拟化

特权指令:只能在处理器的内核态执行的指令,主要用于系统资源的分配和管理。如果在用户态上运行,特权指令会引发一个异常,处理器会陷入到内核态,交由系统软件处理。

二、内存虚拟化

内存虚拟化引入一层新的地址空间——客户机物理地址空间,其并不是真正的物理地址,而是被VMM管理的“伪”物理地址。

内存虚拟化主要任务为以下两个问题:

1)实现地址空间的虚拟化,维护宿主机物理地址和客户机物理地址之间的映射关系;

2)截获宿主机对客户机物理地址的访问,并根据映射关系,将其转换成物理地址。

 

三、I/O虚拟化

I/O虚拟化可以提高服务器性能和简化硬件要求,而且同时可以在服务器上增加I/O密集型虚拟机的最大数量。

I/O虚拟化三种方式:全虚拟化、半虚拟化、硬件辅助虚拟化;


主流的虚拟化软件

KVM(Kernel-based Virtual Machine),是一个开源的系统虚拟化模块,使用Linux自身的调度器进行管理。优点:兼容性,实现简单。KVM是硬件辅助的虚拟化技术,主要负责比较繁琐的CPU和内存虚拟化。

VMware


硬件虚拟化和OS虚拟化

硬件虚拟化(Hypervisors):虚拟硬件访问,创建多个虚拟硬件实例,宿主操作系统及每个Guest必须为完整操作系统。如KVM,VMware等;

操作系统虚拟化(Containers):虚拟OS访问,创建多个虚拟OS实例,物理服务器拥有单个、标准的OS内核。

 

Docker——操作系统级的虚拟化

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,是一种基于容器技术的轻量级虚拟化解决方案。

Docker核心解决的问题是利用LXC来实现类似VM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源。

 

Kernal Namespace(名字空间):实现隔离性,即每个用户实例之间相互隔离,互不影响;

cgroups(控制组):实现可配额/可度量,限制容器中的进程允许使用的系统资源,即每个用户实例可以按需提供其计算资源,说使用的资源可以被计量;

AUFS(Union文件系统):实现移动性,支持将不同目录挂载到同一个虚拟文件系统下的文件系统,即用户的实例可以很方便地复制、移动和重建。

 

Docker三大核心:镜像(images)-构建、容器(Container)-执行、仓库(Repositories)-分发

其中,镜像可以用来创建容器,创建方式有pull和Dockerfile;Docker容器等同于从模板中创建虚拟机,容器可以被启动、开始、停止、删除,每个容器都是相互隔离的、保证安全的平台,可以把容器看做是一个简易版的Linux环境和运行在其中的应用程序。

 

Docker仓库是集中存放镜像文件的场所,分为公开仓库和私有仓库。push:镜像到仓库,pull:仓库到镜像


云资源管理系统Openstack

 

标签:容器,虚拟化,虚拟机,笔记,硬件,物理地址,课程,计算,OS
来源: https://blog.csdn.net/weixin_38121168/article/details/104820057

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有