云计算知识汇总


前言

随着业务需求要处理的数据量逐渐增大,云计算是每一家企业的首选,大大节约了建立多台服务器的数据中心所需要的成本


一、概念

云计算是一种无处不在、便捷且按需对一个共享的可配置资源(包括网络、服务器、存储、应用和服务)进行网络访问的模式,它能通过最少量的管理以及与服务提供商的互动实现计算资源的迅速供给和释放


二、重要特征

  • 云计算的基石是虚拟化
  • 云计算是对并行计算、网格计算、分布式计算技术的发展与运用
  • 云计算研究重点是将资源整合
  • 云计算是指服务的交付和使用模式
  • 五大特征:自助式服务、随时随地使用、可度量的服务、快速资源扩缩、资源池化
  • 特点:超大规模、虚拟化、按需分配服务、高可靠性、可动态伸缩、广泛网络访问、节约能源

三、服务类型

云计算的服务模式:

  • IaaS(基础设施服务):
    服务商出租处理能力、存储空间、网络容量等基本计算资源
  • PaaS(平台即服务):
    服务商提供给用户一套可编程、可开发的云环境(针对开发者)
  • SaaS(软件即服务):
    服务商提供给客户一套在云环境下的工具、应用程序

四、云服务

  • 定义
    云服务以网络作为依托,其目的是随时随地的实现数据存取、运算等,将企业所需的软硬件、数据资料等通过互相连接的不同的IT设备放到云端上。目前,云服务有公有云(PublicCloud)与私有云(PrivateCloud)、混合云三种,其中,前两种是最常见的

    • 公有云
      公有云是一种对公众开放的云服务,由云服务提供商运营,为最终用户提供各种IT资源,可以支持大量用户的并发请求。
    • 私有云
      私有云是指组织机构建设的专供自己使用的云平台。
    • 混合云
      混合云是由私有云及外部云提供商构建的混合云计算模式。
    • 社区云
      社区云服务的用户是一个特定范围的群体,它既不是一个单位内部的,也不是一个完全公开的服务,而是介于两者之间。
  • 云服务提供商

  • Amazon EC2、Microsoft Azure Cloud、阿里云、腾讯云


五、云存储

  • 云存储是一种网络在线存储的模式
    即把数据存放在通常由第三方托管的多台虚拟服务器,托管公司营运大型的数据中心,需要数据存储托管的人,则通过向其购买或租赁存储空间的方式,来满足数据存储的需求。数据中心营运商根据客户的需求,在后端准备存储虚拟化的资源,并将其以存储资源池的方式提供,客户便可自行使用此存储资源池来存放文件或对象

  • 多级存储体系是指将多级存储器结合起来的一种方式
    在一个计算机系统中,对存储器的容量、速度和价格这三个基本性能指标都有一定的要求。存储容量应确保各种应用的需要;存储器速度应尽量与CPU的速度相匹配并支持I/O操作;存储器的价格应比较合理。然而,这三者经常是互相矛盾的。例如存储器的速度越快,则每位的价格就越高;存储器的容量越大,则存储器的速度就越慢。按照现有的技术水平,仅仅采用一种技术组成单一的存储器是不可能同时满足这些要求的。只有采用由多级存储器组成的存储体系,把几种存储技术结合起来,才能较好地解决存储器大容量、高速度和低成本这三者之间的矛盾


六、云安全

  • 概念
    基于云计算商业模式应用的安全软件,硬件,用户,机构,安全云平台的总称。

  • 云计算攻击的特点

    • 云计算的强大计算能力让密码破解变得简单、快速
    • 在云计算内部,云端聚集了大量用户数据,虽然利用虚拟机予以隔离,但对于恶意攻击者而言,云端数据依然是极其诱人的超级大蛋糕
  • 数据安全涉及的方面

    • 数据传输安全:在使用公共云时,对于传输中的数据最大的威胁是不采用加密算法
    • 数据隔离:加密磁盘上的数据或生产数据库中的数据很重要(静止的数据),这可以用来防止恶意的云服务提供商、恶意的邻居“租户”及某些类型应用的滥用
    • 数据残留:数据残留是数据在被以某种形式擦除后所残留的物理表现,存储介质被擦除后可能留有一些物理特性使数据能够被重建
  • 应用安全涉及的方面

    • 终端用户安全:对于使用云服务的用户,应该保证自己计算机的安全
    • SaaS应用安全:SaaS应用提供给用户的能力是使用服务商运行在云基础设施之上的应用
    • PaaS应用安全:PaaS云提供给用户的能力是在云基础设施之上部署用户创建或采购的应用
    • IaaS应用安全:IaaS云提供商将客户在虚拟机上部署的应用看做是一个黑盒子,IaaS提供商完全不知道客户应用的管理和运维
  • 数据迁移技术在云端的应用给恶意攻击者以窃取用户数据的机会


七、虚拟化技术

  • 概念
    虚拟化(Virtualization)是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机

  • 作用
    虚拟化技术是将计算机的各种物理实体资源,如服务器、网络、内存及存储等,予以抽象、转换成逻辑资源,不受物理实体资源之间的限制,使用户可以更加灵活地使用这些资源。一般所指的虚拟化资源包括计算资源、存储资源和网络资源

  • 虚拟化技术分类

    • 平台虚拟化:计算机和操作系统的虚拟化
    • 资源虚拟化:特定的系统资源的虚拟化,如内存、存储和网络资源等
    • 应用程序虚拟化:包括仿真、模拟、解释技术等
  • 虚拟化主要是指平台虚拟化技术

    • 全虚拟化
      指虚拟机模拟了完整的底层硬件,包括处理器、物理内存、时钟、外设等,使得为原始硬件设计的操作系统或其他系统软件完全不做任何修改就可以在虚拟机中运行,比较著名的全虚拟化VMM有Microsoft Virtual PC、VMware Workstation、Sun Virtual Box、Parallels Desktop for Mac和QEMU

    • 超虚拟化
      是一种修改客户机操作系统部分访问特权状态的代码以便直接与VMM交互的技术。比较著名的超虚拟化VMM有Denali、Xen

    • 硬件辅助虚拟化
      指借助硬件的支持来实现高效的全虚拟化。Intel-VT和AMD-V是目前x86体系结构上典型硬件辅助虚拟化技术

    • 部分虚拟化
      VMM只模拟部分底层硬件,因此客户机操作系统不做修改是无法在虚拟机上运行的,其他程序可能也需要进行修改

    • 操作系统级虚拟化
      是一种在服务器操作系统中使用的轻量级的虚拟化技术,内核通过创建多个虚拟的操作系统实例(内核和库)来隔离不同的进程,不同实例中的进程完全不了解对方的存在,比较著名的操作系统级虚拟化VMM有Solaris Container、FreeBSD Jail和OpenVZ等

    • 存储资源虚拟化
      在现行的计算机系统架构下,存储系统的特点:

      1. 访问存储设备的速度和CPU的处理速度不匹配
        越靠近CPU的存储设备存储速度越快,外部设备(简称外设)的存储速度最慢。
      2. 存储速度与存储单元价格成反比
        靠近CPU的存储设备虽然存储速度快,但是单位容量的存储单元价格也相对较贵,且容量较小。通常将大容量存储器放在外设上,以兼顾速度、容量与性价比
      • 存储方式
        (1)直连式存储(Direct-Attached Storage,DAS)
        一种通过总线适配器直接将硬盘等存储介质连接到主机上的存储方式
        (2)网络连接存储(Network Attached Storage,NAS)
        一种直接与网络介质相连并采用TCP/IP等网络协议实现数据存取的存储系统
        (3)存储区域网络(Storage Area Network,SAN)
        一种采用网状通道(Fibre Channel,FC)技术,通过FC交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络

        • 软件定义存储(SDS)
          软件定义存储是一个不断进化的概念

          • 在现阶段看来,是指存储资源由软件自动控制,通过抽象、池化和自动化,将标准服务器内置存储、直连存储,外置存储,或云存储等存储资源整合起来,实现应用感知,或者基于策略驱动的部署、变更和管理,最终达到存储即服务的目标。
          • 从用户视角看,SDS包括控制平面和数据平面。控制平面负责数据的调度管理和流向控制;而数据平面负责数据的处理和优化
        • 分布式存储

          • 采用可扩展的系统结构,将分散在不同位置、不同服务器上的存储资源组成一个虚拟的存储设备,利用多台存储服务器分担存储负荷,将数据分散存储到多个存储服务器上
          • 实现技术:如Hadoop分布式文件系统(HDFS)、分布式文件系统(Ceph)、Google分布式文件系统(GFS)、Swift(对象存储)等
    • 网络资源虚拟化

      • 网络功能虚拟化(Network Functions Virtualization,NFV)就是将传统的通信技术业务部署到云平台上,从而实现软/硬件解耦合的

      • 网络功能虚拟化的5个重要组成部分:
        1. VNF(虚拟化网络功能)
        2. NFVI(网络功能虚拟化基础设施)
        3. NFVO(网络功能虚拟化业务编排)
        4. VNFM(虚拟化网络功能管理)
        5. VIM(虚拟化基础架构)

        - 软件定义网络(Software Defined Network,SDN)
        其设计思想是将网络中的控制平面与数据转发平面两者进行分离,并使用集中的控制器中的软件平台来实现可编程化控制底层的硬件功能,可以实现对网络资源的按需分配。

        • 软件定义网络的特征
          • 转控分离:网元的控制平面在控制器上,负责协议计算,产生流表;而转发平面只在网络设备上
          • 集中控制:设备网元通过控制器集中管理和下发流表,这样就不需要对设备进行逐一操作,只需要对控制器进行配置即可
          • 开放接口:第三方应用只需要通过控制器提供的开放接口,通过编程方式定义一个新的网络功能,然后在控制器上运行即可。维护,降低运维成本
    • KVM虚拟化技术
      是一个开源的系统虚拟化模块,是基于虚拟化扩展(Intel VT或者AMD-V)的x86硬件的开源的Linux原生的全虚拟化解决方案。在KVM中,虚拟机被实现为常规的Linux进程,由标准Linux调度程序进行调度,虚拟机的每个虚拟CPU被实现为一个常规的Linux进程,使得KVM能够使用Linux内核的已有功能

      • 作用:提供CPU和内存的虚级化,以及客户机的I/O拦截

      • KVM架构:主机系统由硬件和软件组成,操作系统是软件系统的核心,而操作系统又分为内核空间和用户空间,虚拟机是在用户空间运行的,KVM作为Hypervisor运行在主机操作系统内核空间

      • KVM CPU 虚拟化

        • 为什么需要CPU虚拟化?
          操作系统(内核)需要直接访问硬件和内存,因此它的代码需要运行在Ring 0上,这样,可以使用特权指令,控制中断、修改页表、访问设备等。做受控操作,则需要用户态和内核态的切换。客户机操作系统和主机操作系统均有自己的内核,都需要运行在Ring 0上,这样就冲突了,VMM需要解决运行冲突的问题。(Ring是指CPU的运行级别,分别是Ring 0、Ring 1、Ring 2、Ring 3,Ring 0是最高级别,Ring 3级别最低。)

        • KVM采用硬件辅助虚拟化
          Intel引入了Intel-VT (Virtualization Technology)技术。这种CPU有VMX Root operation和VMX Non-Root Operation两种模式,两种模式都支持Ring 0 ~ Ring 3共4个运行级别。
          VMM可以运行在VMX Root Operation模式下,客户机操作系统运行在VMX Non-Root Operation模式下。

      • 内存虚拟化:

        • 为什么需要内存虚拟化?
          在虚拟化模式下,虚拟机处于非Root模式,无法直接访问Root模式下的主机上的内存。VMM的介入,截获虚拟机的内存访问指令,模拟主机上的内存,相当于VMM在虚拟机的虚拟地址空间和主机的虚拟地址空间中间增加了一层虚拟机的物理地址空间。内存软件虚拟化的目标就是要将虚拟机的虚拟地址(GVA)转化为主机的物理地址 HPA),中间要经过虚拟机的物理地址(GPA)和主机的虚拟地址(HVA)的转化,即GVA -> GPA -> HVA -> HPA。Intel采用EPT,AMD采用NPT实现硬件辅助内存虚拟化。

        • EPT在原有CR3页表地址映射的基础上,引入了EPT页表来实现另一层映射,这样,GVA->GPA->HPA的两次地址转换都由硬件来完成。

      • KVM 的 I/O 虚拟化:
        从处理器的角度看,外设是通过一组I/O资源来进行访问的,所以,设备的相关虚拟化被称为I/O虚拟化。
        方式:qemu全虚拟化方式、virtio半虚拟化方式、硬件辅助虚拟化方式

      • KVM管理工具

        • VIRSH:命令行管理工具,功能强大,能完成几乎所有虚拟机管理任务。包括在线迁移、虚拟机快照、创建和转换虚拟机磁盘文件格式等,适合以脚本的形式自动管理虚拟机
        • OVIRT:以Web的方式,实现大部分的管理方式,并且可以随时访问虚拟机状态,获取虚拟机监视器界面。使虚拟机的管理跨越地域的限制,在任何有网络的地方都可以管理虚拟机
        • VIRT-MANAGER:以桌面应用的方式,提供了方便与性能兼具的高效率管理,支持多节点管理,以完全一样的方式,管理多个节点
      • KVM虚拟机迁移
        KVM虚拟机的迁移是在不同主机之间进行的,可以分为热迁移和冷迁移

        • 热迁移

          1. 也称为动态迁移,在线迁移。是在保证虚拟机上服务正常运行的同时,将一个虚拟机系统从一台主机移动到另一台主机的过程
          2. 不会对最终用户造成明显的影响,管理员在不影响用户正常使用的情况下,对主机进行离线维修或者升级。为了保证迁移过程中虚拟机服务的可用,迁移过程仅有非常短暂的停机时间。在迁移的前面阶段,服务在源主机的虚拟机上运行,当迁移进行到一定阶段,目的主机已经具备了运行虚拟机系统的必须资源,经过一个非常短暂的切换,源主机将控制权转移到目的主机,虚拟机系统在目的主机上继续运行。由于切换的时间非常短暂,用户感觉不到服务的中断,因而迁移过程对用户是透明的。适用于对虚拟机服务可用性要求很高的场合。
        • 冷迁移

          1. 也称为静态迁移、常规迁移、离线迁移。是在虚拟机关机或暂停的情况下从一台主机迁移到另一台主机。
          2. 因为虚拟机的文件系统建立在虚拟机镜像上面,所以在虚拟机关机的情况下,只需要简单的迁移虚拟机镜像和相应的配置文件到另外一台主机上即可。若需要保存虚拟机迁移之前的状态,则在迁移之前将虚拟机暂停,然后复制当前状态至目的主机,最后在目的主机重建虚拟机状态,恢复执行。这种方式的迁移过程需要显式的停止虚拟机的运行。从用户角度看,有明确的一段停机时间,虚拟机上的服务不可用。这种迁移方式简单易行。适用于对服务可用性要求不严格的场合。
      • 虚拟机的克隆
        根据源虚拟机复制一台新的虚拟机,两台虚拟机是完全一样的。KVM虚拟机的克隆一般采用虚拟机直接克隆或者复制配置文件与磁盘文件的方式进行克隆

      • KVM网络
        KVM网络配置有Bridge和NAT模式

        • Bridge:虚拟机需要配置自己的IP,虚拟出一个网卡,与主机的网卡一起挂载到一个虚拟网桥上(类似于交换机)来访问外部网络,此模式下,虚拟机拥有独立的IP,虚拟机与主机一样,局域网中其他主机能直接通过IP与其通信
        • NAT:虚拟机不需要配置自己的IP,虚拟机隐藏在宿主机后面,虚拟机能通过主机访问外网,但局域网中的其他主机访问不到虚拟机
      • KVM存储
        KVM存储选项有多种,包括虚拟磁盘文件、基于文件系统的存储和基于设备的存储
        当系统创建KVM虚拟机时,默认使用虚拟磁盘文件作为后端存储

        • 对于文件系统的KVM存储(dir、fs、netfs),在安装KVM宿主机时,可选文件系统为dir或fs作为初始KVM存储格式。默认选项为dir,用户指定本地文件系统中的一个目录用于创建磁盘镜像文件。fs选项允许用户指定某个格式化文件系统的名称,把它作为专用的磁盘镜像文件存储。(两种KVM存储选项之间最主要的区别在于:fs文件系统不需要挂载到某个特定的分区)
        • 对于设备的KVM存储(disk、iscsi、logical),共支持4种不同的物理存储:磁盘、iSCSI、SCSI和lvm逻辑盘。
      • KVM优化
        KVM性能优化主要在CPU、内存、I/O这三方面,根据不同的场景,采取不同场景优化方向

        • CPU的优化

          1. Intel的CPU运行级别,Ring3为用户态,Ring0为内核态,上下文切换,会导致性能出现问题,采用VT-x技术,在CPU硬件上实现了加速转换
          2. 采用CPU缓存绑定,L1是静态缓存,造价高,L2、L3是动态缓存,通过脉冲的方式写入0和1,造价较低。若CPU调度器把进程随便调度到其他CPU上,而不是当前L1、L2、L3的缓存CPU上,缓存就不生效了,就会产生丢失,为了减少Cache丢失,需要把KVM进程绑定到固定的CPU上。可以使用taskset命令把某一个进程绑定在某一个CPU上,例如:taskset-cp 125718(1指的是CPU1,也可以绑定到多个CPU上,25718是指pid)
          3. CPU绑定的优点:提高性能20%以上;CPU绑定的缺点:不方便迁移,灵活性差
        • 内存的优化

          1. Intel处理器上集成了EPT技术,GVA->GPA->HPA的两次地址转换都由硬件来完成,提高了性能
          2. 采用KSM(Kernel Samepage Merging)相同页合并(可以通过cat/ sys/kernel/mm/ksm/run命令可以查看是否开启)。将主机内容相同的内存合并,以节省内存的使用
          3. 采用大页后端内存(可以用cat/proc/meminfo查看)。在逻辑地址向物理地址转换时,CPU保持一个翻译后备缓冲器TLB,用来缓冲转换结果,而TLB容量很小,所以若Page很小,则TLB很容易就被充满,这样就容易导致Cache丢失;相反若Page变大,则TLB需要保存的缓存项就变少,就会减少Cache丢失,通过为客户端提供大页后端内存,就能减少客户机消耗的内存并提高TLB的命中率,从而提高KVM性能
          4. 对使用的内存进行限制(可以通过virsh memtune命令实现)
        • I/O的优化:
          为了防止某台虚拟机过度消耗磁盘资源而对其他的虚拟机造成影响,需要每台虚拟机对磁盘资源的消耗是都可控的,如多个虚拟机向硬盘中写数据,谁可以优先写,可以调整I/O的权重,权重越高写入磁盘的优先级越高(可以通过virsh blkiotune命令查看和设置某台虚拟机的具体权重优先级)


八、虚拟化平台

VMware vSphere平台

VMware vSphere平台系统架构
三个层次:虚拟化层、管理层、接口层

  • 虚拟化层
    虚拟化层包括基础设施服务和应用服务
    基础设施服务是用于抽象地、聚合地分配硬件或基础设施资源的服务组。 应用服务是用于确保应用的可用性、安全性和可扩展性的服务组。

  • 管理层
    VMware vCenter Server向数据中心提供单一的控制点。这提供基本的数据中心服务。例如,访问控制、性能监视和配置功能。

  • 接口层
    用户可以通过vSphere Cient或Web浏览器等客户端访问VMware vSphere数据中心。

VMware vSphere数据中心的物理拓扑
计算服务器、存储网络和阵列、IP网络、vCenter Server、管理客户端

  • 计算服务器:在主机上运行ESX/ESXi的行业标准x86服务器。ESX/ESXi软件向虚拟机提供资源,运行虚拟机。计算服务器在虚拟环境中被称为独立主机。可以将许多配置相似的x86服务器组合起来连接到相同的网络和存储子系统以提供虚拟环境中的资源集合

  • 存储网络和阵列:VMware vSphere支持光纤信道SAN阵列、Iscsi SAN阵列、NAS阵列以满足不同数据中心的存储需求

  • IP网络:每个计算服务器都有多个网络卡,为VMwarevSphere数据中心提供高带宽和可靠的网络连接

  • vCenter Server:向数据中心提供单一的控制点,这提供基本的数据中心服务

  • 管理客户端:VMware vSphere为数据中心管理和虚拟机访问提供多种接口。这些接口包括VMware vSphere Cient、Web Access、vSphere命令行接口或vSphere Management Assistant

VMware vSphere主要功能
(1)VMware vSphere Client
(2)VMware vSphere Web Client
(3)VMware vSphere SDK
(4)vSphere虚拟机文件系统(VMFS)
(5)vSphere Virtual SMP
(6)vSphere vMotion
(7)vSphere Storage vMotion
(8)Resource Scheduler(DRS)
(9)vSphere 存储DRS

VMware ESXi
VMware ESXi是创建和运行虚拟机的虚拟化平台。可以通过ESXi执行虚拟机、安装操作系统、执行应用程序、构成虚拟机。与VMware Workstation和VMware Server相同,都是虚拟机软件,ESXi简化了虚拟机软件和物理主机之间的操作系统层,直接在裸机上操作,其虚拟化管理层更加精炼,性能更好效率更高

VMware ESXi七大功能
(1)镜像生成器
(2)面向服务的无状态防火墙
(3)增强的SNMP支持
(4)安全系统日志
(5)自动部署
(6)扩展增强型esxcli框架
(7)新一代的虚拟机硬件

国产虚拟化CNware

  • 现状
    多种芯片技术路线并行、多云并存管理难、应用迁移困境、终端体验差,导致应用改造推广缓慢

  • 趋势
    随着国产虚拟化技术不断进步,产品与服务不断完善,给用户带了的体验丝毫不必国外的产品差。通过自主创新的软件和硬件,高效地将复杂的IT架构云化,打造成管理统一、体验一致的混合架构云平台,支持全芯全栈解决方案,可以为用户提供完整的一云多芯、多云统管、云上办公等国产化替代方案

  • CNware技术原理
    CNware以WinStack虚拟化云平台软件聚焦于软件定义基础设施的虚拟化能力、云计算调度能力,计算、存储、网络均提供企业级的虚拟化产品,可灵活组合适应、整合数据中心基础设施,达到提高资源效率、管理效率的目的;利用集群调度算法、资源落点多重算法、虚拟机亲和/反亲和规则等建立高度自动化、智能化、服务质量水平的基础架构,保障业务上线敏捷和连续性要求

九、虚拟机管理工具

OpenStack

  • 简介
    OpenStack是当今最具影响力的云计算管理工具。通过命令或者基于Web可视化控制面板来管理IaaS云端的资源池(服务器、存储和网络)。OpenStack最先由美国国家航空航天局(NASA)和RackSpace在2010年合作研发
  • 概念
    OpenStack是一个云操作系统,控制整个数据中心的大量计算、存储和网络资源池,这些都通过具有通用身份验证机制的API进行管理和调配。OpenStack是一个云平台管理的项目,不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。
  • OpenStack的优势
    成本相对较低、有大量的人才储备、组件配置较为灵活、模块松耦合
  • OpenStack架构中核心组件
    • Nova:又被称为OpenStack Compute,主要作用是控制虚拟机的创建,以及改变虚拟机的容量和配置,还可以做虚拟机的销毁,虚拟机的整个生命周期都是由Nova来控制的。一般将Nova部署到计算节点上,在实验环境中也可部署在Controller节点上运行。
    • Cinder:Cinder组件主要的用途是提供块存储服务,最核心的两个部分是Scheduler和Cinder Volume。当有读/写存储服务请求时,Scheduler决定请求通过哪个Cinder Volume进行读取操作,Cinder Volume是实际控制存储的设备
    • Neutron:管理网络资源,提供一组应用编程接口(API),用户可以调用它们来定义网络(如VLAN ),并把定义好的网络附加给租户。Networking是一个插件式结构,支持当前主流的网络设备和最新网铬技术
    • Swift:从OpenStack诞生就有Swift组件,NoSQL数据库为虚拟机提供非结构化数据存储,它把相同的数据存储在多台计算机上,以确保数据不会丢失。用户可通过RESTful和HTTP类型的API来与它通信
    • Glance:存取虚拟机磁盘镜像文件,Compute服务在启动虚拟机时需要从Glance获取镜像文件。这个组件不同于上面的Swift和Cinder,这两者提供的存储是在虚拟机中使用的
    • Keystone:为其他服务提供身份验证、权限管理、令牌管理及服务名册管理。若要使用云计算的所有用户事先需要在Keystone中建立账号、设置密码,并定义权限。另外,OpenStack服务(如Nova、Neutron、Swift、Cinder等)包括Keystone也要在里面注册,并且登记具体的API

十、超融合技术

  • 概念
    超融合架构是一种 IT 基础架构构建方式,其核心思想是使用通用硬件,用软件定义来实现 IT 基础架构的各项服务,包括计算虚拟化(软件定义计算)、存储虚拟化(软件定义存储)和网络虚拟化(软件定义网络)等,且这些服务都在统一的平台上

  • 发展
    (1)超融合1.0(2010—2015年)
    (2)超融合2.0(2016—2018年)
    (3)超融合3.0(2019年至今)

  • 主流超融合技术
    软件定义存储:
    (1)存储服务处在Hypervisor组件之上
    (2)存储服务运行在 Hypervisor 外部
    (3)存储服务作为内核模块运行在Hypervisor内部

  • 超融合的技术架构
    (1)虚拟化操作系统
    (2)软件定义存储
    (3)虚拟化管理平台
    (4)云服务中心

十一、容器

Docker

  • 概念
    Docker 是一个开源的应用容器引擎,是一种轻量级、可移植、自包含的软件运行环境,使应用程序可以在几乎任何地方以相同的方式运行。开发人员在自己笔记本电脑上创建并测试容器,无须任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行

  • 组成
    一个完整的Docker包含DockerClient(客户端)、Docker Daemon(守护进程)、Docker Image(镜像)、DockerContainer(容器)

  • Docker与虚拟机的区别

    • 容器由应用程序本身和对应的依赖组成,作为操作系统的进程运行在主机操作系统的用户空间中,并且没有自己的Kernel,与操作系统的其他进程隔离
    • 虚拟机是在主机中运行的有完整的Kernel和用户空间操作系统,与其他虚拟机隔离
  • Docker的优势

    • 对于开发人员可以实现创建一次、在任何地点运行,容器意味着环境隔离和可重复性。开发人员只需为应用创建一次运行环境,然后打包成容器便可在其他机器上运行。另外,容器环境与所在的主机环境是隔离的,就像虚拟机一样,但容器运行更快、结构更简单

    • 对于运维人员可以实现配置一次、运行任何项目,只需要配置好标准的运行环境,服务器就可以运行任何容器。这使得运维人员的工作变得更高效。容器消除了开发、测试、生产环境的不一致性,真正实现DevOps

  • Docker镜像分层结构
    镜像是Docker容器的基石,容器是镜像的运行实例,有了镜像才能启动容器,Docker镜像是从Base 镜像开始,一层一层叠加生成的分层结构

    1. Kernel层
      Kernel不属于Docker镜像的一部分,属于主机。典型的Linux从启动到运行需要两个bootfs和rootfs。bootfs 是通用的,当启动成功后Kernel被加载到内存中后,bootfs就被卸载了。Rootfs(Root file System)就是典型Linux系统中的 /dev, /proc, /bin, /etc等标准目录和文件

    2. Base Image层
      Base Image层是构建其他镜像的基础,用户可以根据自己的需要,在基础镜像上安装需要的软件,并生成新的镜像。Base Image层是只读的,如多个容器共享一份基础镜像,当某个容器修改了基础镜像的内容,如 /etc下的文件,这时其他容器的 /etc是不变的

    3. Image层
      管理人员在Base Image层基础上安装一个应用软件就生成新的一层,每层均称为Image层,一个Docker镜像可能是由一个Base Image再加上多个Image组成的。Image层和Base Image层一样也是只读的

    4. Container层
      当容器启动时,一个新的可写层被加载到镜像的顶层,该层被称为Container层,对容器的所有改动,无论是添加、删除、还是修改文件都只会发生在Container层中

  • Docker容器的Copy-on-Write特性

    • 添加文件:在容器中创建文件时,新文件被添加到容器层中

    • 读取文件:在容器中读取某个文件时,Docker会从上往下依次在各镜像层中查找此文件。一旦找到,立即将其复制到Container层,然后打开并读入内存

    • 修改文件:在容器中修改已存在的文件时,Docker会从上往下依次在各镜像层中查找此文件。一旦找到,立即将其复制到Container层,然后对其进行修改

    • 删除文件:在容器中删除文件时,Docker也是从上往下依次在镜像层中查找此文件。找到后,会在容器层中记录此删除操作

    • 只有当需要修改时,才复制一份数据,这种特性被称为Copy-on-Write。可见,Container层保存的是镜像变化的部分,不会对镜像本身进行任何修改

十二、云服务管理平台

Kubernetes

  • 作为微服务架构的管理平台有它天然的优势、完全兼容各种云服务提供商、有先进的调度能力、具有较强的自动缩放能力

  • 功能包括负载均衡、健康检查、滚动升级、失败冗余、资源监控、日志访问、调试应用程序、认证和授权、容灾恢复、DevOps等

  • Kubernetes的关键概念

    1. Cluster:是计算、存储、网络资源的集合,由一组节点(Node)组成,这些节点可以是物理服务器或者虚拟机,其上安装了Kubernetes平台
    2. Master:是整个Cluster的“大脑”,用于控制Kubernetes的所有节点,所有任务和资源的分配都由Master统一调度管理
    3. Node:除了Master的其他计算机,均被称为节点,节点可以是一台物理主机,也可以是虚拟机,是集群中的工作负载节点
    4. Pod:是Kubernetes分配的最小工作单元,被部署在节点上,每个Pod可以包含一个或多个容器。Pod中所有容器共享相同的网络空间和资源,即具有相同的IP地址、IPC、主机名称、卷及其他资源
    5. Service:为一组Pod提供单一稳定的名称和地址
    6. Namespace:可以将一个物理的Cluster在逻辑上划分成多个虚拟Cluster,每个Cluster都是一个Namespace。不同Namespace中的资源是完全隔离Kubernetes默认创建了两个Namespace,即Defaul和Kube-System。在创建资源时,若不指定,则将被放到Defaul中,Kubernetes自己创建的系统资源将放到Kube-System中
    7. ControllerManager:由Kube-Controller-Manager和Cloud-Controller-Manager组成,是Kubernetes的“大脑”,它通过Apiserver监控整个集群的状态,并确保集群处于预期的工作状态
  • Kubernetes架构
    Kubernetes集群属于主从分布式架构,主要由一台到多台MasterNode和一台到多台WorkerNode组成

    1. MasterNode:作为控制节点,对集群进行整体调度管理,是整个集群的大脑,可以运行在物理机、虚拟机或者公有云上的虚机中。MasterNode由APIServer、Scheduler、ClusterStateStore和Controller-MangerServer等组成,负责认证和授权、Pod部署调度、扩容、状态存储、创建群集等工作
    2. WorkerNode:节点上主要有三个组件,即Kubelet、Kube-Proxy、ContainerEngine。分别负责定期向Master节点汇报该节点的资源使用情况、负载均衡和容器生命周期管理
  • Kubernetes的网络架构

    • Node网络本身不属于Kubernetes集群网络,属于组织内部的网络(部署在组织内部网络上的主机网络),或者公有云上主机实例所在的网络,目的是连接所有的Master和Worker主机节点的

    • Service网络是Kube-Proxy通过Iptables规则虚拟出来的ClientIP所在的网络,专用于Service资源对象,它是一个虚拟网络,用于为K8S集群中的Service配置IP地址,但是该地址不会配置在任何主机或容器的网络接口上,而是通过Node上的Kube-Proxy配置为Iptables或Ipvs规则,从而将发往该地址的所有流量调度到后端的各Pod对象上

    • Pod网络是Kubernetes中的Overlay网络,是不同Node中Pod通信所用的网络,专用于Pod资源对象的虚拟网络,用于为各Pod对象设定IP地址等网络参数,其地址配置在Pod中容器的网络接口上。Pod网络需要借助Kubenet插件或CNI插件实现

十三、虚拟机的特性

虚拟机动态资源调度(DRS)

分布式资源调度(DistributedResourceScheduler,DRS)是对资源池中资源负载情况的动态监控,合理触发均匀分配规则,最终实现资源池上的虚拟机重新均匀分配的目的。当虚拟机遇到负载增大的情况时,DRS将通过在资源池中的物理服务器之间重新分布虚拟机来自动为其分配更多资源

虚拟机迁移

  • 概述
    若某台物理服务器或虚拟机突然发生宕机而导致服务中断,则为了确保正在进行的服务能够继续运行,管理平台将启动迁移,把这些工作的虚拟机都迁移到其他服务器上
  • 目的
    迁移的目的是当物理服务器维护、关机、重启、出现繁忙或数据中心需要扩容重新安排资源时,能够更好地为维护人员提供资源调度、转移
  • 类型
    迁移主要有在线迁移和离线迁移。
    • 在线迁移
      迁移类型包括更改主机、更改数据存储、更改主机和数据存储三种类型。其中,第一种类型是将虚拟机迁移到另一台主机;第二种类型是数据存储方面的迁移,将虚拟机的存储迁移到另一数据存储;第三种迁移类型是前两种类型的结合,是将虚拟机迁移到另一台主机的同时将其存储迁移到另一数据存储
    • 离线迁移
      离线迁移能在主机架构相同的主机间迁移,迁移时只过滤出主机架构相同的主机。这种方式在进行迁移之前需要将虚拟机暂停

虚拟机高可用

  • 概述
    • 虚拟机的高可用是虚拟化集群的高级特性,当主机发生计划外的故障时,WinServer主机支持在若干秒内(通常不会超过1min)自动地把故障主机上的虚拟机(位于共享存储)迁移至其他可用的主机上启动,由此实现业务的连续性保障
    • 虚拟机的高可用需要建立管理网络心跳,这依赖于交换机需要支持组播报文的转发。同时,仲裁方式可选IPMI或SDB方式
      • IPMI方式:若选择IPMI方式,则要求虚拟化管理节点与所有计算节点的IPMI带外地址连通,这种方式在计算节点故障时能够很好地完成断电隔离
      • SDB方式:若选择SBD方式,则需指定一个共享存储池作为存储心跳,计算节点需要同时检测网络心跳与存储心跳来判断自我故障并实现自我隔离
  • 工作原理
    高可用(HighAvailability,HA),是监控群集中的WinServer主机,通过配置合适的策略(如IPMI或SBD心跳方式),当群集中的WinServer主机发生故障时,虚拟机可以自动在其他WinServer主机上重新启动,最大限度保证重要服务不中断

总结

本文介绍了云技术的概念知识

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

語衣

感谢大哥

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值