初识OpenStack(1)

首先

先来说说我与openstack的渊源吧。那是在上个月中旬。学张的一个朋友给我打电话说让一起来搞一个云平台,当时也不知道是什么。就非常高兴的答应下来了,到了周末,就过去聊关于平台如何搭建的事情了,却发现无从着手。也就是这一次,才第一次听说了openstack这个名词,于是就在网上买了《OpenStack设计与实现》这本书。開始简单的了解关于这个项目,在上周三,还去參加了一下关于OpenStack的分享会。这次才算对云计算,以及‘云’方面的知识才有所了解,也同一时候,有很多其它的信心去參与到openstack的二次开发之中。

云计算是什么?

大家预计作为业内人士。相信对云计算应该都听说过吧。可是对于云计算能给出详解的人并不多吧。在这之前,我也是的,整天都被那些名词所环绕。也在生活中使用着各种云。包括但不限于腾讯云,百度云等服务,可是却真正不知到他是什么。

云计算仅仅要分文三种服务模式。分别为SaaS,PaaS,IaaS三个部分

SaaS平台逻辑架构

SaaS – Software-as-a-Service,通过这样的模式,用于仅仅须要直接在这个平台是面使用已有的应用,比方腾讯蓝鲸平台上面的一些应用。在SaaS平台架构上面,用户全然不须要考虑关于硬件及操作系统,网络,执行环境等方面的问题,用户仅仅须要关注在软件使用本身而不须要考虑其它的事情,适用于0基础用户。

PaaS平台逻辑架构

PaaS – Platform-as-a-Service。提供了一个开发环境,开发人员能够在上面开发自己的应用,比方腾讯蓝鲸平台上面的开发人员中心,你能够在上面开发自己的运维工具,可是全然不须要考虑关于硬件,操作系统,开发測试环境等问题,PaaS已经所有为你搭建好了,你仅仅须要选择你须要的环境,而不须要自己去部署。开发人员仅仅须要关心软件本身的开发细节就好了。这一平台适用于应用开发人员。

IaaS平台逻辑架构

IssS – Infrastructure-as-a-Service。用户从供应商里拿到的是其所须要的硬件之上的操作系统,在用户看来,其拿到的和物理机没有不论什么差别。具备了物理机所具备的一切功能,而在供应商看来。其仅仅是在其server上面给用户提供了一个虚拟机而已。此类供应商全球范围内最有名的就是亚马逊的AWS,国内最大的应该就是阿里云了,接下来就是腾讯云。

IaaS提供给用户的仅仅是类似物理机的一个server。以及连解这个server的接口,用户须要自己搭建自己须要的环境。安装自己须要的应用软件或者服务,这就须要有一定的系统管理知识的人员来配置。这个平台主要适用于系统管理员。

云计算的基础—虚拟化

经过上面的解说。云计算供应商要想给用户提供服务,就须要给每一个用户独立的操作空间。存储空间或者是独立的计算机系统。可是显然给每一个用户一个实际的物理机是不现实的。所以就须要供应商在其配置高,存储空间大,带宽高的server上面来虚拟出来多个虚拟操作系统来供用户使用。而关于虚拟化主要包括以下两个部分:一型虚拟化。二型虚拟化。

一型虚拟化

从图中能够看出,一型虚拟化直接是在硬件之上进行的虚拟化,实现这类方式的软件统称为Hypervisor,多个虚拟机能够直接在Hypervisor之上执行,事实上现方式就是特殊定制的Linu系统。这类软件的代表有Xen和VMWare的ESXi。

二型虚拟化



二型虚拟化就是在硬件之上有一个操作系统,用来管理底层的硬件,网络等,这类操作系统一般都是Linux系统,在系统之上再进行虚拟化,由操作系统对这些虚拟的操作系统进行管理。

KVM,VirtualBox,VMWare Workstation都属于这类。

其它

眼下的虚拟化主要就是上面两种类型。而在这两类虚拟方式上面又包括以下几类对硬件的虚拟,并且如今很多的PC机上面都包括了这几类虚拟化技术。

CPU虚拟化

CPU虚拟化,简单来讲就是将一个CPU串行虚拟成多个CPU并行,同意在同一个平台上面执行多个虚拟的操作系统。各个操作系统之间相互独立的执行。且在一个虚拟操作系统上面能够同一时候执行多个应用程序。多个应用程序在自己的空间内独立执行。互不干扰,从而大大提升计算机的效率。可是虚拟化技术与多任务和超线程技术是全然不同的,虽然表现出来的结果非常类似。更详细内容參见CPU虚拟化

内存虚拟化



假设操作系统之上没有执行虚拟机。那么宿主机仅仅须要实现从机器内存到虚拟内存之间一级映射关系就能够了,可是在宿主机上面再执行客户机的话。就须要宿主机再做一级从物理内存到虚拟内存之间的二级映射。

详细实现參见内存虚拟化

存储虚拟化



存储虚拟化(Storage Virtualization)最通俗的理解就是对存储硬件资源进行抽象化表现。

通过将一个(或多个)目标(Target)服务或功能与其它附加的功能集成,统一提供实用的全面功能服务。

虚拟化的存储资源就像是一个巨大的“存储池”,用户不会看到详细的磁盘、磁带。也不必关心自己的数据经过哪一条路径通往哪一个详细的存储设备。详见存储虚拟化定义存储虚拟化实现

网络虚拟化



网络虚拟化技术指的是将宿主机的一个单独网络通过虚拟化技术。虚拟成多个独立的网络给虚拟机来使用。在每一个虚拟机看来,他自己使用的都是单独的。而非与其它客户机进行共享的网络。详见网络虚拟化技术

KVM



KVM 全称是 Kernel-Based Virtual Machine。也就是说KVM 是基于 Linux 内核实现的。kvm基本结构如上图。kvm已经是内核模块,被看作是一个标准的linux 字符集设备(/dev/kvm)。Qemu通过libkvm应用程序接口,用fd通过ioctl向设备驱动来发送创建,执行虚拟机命令,设备驱动kvm就会来解析命令。

初识OpenStack(1)的更多相关文章

  1. 初识openstack

    <1>虚拟化技术的功能和特点 多个虚拟机运行在一台物理服务器上,虚拟机之间共享物理资源,虚拟机可以分别安装不同的操作系统,应用程序相互隔离. 虚拟化技术的优势:虚拟机的操作系统和应用程序不 ...

  2. OpenStack:初识

    OpenStack提纲:-------------------------------------------初识OpenStack, 千头万绪, 不知所措. 逐渐剥茧抽丝, 厘清思路...一. Op ...

  3. OpenStack实战(一)

    OpenStack作为当前发展势头迅猛的云计算开源项目,去年进行了一些了解,现在有空回来进行一些补充记录,当时实战的版本是那会最新版本,当然现在已经更新了好几版了,不过还是那句话“这些丝毫不影响,了解 ...

  4. OpenStack初识

    一.它可以用来做什么? 想认识一个事物,必须先弄明白它是什么,能干什么.首先说一下,openstack是一个搭建云平台的一个解决方案,说他不是个软件,但是我觉得说是一个软件,能够让初学者更容易接受和理 ...

  5. .net core系列之初识asp.net core

    .net core已经发布了2.0版本,相对于1.0的有了很大的完善,最近准备在项目中尝试使用asp.net core,所以就进行了一些简单的研究. 初识asp.net core分为以下几个部分: 1 ...

  6. Django 初识

    Django  初识 一.前言 Django是一款网站架构,能够快速的搭建一个网站.openstack的界面显示使用的就是Django的框架.所以,学习openstack多少要了解一些Django的内 ...

  7. openstack项目【day24】:OpenStack mitaka部署

    前言: openstack的部署非常简单,简单的前提建立在扎实的理论功底,本人一直觉得,玩技术一定是理论指导实践,网上遍布个种搭建方法都可以实现一个基本的私有云环境,但是诸位可曾发现,很多配置都是重复 ...

  8. 1DAY 初识Python

    一 本节目标 了解编程语言 了解python及与其他语言的优劣对比 安装python解释器及环境变量配置.运行python交互式环境 打印hello world程序 初识变量.用户输入,流程控制,wh ...

  9. Python之路--Python初识

    Python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程 ...

随机推荐

  1. Kinect 开发 —— 深度信息(二)

    转自(并致谢):http://www.cnblogs.com/yangecnu/archive/2012/04/05/KinectSDK_Depth_Image_Processing_Part2.ht ...

  2. WPF中RichTextBox高度自适应问题解决方法

    最近做一个项目需要用到RichTextBox来显示字符串,但是不允许出现滚动条,在RichTextBox宽度给定的条件下,RichTextBox的高度必须正好显示内容,而不出现下拉滚动条. 这样就要计 ...

  3. Myeclipse学习总结(3)——Myeclipse中的代码格式化、注释模板及保存时自动格式化

    设置Myeclipse中的代码格式化.注释模板及保存时自动格式化 1:设置注释的模板: 下载此模板:  codetemplates.xml This XML file does not appear ...

  4. POJ 3252 Round Numbers(组合数学)

    Round Numbers Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 10223   Accepted: 3726 De ...

  5. IE兼容性开发的笔记

    当前项目组开发的产品对外承诺支持IE9和IE11,但在推广应用过程中发现存在相当比例的用户实际上还在使用IE8.而这相当比例中的用户还包含了大部分的公司领导.为了满足公司内部各阶层人士体验我们产品的诉 ...

  6. thinkphp杂项功能(主干)

    thinkphp杂项功能(主干) 一.总结 1.杂项功能:杂项里面我需要有点印象的是五个:缓存,多语言,图像处理,文件处理,单元测试 二.thinkphp杂项功能(主干) thinkphp扩展杂项功能 ...

  7. NOPI 锁定Excel单元格不让编辑的方法

    简介:原生态纯JavaScript 100大技巧大收集---你值得拥有 http://www.cnblogs.com/xl900912/p/4223629.html 从博客园上看都的关于JS的一些常见 ...

  8. Spring源码分析专题——目录

    Spring源码分析专题 -- 阅读指引 IOC容器 Spring源码分析专题 -- IOC容器启动过程(上篇) Spring源码分析专题 -- IOC容器启动过程(中篇) Spring源码分析专题 ...

  9. VUE错误记录 - 小球模拟购物车

    <body> <div id="app"> <input type="button" value="Add to Car ...

  10. bzoj3307雨天的尾巴(权值线段树合并/DSU on tree)

    题目大意: 一颗树,想要在树链上添加同一物品,问最后每个点上哪个物品最多. 解题思路: 1.线段树合并 假如说物品数量少到可以暴力添加,且树点极少,我们怎么做. 首先在一个树节点上标记出哪些物品有多少 ...