opstack 笔记 (一) 概念

摘要:
基于内核的虚拟机(KVM)是一种构建在Linux中的开源虚拟化技术。KVM可以帮助您将Linux转换为虚拟机监控程序,使主机能够运行多个独立的虚拟环境。存储服务1.1 OpenStack可用于介绍一般的小型企业(大约30-50台服务器):ovirt(KVM虚拟机批处理管理工具)。如果需要灵活地部署和运行业务vm实例,请执行2。云计算是一种基于虚拟化技术的资源交付和使用模式。

1.OpenStack介绍

类似于亚马逊云和阿里云的开源云服务器管理平台,底层基于KVM(Kernel-based Virtual Machine)技术。

基于内核的虚拟机(KVM)是一种内建于 Linux 中的开源虚拟化技术。具体而言,KVM 可帮助您将 Linux 转变为虚拟机监控程序,使主机计算机能够运行多个隔离的虚拟环境,即虚拟客户机或虚拟机(VM)。

KVM 是 Linux 的一部分。Linux 2.6.20 或更新版本包括 KVM。KVM 于 2006 年首次公布,并在一年后合并到主流 Linux 内核版本中。由于 KVM 属于现有的 Linux 代码,因此它能立即享受每一项新的 Linux 功能、修复和发展,无需进行额外工程。

虚拟化是什么?

  "虚拟":就是把假的变成真的,虚拟化是一种技术

什么是云计算?

  云计算技术, 就是资源池的分配的技术,把所有的资源都整合到一起统一进行分配!云计算具有可伸缩性

私有云,公有云,混合云?

  私有云: 企业之外无法使用的,企业搭建或者某公司专用

  公有云: 公共的,安全存在问题

  混合云:满足高流量高并发业务,满足安全,12306就是混合云

OpenStack三大关键项目:

  • Nova:计算服务
  • Neutron:网络服务
  • Cinder:存储服务

1.1 OpenStack使用简介

一般的小型企业(服务器30-50台左右): 使用OpenStack在技术和成本上是一个巨大的挑战,投入产出比低。 如果用虚拟化,ovirt(KVM虚拟机批量管理工具)即可。

中大型企业(物理节点在200+左右):对业务vm实例需要灵活部署运行的话,这种场景才有可能用到OpenStack。

2.云计算的实现方式

云计算是基于虚拟化技术的一种资源交付使用模式。

云计算的实现方式

传统虚拟化:从底层硬件到软件的研发上线均需自行解决。如本地VMware虚拟机创建。

IaaS:Infrastructure as a Service,基础设施即服务。无需关注底层硬件及虚拟化环境搭建,只需关注操作系统以上的技术。如OpenStack,阿里云。

PaaS:Platform as a Service,平台即服务。只需关注软件的开发。如谷歌应用引擎(人们可以开发应用程序,让它们在谷歌应用程序引擎上执行,负责执行)。

SaaS:Software as a Service,软件即服务。直接使用已开发好的软件。如微信、支付宝等。

3.云计算的基本架构

架构1

对于一个云计算管理平台来说,最重要的三个部分为存储、计算与网络:

  • 专用分布式存储:解决VM实例所需的底层资源问题
  • 专用映像文件存储:解决映像文件(其中保存了VM实例的规格及各种配置信息,也可理解为客户需求)的存储与调度
  • 网络:网络性能决定了云主机的用户体验

批量创建VM实例时,需使用顺序创建减轻资源压力,此时用到了异步协作的消息队列。

4.OpenStack逻辑架构图

架构2架构3
这个看起来好一些,比较重要的组件。
  • Horizon:OpenStack的GUI
  • KeyStone:用户身份认证
  • Glance:镜像服务
  • 核心三大组件Nova、Neutron、Cinder

最小化安装组件

  • Dashboard(web项目)
  • Keystone(权限管理)
  • Nova(管理虚拟机)
  • Nova-network(管理网络流量和ip)
  • Glance(镜像管理项目)
  • Cinder(磁盘管理)
  • Swift(网盘,对象)
基础部署架构:
opstack 笔记 (一) 概念第5张

5.OpenStack实验环境

实验环境 实验一般选用双节点。

配置需求:

我的笔记本受不了官方配置

控制节点:2CPU4G,单网卡(NAT模式+混杂模式+IPV6)

计算节点:1C1G,单网卡(NAT模式+混杂模式+IPV6)



其他知识补充:

  cpu特权级:

    Ring0 :内核态 最高级别独占了

    Ring1 :

    Ring2 :

    Ring3 : 用户操作的级别,我们的代码指令最低,调用0去操作

    结论:一个电脑没办法同时运行两个操作系统,因为内核态独占了ring0,这就需要vm软件虚拟cpu

  半虚拟化和全虚拟化:

      半虚拟化: 所有的指令都需要hypervisor去转义交给cpu执行

      全虚拟化:cpu硬件支持 VT技术,性能要比半虚拟化强很多

  操作系统虚拟化:

      类似于win系统 和 linux多用户之间的划分

  虚拟化软件:

      KVM,QEMU

   opstack 笔记 (一) 概念第7张

   libvirt 软件:

      理解libvirt的代码架构就需要理解三个接口,虚拟机管理接口,磁盘管理接口,网络管理接口,libvirt通过高度抽象的接口对上层应用提供统一的入口,屏蔽底层的具体实现,也是openstack上最常用的工具和虚拟化管理平台,运行在用户控件

opstack 笔记 (一) 概念第8张

  libvirt 关键词解释:

      节点(node):一个机器上运行多个虚拟客户机,hypervisor和domain都运行在node之上

      域:实在hypervisor上运行的客户操作系统

  open vswitch:

      对于网络虚拟化的软件,虚拟交换机,运行在平台上.

      相关的概念:

        bredge: 代表一个以太网交换机,一个主机可以创建多个

        port: 端口, 每一个交换机都有对应的端口

        interface: 连接port的网络接口设备

        controller,控制器

        datapath: 负责执行数据交换

        flow table : 每一个datapath都有一个 flow table 对应,类似于数据流表

  os七层协议

opstack 笔记 (一) 概念第9张

 SDN是什么?

      传统网络是通过交换机+路由器,而客户端采用ip + mac地址进行通讯,对集群或者网络的管理效率低下.正如公司会有专门人员区管理ip地址池,那为了保证不冲突又合理利用,没有一个高效工具去辅助.

      SDN是通过软件去控制网络传输,IP使用情况一目了然,多种呈现方式,方便管理员对IP资源 及时回收、统一管理,终端位置改变,需要管理员审批,有效防止MAC欺骗,控制器故障也不会影响网络的转发安全性高,那是不是更方便了?它还可以控制网络流量带宽合理分配资源更智能.

免责声明:文章转载自《opstack 笔记 (一) 概念》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ssh使用密钥进行认证教你优化yum源。配置阿里云的yum镜像源(base和epel)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Genymotion模拟器无法直接安装APP

使用Genymotion模拟器安装APP的过程中,将我们的apk拖进去模拟器报以下错误: Genymotion官网常见问题解决办法汇集地址:https://www.genymotion.com/#!/support?chapter=error-arm-application,然后再里面看到这么这么一条信息,如下图: 解决的办法有两种:第一种,如果你是应...

【转】ArcGIS10.0完全卸载全攻略

ArcGIS10.0完全卸载详细步骤: 1、开始>控制面板>添加删除程序,卸载所有ArcGIS软件和帮助文档,以及所有ArcGIS补丁。2、从添加删除程序面板中删除所有Python相关的应用程序。3、进入到如下目录:C:UsersUserNameAppDataRoaming ,删除ESRI文件夹。4、开始>运行,输入regedit并按回车...

MES软件开发工具

MES软件开发工具 - 基于C/S架构的Winform快速开发框架平台   MES系统 - 制造执行系统   MESA(Manufacturing Execution System Association,国际制造执行系统协会)的白皮书对制造执行系统(Manufacturing Execution Systems,MES)所下的定义:“制造执行系统传递信...

VirtualBox 之 共享磁盘

虚拟机共享磁盘,VMware稍显复杂,没想到,VirtualBox却如此简单,下面是详细的步骤                                                                                                                                    ...

Lua 虚拟机指令

Lua 虚拟机指令 Lua运行代码时,首先把代码编译成虚拟机的指令("opcode"),然后执行它们。 Lua编译器为每个函数创建一个原型(prototype),这个原型包含函数执行的一组指令和函数所用到的数据表。1 从Lua5.0开始,Lua使用基于寄存器的虚拟机(虚拟机主要分为基于寄存器的和基于栈的)。 为了分配寄存器使用时的activation r...

实战RPM包制作

  在开发中经常会用到一些rpm包,但是一直没有自己手动制作过。今天在制作的时候意外地还解决了自己以前一直困惑的问题,就是怎么制作rpm debuginfo包,类似CentOS官网那样的debuginfo包。原来在制作rpm时如果没有特殊设置就会在RPMS目录下同时生成rpm包及对应的debuginfo包。   下面总结一下制作rpm包的流程以及遇到的...