zoukankan      html  css  js  c++  java
  • opstack 笔记 (一) 概念

    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(网盘,对象)
    基础部署架构:

    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

       

       libvirt 软件:

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

      libvirt 关键词解释:

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

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

      open vswitch:

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

          相关的概念:

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

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

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

            controller,控制器

            datapath: 负责执行数据交换

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

      os七层协议

     SDN是什么?

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

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

  • 相关阅读:
    vlan原理与配置
    路由协议-ospf
    路由协议-rip
    人品
    阿波罗礼赞
    跳石头
    FBI树
    方程求解
    循环比赛
    国王的游戏
  • 原文地址:https://www.cnblogs.com/well-666/p/12151555.html
Copyright © 2011-2022 走看看