一文表明白从传统服务器-虚拟化-云盘算-容器-云原生的发展历程!!! ...

打印 上一主题 下一主题

主题 242|帖子 242|积分 726

目次
一、传统服务器期间
二、虚拟化期间
2.1、虚拟化优势   
2.2、虚拟化商业模式分类 
2.3、开源虚拟化架构
2.3.1、虚拟化方式
半虚拟化
全虚拟化(过渡阶段,已镌汰) 
硬件辅助虚拟化(现阶段主流)
2.3.2、XEN
2.3.3、KVM
2.3.4、KVM为何击败XEN成为虚拟化的主流?
2.4、虚拟化
2.4.1、盘算虚拟化
内存复用
UMA:同等性内存访问
NUMA:非同等性内存访问        
2.4.2、存储虚拟化
SAN:存储区域网络
RAID:廉价的冗余磁盘阵列
RAID0—没有丧失,磁盘利用率:100%
RAID1—丧失50%,磁盘利用率:50%
RAID3—丧失1块,磁盘利用率:(n-1)/n
RAID5—丧失1块,磁盘利用率:(n-1)/n
RAID6—丧失两块,磁盘利用率:(n-2)/n
RAID10
RAID50
LUN:逻辑单元号
文件系统
差分盘技术
2.4.3、网络虚拟化
1、根据端口来分别zone(分区,雷同vlan)进行隔离
2、根据WWPN分别zone
3、单机虚拟化的网络连接模式
2.4、华为企业虚拟化(FusionCompute)
2.4.1、企业虚拟化架构
2.4.2、远程管理服务器
集群
三、云盘算期间
3.1、OpenStack和虚拟化的区别
3.2、OpenStack九大组件
1、horizon(地平线)
2、nova:提供openstack的盘算资源
3、glance:提供镜像服务
4、swift(对象存储)
5、cinder(块存储)
6、neutron
7、heat(编排服务)
8、ceilometer(计量服务)
9、keystone(身份认证)
四、容器期间(集装箱)
五、云原生和微服务期间

一、传统服务器期间

        X86:复杂指令集
        ARM:精简指令集
        同一物理机摆设的业务之间无法隔离,cpu、内存、存储等资源共享;当单个业务须要重启物理机才气运行时,导致所有业务重启。
        安全性:一台服务器只承载一种业务

        内存是盘算机中的一种存储设备,用于临时存储和读取数据。CPU从内存中读取指令和数据,并将盘算结果写回内存。内存的巨细决定了盘算机可以同时处理惩罚的数据量,内存用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。它是外存与CPU进行沟通的桥梁,内存的运行决定盘算机团体运行快慢。
        当前,cpu处理惩罚速度约莫是内存的100倍,为了不让CPU每次都在运行相对迟钝的内存中操作,缓存就作为一个中心者出现了,通常cpu内有3级缓存,即L1、L2、L3缓存。

  • cpu先从L1缓存中获取指令和数据,假如L1缓存中不存在,那就从L2缓存中获取;
  • 每个cpu核心都拥有属于本身的L1缓存和L2缓存;
  • 假如数据不在L2缓存中,那就从L3缓存中获取;
  • L3缓存就是所有cpu核心共用的。假如数据也不在L3缓存中,那就从内存中获取了;
  • 当然,假如内存中也没有那就只能从硬盘中获取了。

二、虚拟化期间

        通过“硬件资源分割”实现资源利用率提升,资本大幅降低。
2.1、虚拟化优势   

        与传统物理机相比,虚拟化优势:

  • 提高资源利用率
  • 有快照功能
  • 业务迁移便捷
  • 克隆虚拟机快捷     
2.2、虚拟化商业模式分类 

        单机虚拟化(如vm workstation)缺点:物理机故障,全部虚拟机就宕机
        企业级虚拟化(集群虚拟化)主流技术:

  • vmware vsphere(收费高)
  • Hyper-v(微软)
  • FusionCompute(华为基于开源KVM研发)
2.3、开源虚拟化架构

        为了区分内核态和用户态,CPU专门设置四个特权品级0,1,2,3;但其时大牛们写Linux内核的时间比力任性,就直接把内核态写在了ring0,用户态写在了ring3,而ring1和ring2至今无用,假如想要重新把内核态写在ring0,用户态写在ring1,就须要重写操作系统内核。

  • ring0:kernel—可以直接跟cpu内存申请硬件资源;
  • ring3:application—word、虚拟机等,须要借助管理ring0:kernel申请硬件资源。

2.3.1、虚拟化方式

半虚拟化

        起初,CPU不支持虚拟化,所以须要修改操作系统内核来实现虚拟化,且只能安装linux,由于windows不开源,而且半虚拟化时虚拟机知道本身是一台虚拟机(VM)。
        厥后,完全虚拟化兴起,就不须要上述的方式来实现虚拟化,但是半虚拟化也有其优势,给IO设备添加半虚拟化驱动来保留半虚拟化的优势,即CPU和内存采用硬件辅助虚拟化,IO采用半虚拟化,
        virtio是一种半虚拟化的设备抽象接口规范。与宿主机纯软件模拟I/O设备(完全虚拟化)相比,Virtio可以获得更好的I/O性能。
        缺点是必须要求客户机安装特定的Virtio驱动使其知道运行在虚拟化环境中。
        详细如下:

        正常环境下,vm1和vm2在同一宿主机上且不知道本身是虚拟机,vm1和vm2互访须要通过物理交换机交换数据,假如给vm1和vm2的网卡安装半虚拟化驱动(PV driver),vm1和vm2就知道了本身的脚色是虚拟机,且在同一宿主机上,连接在同一虚拟交换机(OVS在内存中,利用宿主机cpu和内存资源)下,那么二者通信直接将vm1内存中的数据通过ovs交换至vm2的内存中,无需颠末物理交换机,效率更高。所以,vm1和vm2的IO设备(网卡或硬盘等)须要选择virtio类型(虚拟化 IO)来优化资源访问。
        访问网络或者硬盘(IO)的时间,为了取得更高的性能,也须要让虚拟机内核加载特别的驱动(PV driver),也是让虚拟机内核从代码层面就重新定位本身的身份,不能像访问物理机一样访问网络或者硬盘,而是用一种特别的方式:我知道我不是物理机内核,我知道我是虚拟机,我没那么高的权限,我很可能和很多虚拟机共享物理资源,所以我要学会列队,我写硬盘其实写的是一个物理机上的文件,那我的写文件的缓存方式是不是可以变一下,我发送网络包,根本就不是发给真正的网络设备,而是给虚拟的设备(ovs),我可不可以直接在内存内里拷贝给他。一旦我知道我不是物理机内核,痛定思痛,只好重新认识本身,反而能找出很多方式来优化我的资源访问。
全虚拟化(过渡阶段,已镌汰) 

 完全虚拟化详细讲解
https://blog.csdn.net/gui951753/article/details/81507924
        通过虚拟化软件模拟CPU,内存,磁盘,网络,当VM向内核请求资源的时间,由虚拟化软件来进行的转换,向宿主机内核去申请资源,让VM以为本身是一台真的物理机,但是可以安装windows。
        无需修改操作系统内核,linux和windows都可安装;
        虚拟机内核通过宿主机安装的虚拟化软件向宿主机内核申请资源,但开销大。     
硬件辅助虚拟化(现阶段主流)

        使用完全虚拟化效率太低,Intel和AMD 在CPU内部加一个标志位,让VM知道本身是一个 VM,大部分的指令集可以直接运行在CPU之上,19条敏感指令集除外,还须要依靠于虚拟化软件来转换。
        新的标志位(Intel:VT-X;AMD: AMD-V)表示当前是在虚拟机状态下,还是真正的物理机内核下,对于虚拟机内核来讲,只要将标志位设为虚拟机状态,则可以直接在CPU上实行大部分的指令,不须要虚拟化软件在中心转述,除非碰到特别敏感的指令,才须要将标志位设为物理机内核态运行。        
2.3.2、XEN


        支持半虚拟化、全虚拟化、硬件辅助虚拟化
        外界请求访问虚拟机到达网卡后,须要在domain0(特权虚拟机)队列里列队运算发往目标虚拟,此外须要给domain0预留资源。

2.3.3、KVM

        支持全虚拟化和硬件辅助虚拟化

        KVM虚拟化技术的实现依靠于CPU的虚拟化扩展(如Intel VT和AMD-V)。
        当宿主机启动时,KVM会加载一个轻量级的内核模块kvm.ko,该模块负责与硬件进行交互,实现虚拟机的创建、管理和调度。
        KVM虚拟化技术的主要组件包罗以下几个部分:

  • KVM内核模块:负责与硬件进行交互,提供虚拟机的创建、管理和调度功能。
  • QEMU模拟器:用于模拟各种硬件设备,如CPU、内存、硬盘等。QEMU通过与KVM内核模块进行通信,实现对虚拟机的控制和管理。
  • libvirt库:提供了一个跨平台的API,用于管理虚拟机、存储和网络等资源。libvirt库可以与KVM、Xen、VMware等多种虚拟化技术集成,实现了资源的集中管理和主动化运维。
2.3.4、KVM为何击败XEN成为虚拟化的主流?


  • XEN 须要升级内核,维护一套内核,进来的数据包须要颠末domain0 来处理惩罚;
  • KVM 更轻量,通过内核模块来实现,一个VM就是一个历程;
  • XEN 被 citrix收购,支持cloudstack;
  • KVM 被红帽收购,支持openstack;
  • Openstack社区更流行,有更多的厂商支持。
2.4、虚拟化

2.4.1、盘算虚拟化

内存复用

        vmems(虚拟内存):假设CNA03为128G内存,原则上CNA03上的虚拟机内存要小于128G;开启内存复用后,128G*150%(默认值)=192G vmems,由于每个虚拟机大概率内存使用率无法到100%(告警机制:当内存使用率达到85%后告警进行扩容)。

  • 开启内存复用:提高虚拟机开秘密度
  • 关闭内存复用:提高虚拟机性能
        vcpus(虚拟cpu):插槽数*核数* 历程数=2颗物理cpu*每颗cpu20核*每核2个线程=80vcpus。
UMA:同等性内存访问


        MCH是内存控制中枢,也称为北桥芯片,管理速度快的设备,如CPU、内存;
        ICH是输入输出控制中枢,也称为南桥芯片,管理速度慢的设备,如硬盘、网卡;
        DDR3:一种盘算机内存规格;
        FSB:前端总线,CPU和内存通过FSB交互数据,前端总线频率:如1333MHz(折合成带宽:1333MHzX64bit/8=10667MB/s=10.67GB/s,即内存带宽);
        当前,服务器的CPU数和内存巨细都比力高,且由于只有FSB一条大道,所以FSB的频率成为了制约瓶颈,由于CPU和内存必须通过FSB交互数据。
        当应用步伐运行数据时,首先看cpu一级缓存有无数据,依次二级缓存、三级缓存,如都无数据,则从内存获调用数据至cpu运行。
NUMA:非同等性内存访问        


        分别CPU和内存放在差别的NUMA ZONE(01、02、03....)里,如图上左侧cpu0和内存在 zone01里,右侧cpu1和内存在zone02里;
        假如zone01里的资源不敷支持某台虚拟机的需求,就会通过QPI(快速互联通道)借用其他zone里的资源满意需求,与FSB单条通道差别,QPI是丼字型道路。

       宿主机创建集群时开启NUMA架构主动调整功能后,新开的虚拟机会主动感知NUMA架构,会尽可能把虚拟机放在一个numa zone里,假如资源不敷,就会通过QPI去其他numa zone里获取资源。
   注:NUMA与内存复用为互斥关系!
  创建集群
1.主机内存复用
        (1)开启可以提高虚拟机开秘密度,默认150%
        (2) 关闭提高虚拟机的性能
2.虚拟机启动策略
        (1) 负载平衡:开机时,可以让虚拟机平衡的运行在集群的主机上
        (2)主动分配:减少VRM的盘算压力
3.虚拟机NUM结构主动调整
        (1)虚拟机运行时主动感知NUMA架构,让虚拟机只管运行在一个NUMA Node中
        (2)与内存复用功能互斥,也会带来更多开销
4.开启故障与相应策略
        (1) 主机故障处理惩罚策略
        (2)数据存储故障处理惩罚策略
        不处理惩罚:假如间歇性故障,不处理惩罚更符合;
        HA:假如出现故障,HA更符合;
        Windows虚拟机蓝屏处理惩罚策略:利用虚拟机tools功能来充当心跳机制,检测虚拟机的状态,一旦检测不到tools心跳,就认为虚拟机蓝屏,通过宿主机将虚拟机强制重启。
5.接入控制策略
        答应故障的数目:在规划时,须要预留30%左右资源,以防止集群中有主机故障,包管所有的虚拟机都能正常运行
6.群体性故障
        在2个小时内假如出现多个主机故障,只处理惩罚前2个故障的主机。
7.启用盘算资源调度
        根据CPU和内存的使用环境,在集群中进行虚拟机迁移,来达到平衡的目标。
8.启用电源管理
        根据集群的负载环境,假如负载低,就把所有的虚拟机迁移到一部分主机上,把剩余的主构造机,来降低功耗,当业务负载高,则主动开机,将虚拟机迁移到新开机的主机,来达到平衡。
9.开启IMC机制
        就是开启Intel兼容性,使得差别批次的服务器在同一个集群中正常工作,降低高配服务器的性能
   为什么要创建多个集群?
          1.服务器硬件设置
        2.根据部门来管理
        3.根据业务 web+ mysqlmail + OA + ERP
        4.根据集群规则
2.4.2、存储虚拟化



AB双控:两个控制器互为备份,每一个控制器管理一部分存储池,当主控制器出现故障时,备用控制器接受主控的工作,互为灾备、负载平衡
SAN:存储区域网络

        存储区域网络(SAN:Storage Area Network):用户主机到存储的连接
        ISCSI 是由IEETF开辟的网络存储标准,目标是为了用IP协议将存储设备连接在一起,通过在IP网上传送SCSI下令和数据,ISCSI推动了数据在网际之间的传递,同时也促进了数据的远距离管理。由于其出色的数据传输能力,ISCSI协议被认为是促进存储区域网(SAN)市场快速发展的关键因素之一。

  • IP-SAN:IP网络连接(也叫ISCSI,将SCSI协议封装在IP网络中传输,远距离,异地灾备)
  • FC-SAN:光纤网络连接(SCSI协议封装在FC的网络传输 FC-SAN,100KM 同城)
RAID:廉价的冗余磁盘阵列

   为什么须要RAID?
          首先,CPU、memory(内存)发展灵敏,读写性能高,但是IO设备会成为瓶颈,写入磁盘时,磁盘处理惩罚速度跟不上。
        其次,盘算机最紧张的设备就是磁盘,CPU、memory(内存)坏 了可以更换,磁盘坏了可能导致数据丢失。RAID可以或许提高性能(读写)和冗余。
RAID0—没有丧失,磁盘利用率:100%

        条带化磁盘阵列(一样平常两块及以上)
        三个1TB物理磁盘RAID0构成一个虚拟磁盘3TB,没有容量损耗。一个500M数据写入磁盘时,假设按照64K分片,切成了N份,会将分片依次写入到三个磁盘中,读写性能得到提高。但是,安全性不足,每块磁盘故障都会导致数据丢失。

RAID1—丧失50%,磁盘利用率:50%

        镜像,2*N块磁盘构成
        提供冗余,性能无提升(读性能不变,写性能降低)
        两个1TB物理磁盘RAID1构成一个虚拟磁盘1TB,假设存储100M数据,这100M会分别在两块盘各存储100M。

        只能办理硬件故障,不能办理软件故障(即:若1盘数据被删除,2盘同步被删除),办理该问题须要做数据备份。
RAID3—丧失1块,磁盘利用率:(n-1)/n

        带奇偶校验的条带化(至少三块及以上)
        提供性能和冗余(重构:校验反推),只答应坏一块盘,可用空间(N-1),单独的磁盘写校验码
        RAID算法:

  • 复制(RAID1)
  • 异或(RAID3),相同为0,相异为真1
        三个1TB物理磁盘RAID3构成一个虚拟磁盘2TB(N个磁盘-1个校验盘),但是,校验盘会成为性能瓶颈。  
        RAID5校验位算法原理:P = D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn为数据块,P为校验,xor为异或运算)
        如下图:P1为数据1、2的奇偶校验信息;P2为数据3、4的奇偶校验信息;

RAID5—丧失1块,磁盘利用率:(n-1)/n

        目前用的最多的一种方式。 由于 RAID5 是一种将 存储性能、数据安全、存储资本 兼顾的一种方案。
        分布式奇偶校验的条带化
        只答应坏一块盘,可用空间(N-1)
        RAID5模式中,不再须要用单独的磁盘写校验码了,它把校验码信息分布到各个磁盘上。
        例如,统共有N块磁盘,那么会将要写入的数据分成M份,并发的写入到M块磁盘中,同时还将数据的校验码信息也写入到这M块磁盘外的磁盘中(数据与对应的校验码信息必须得分开存储在差别的磁盘上)。
        RAID5校验位算法原理:P = D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn为数据块,P为校验,xor为异或运算)
        一旦某一块磁盘损坏了,就可以用剩下的数据和对应的奇偶校验码信息去恢复损坏的数据。
        如下图:P1为数据1、2的奇偶校验信息;P2为数据3、4的奇偶校验信息;

RAID6—丧失两块,磁盘利用率:(n-2)/n

        两个奇偶校验的条带化
        最多随机损坏两块校验盘
        RAID6在RAID5的底子上再次改进,引入了双重校验(奇偶校验)的概念,但是由于奇偶校验写性能比RAID5更差,但是更安全,读性能和RAID5同等
        RAID6除了每块磁盘上都有同级数据XOR校验区以外,还有针对每个数据块的XOR校验区,这样的话,相当于每个数据块有两个校验保护措施,因此数据的冗余性更高了。
RAID10

        至少4块盘,同时必须是2*N, 最多可以损坏N/2块
        先RAID1,后RAID0。

   以4块1TB硬盘为例比力常用的RAID5和RAID10
          RAID5:P1校验管数据D1、D2;P2校验管数据D3、D4;

        当D1的数据被修改后,须要读取D1、D2、P1的数据重新进行校验写入(写惩罚),开销较大,雷同银行交易数据库就不适用RAID5。
        而RAID10修改数据不须要校验,开销较小。
RAID50

        至少6块盘
        可用空间4TB

   RAID 卡是否支持直通模式区别
         由于所有的硬盘都是接到RAID 卡上的,OS(操作系统)读到的是虚拟磁盘,假如RAID 卡支持直通模式,则 OS 可以直接读到裸硬盘,假如不支持,则必须创建RAID,才可以被 OS 读取到。
        假如RAID卡不支持直通,那么单盘想被读到须要RAID0。
LUN:逻辑单元号

       LUN:Logical Unit Number,假设有两个业务web和数据库须要使用共享存储内的空间,通太过别LUN1:10TB和LUN2:8TB,将空间分别映射给web和数据库,LUN1和LUN2相互独立。
        RAID完的共享存储相当于一块大硬盘,而LUN就相当于分区;
        LUN组与主机组映射,有了新的lun和主机直接参加组即可,无需单独映射(雷同公司跟公司之间合作,而不是个人与个人)
   CNA01是在存储上随便定名的主机名称,将CNA01参加主机组,然后LUN组与主机组映射后,如何实现CNA01逻辑主机与物理主构造联呢?
  

        FC-SAN下,物理机上的光纤卡上会有WWNN和WWPN,当主机和存储通过光纤连接好后,共享存储会识别WWPN,将CNA01与WWPN关联,即完CNA01主机和物理主机的关联。
        WWNN: World Wide Node Name全球唯一节点名
        WWPN: World Wide Port Name全球唯一端口名 16进制数字
        注:

  • 一台主机可以连接多台存储,而且还可以有多个LUN;
  • 一个LUN可以映射给多台主机(共享存储前提),在线迁移虚拟机;
  • 一个LUN只能映射给集群的多台主机,不要映射给非集群的多台主机,否则会导致脑裂。
文件系统

        block size:块巨细/簇巨细—文件系统最小存储单元。
        精简模式:
                创建完,不进行初始化,没有填0,使用时,写多少数据,就填写多少个0;
                会随着数据的增长而主动扩展,不会随着数据的减小而主动缩小;
                优点:按需分配,不占用未使用空间;
                缺点:性能差等到全部填完0后,与普通模式性能一样;
                按需分配,给主机分了100G,但可能使用了30G,剩余的70G并没有被实际使用。   
        普通模式:                
                创建完磁盘后,不管是否写入数据,全部用0添补;
                优点:性能好;
                缺点:创建速度慢。
        普通延迟置零:        
                创建完磁盘后,不用0添补,待第一次写入数据时,则全部用0添补;
                优点:创建时不占用磁盘性能,待使用时性能好。
差分盘技术

        独立-非长期
        根本磁盘(母盘)里的数据(1-6)固定不变,天生一个差分盘,用户读取的是差分盘,差分盘的1-6数据通过指针指向母盘,新天生的数据7、8、9写在差分盘,关机后差分盘删掉(雷同网吧下机后)。

        独立-长期
        根本磁盘(母盘)里的数据(1-6)固定不变,天生一个差分盘,用户读取的是差分盘,差分盘的1-6数据通过指针指向母盘,新天生的数据7、8、9写在差分盘,关机后差分盘不删掉。
        绑定某个磁盘时,选择磁盘模式分为以下三种:

  • 从属(快照可以保存数据)
  • 独立-长期(快照无法保存数据)
  • 独立-非长期(快照无法保存数据)
        注:快照不是数据备份,而是基于索引,且只照相母盘!
2.4.3、网络虚拟化

        光线交换机:全光口
1、根据端口来分别zone(分区,雷同vlan)进行隔离


2、根据WWPN分别zone


        CNA物理机连接光纤交换机1口,存储A控连接光纤交换机2口,在光纤交换机上可以看到CNA和存储各自光纤卡上的WWPN。
   为什么须要网络虚拟化?
          正常来说,假设一台物理机只有一块网卡,而一台物理机上有多个虚拟机,每台虚拟机有两块网卡,当数据包访服务器物理网卡时丢给哪台虚拟机?以及数据包如何做隔离?

3、单机虚拟化的网络连接模式

        (1)桥接模式
        虚拟机都桥到各自的虚拟交换机上叫桥接模式。

  • 虚拟机之间互访;
  • 主机与虚拟机之间互访;
  • 虚拟机可以通过主机访问外网;
  • 外网可以访问虚拟机。
        vm1和vm2通过虚拟交换机互访(假设vm1和vm2同子网,假如差别子网须要通过物理交换机),vm1和vm3通过虚拟交换机,再到物理交换机互访(两个物理机之间互访都是先颠末虚拟交换机再到达物理交换机)。
1.每一块物理网卡就是一个上行链路(下图中虚拟交换机到物理交换机的链路)
2.每个上行链路可以创建一个虚拟交换机


        vm1和vm4互访,由于不在同一子网,所以须要通过虚拟交换机—物理交换机—路由实现。
   解释阐明:
          安装一个VM时主动安装一块虚拟网卡/网络适配器,可添加多块虚拟网卡。
        虚拟交换机:见图4.1。安装VM时就主动安装了10台虚拟交换机(VMnet0-VMnet9)。



  • 虚拟网卡选择连接到VMnet0 (default Bridged)上即为采用虚拟网桥连接模式。
  • 虚拟网卡选择连接到VMnet1(Host-only)上即为采用仅主机模式,且会主动安装运行虚拟DHCP服务器并连接至这台虚拟交换机。
  • 虚拟网卡选择连接到VMnet8 (NAT)上即为采用NAT模式,且会主动安装运行虚拟DHCP服务器和虚拟NAT服务器,并连接至这台虚拟交换机。
        主机虚拟网卡/网络适配器:见下图,相当于一块确实存在的网卡,是连接主机和虚拟交换机用的网卡。


        (2)host-only模式(仅主机模式)

  • 虚拟机与虚拟机之间互访;
  • 主机与虚拟机之间互访;
  • 但虚拟机无法访问外网;
  • 外网也无法访问虚拟机。
        虚拟交换机没有上行链路,所以不能同外界通信

        如下图,apache的虚拟机设置两块网卡,一块桥接,一块仅主机,确保数据库安全

        (3)NAT模式

  • 虚拟机之间互访;
  • 主机与虚拟机之间互访;
  • 虚拟机可以通过主机访问外网;
  • 外网无法访问虚拟机。

        (4)自定义网络
        Fusioncompute:4个网络平面
        CNA,最佳8块网卡(8电口或6电口2光口)

一、管理网络平面(心跳、迁移、管理网络)
        VRM管理CNA网络
        双网卡绑定做主备,比如cna01的两个上行网卡虚拟成一个网卡

  • 同一个LUN可以同时映射给多个主机,但必须是集群关系
  • 同一个LUN不能同时映射给多个不是集群的主机
二、存储网络平面 
        CNA连接存储的网络

三、业务网络平面
        与管理网络物理隔离、分流,跑生产流量
        管理网络和存储网络ip设置在端口上,业务网络ip设置在虚拟机上

四、VIMS心跳网络(迁移网络)
       不通过管理网络迁移,通过该网络迁移,同时管理网络故障时也可以充当心跳网络。

2.4、华为企业虚拟化(FusionCompute)

        华为私有云:HCS
2.4.1、企业虚拟化架构


        华为企业虚拟化(FusionCompute)架构:VRM+CNA

  • VRM:Virtual Resource Management 虚拟资源管理(通过web管理界面管理CNA), 在VRM(管理界面)上操作,丢给CNA实行,别的,vrm会感知CNA的状态(50ms一个心跳,所以vrm和cna要在同一子网内),监测CNA上资源的使用环境,保持整个集群的平衡。(CNA没有web界面)
  • CNA:Compute Node Agent盘算节点代理(相比于完备版linux系统3.7G,定制化linux系统文件约700M,安装在服务器上;CNA 定制化linux系统包含两部分:linux系统+KVM虚拟化,等同于PC的windows搭载VMware workstation,linux系统安装在CNA自带的硬盘中,而虚拟机安装在共享存储挂载给CNA的硬盘)
  • CNA为虚拟机提供盘算资源:cpu和内存,而虚拟机安装在共享存储中,产生的数据也在存储于下方的共享存储中,所以当虚拟机1挂了之后,虚拟机2基于共享存储中的数据可以或许很快接受业务,迁移同理

        如下图:当某台服务器宕机时,集群(华为基于zookeeper)内其他服务器可随时承接

   注:1.Orcale数据库不能虚拟化摆设,一样平常跑在裸金属服务器上;
          2.虚拟化层只提供技术架构,不提供其他云上服务
          VRM摆设方式

  • 物理机摆设(一个VRM占用一台物理机,资源浪费)
  • 虚拟化摆设(保举;假如管理的CNA大于50台,使用物理机摆设)
        CNA必为物理摆设,由于要在CNA内里安装虚拟机
        VRM假如采用虚拟化摆设,则先安装两台CNA,再用华为摆设工具在CNA的两台虚拟机中摆设VRM。   
        一样平常是2个VRM集群冗余+N个CNA+1个共享存储
       vrm做主备冗余,每个vrm都须要设置一个ip地点,为了使得用户无感知故障,所以须要给用户提供一个vip(虚拟ip或浮动ip)。
        vrm主备,两个vrm之间会连接一个心跳线,当心跳线停止(脑裂征象),主备vrm都认为对方挂掉,主备端都会ping仲裁ip(一样平常设置为网关),ping通证明主备端是好的,按照投票机制,谁先ping通仲裁ip,谁就得到了仲裁ip的票,2>1,成为主设备。

        一样平常环境下,VRM1和VRM2须要占用两台物理机,造成资源浪费;所以,可以把VRM1和VRM2运行在由两台差别CNA承载的虚拟机中,再管理CNA。
        发起:

  • 当CNA数目少于50台,发起VRM虚拟化摆设,两台VRM虚拟机,摆设在两台差别的CNA中;
  • 超过50台,发起物理摆设。
2.4.2、远程管理服务器


  • intel IPMI标准(开源),所有厂家服务器都基于该标准,所以云盘算可以或许管理兼容各厂家服务器
  • 软件--->发指令--->远程开机/关机/重启
  • 华为服务器的远程管理卡(BMC):内嵌微型操作系统,出厂时就设置了默认ip和账号密码
  • 服务器通用的网卡是没有内嵌操作系统,是在服务器上安装操作系统后驱动网卡
集群

        由两台或以上的主机为了一个共同的商业目标,分类如下:
        1)HA(高可用)集群
                前提:硬件架构相同(Intel和amd指令集差别,无法热迁移)        
      

        2)负载平衡集群
        用户访问的为vip地点,而不是详细某个服务器的ip地点,访问vip时,负载平衡器有10种调度算法(比如轮询:来了访问请求后按顺序向下依次分配;最少连接数:哪个服务器的连接数少给谁;加权最少连接等),负载平衡器会对服务器定时康健检查,不康健就不分配访问请求。

        3)HPC高性能集群
        将盘算工作切片成n个小部分,每台服务器负责盘算一小块。

        vm1和vm2通信在主机内存中交换数据,交换速率高(前提是把虚拟机的磁盘io和网卡io设置成虚拟io设备,告知虚拟机你就是一台虚拟机,否则vm1和vm2以为本身是物理机,通过物理网络通信)
        vm1和vm3通信须要通过物理网络交换数据
三、云盘算期间

        通过“硬件资源池化+软件全分布式+运行全主动化”,构建统一的IT Infra资源池,实现资源共享,弹性伸缩;通过云管理平台实现盘算、存储、网络资源主动化发放,全面提升运营效率;

        云盘算既提供技术架构,又提供云上服务
        由下向上:底层linux(开源操作系统)->中心kvm(开源虚拟化)->上层openstack(开源云操作系统)
        云底座:linux+kvm+openstack,其他厂商在此底子上做二次开辟
        早期的虚拟化为XEN和KVM,厥后kvm一统天下,同理早期的云操作系统为cloudstack和openstack,厥后openstack一统天下,如今的国内云绝大部分都是基于openstack做二次开辟,阿里云例外,做电商的亚马逊和阿里在双11节日的时间会出现高并发,对弹性扩容要求高,因此做云比力早,AWS在2006年搞云,阿里2008年搞云,openstack2010年才出来,所以阿里云研发云的时间还没有openstack,所以阿里是基于本身的架构研发的。
   OpenStack是什么?
          OpenStack是开源云操作系统,可控制整个数据中心的大型盘算,存储和网络资源池。用户可以或许通过Web界面、下令行或API接口设置资源。
3.1、OpenStack和虚拟化的区别

        OpenStack的架构定位与技术范畴:

  • OpenStack只是系统的控制面。
  • OpenStack不包罗系统的数据面组件,如盘算、存储和网络设备等。
        OpenStack不是虚拟化,OpenStack和虚拟化有着关键的区别:

  • 自身不提供虚拟化技术
  • 调用多种技术实现多资源池管理
  • 对外提供统一管理接口
        2)虚拟化

  • 环境隔离,资源复用
  • 降低隔离损耗,提升运行效率
  • 提供高级虚拟化特性

   厂家商业版本的云盘算平台在开源openstack底子上做了什么呢?
  

  • 摆设工具
  • 开辟各类驱动和接口
  • 提供各种高可用,容灾等办理方案
  • 提供强盛的告警,日志,监控功能
  • 管理和升级工具
  • 开辟更多的云服务
        laaS 底子架构即服务(kvm、openstack)
        PaaS 平台即服务(容器)
        SaaS 软件即服务
3.2、OpenStack九大组件

1、horizon(地平线)

        提供基于Web的控制界面,使云管理员和用户可以或许管理各种OpenStack资源和服务。
2、nova:提供openstack的盘算资源

        提供大规模、可扩展、按需自助服务的盘算资源。
        支持管理裸机,虚拟机和容器。

  • nova-controller:提供各种api接口
  • nova-compute:提供盘算资源(kvm、fusioncompute、xen等)
        用户的请求丢到了控制节点分析需求,再丢给nova-compute分配盘算资源
        注:华为云控制节点(zookeeper:集群,防止脑裂)至少三节点

3、glance:提供镜像服务

        存储和接收磁盘镜像(比如虚拟机模板)
4、swift(对象存储)

        雷同百度网盘
        底层提供了文件系统,不须要格式化操作,直接使用存储数据
        分布式存储
        独立组件,不能挂载给云主机使用,其他服务(比如人工智能服务)可以调用api接口读取对象存储内的数据提供服务
5、cinder(块存储)

        提供块存储服务,为虚拟机实例提供长期化存储。
        调用差别存储接口驱动,将存储设备转化成块存储池,用户无需相识存储实际摆设的位
置或设备类型。
        硬盘,裸设备,通过挂载到主机后进行格式化分区之后才气存储数据
        通过主机存储数据
6、neutron

        提供网络服务和SDN架构
        SDN三种摆设方式

  • type1:软SDN(用一台服务器安装软件来实现路由交换功能)
  • type2:硬SDN(买一台SDN控制器设备)
  • type3:融合架构
7、heat(编排服务)

        资源编排,一键式按照模板摆设
8、ceilometer(计量服务)

        计费功能:统计租户用了多少资源
        监控和告警
9、keystone(身份认证)

四、容器期间(集装箱)

        传统方式下在一台物理机里跑很多业务,业务无法隔离,不敷安全,因此有了虚拟化,通过虚拟出多个云主机,每台云主机跑各自的业务进行隔离,但是云每台主机为了跑业务都须要单独安装的操作系统,这些为了包管虚拟机正常运行的操作系统等也占用了cpu、内存、硬盘等资源(比如一台虚拟机须要2核2G资源运行,一台服务器虚拟出20台虚拟机,为了运行这20台虚拟机就斲丧了40核40G的资源),租户用服务器是为了跑业务,不是跑云主机,跑云主机的目标是为了资源隔离,假如有一种技术直接在物理机上既能隔离(namespace,定名空间)又能直接跑业务,那么就节省了更多的资源,容器应运而生,相较于云主机,容器更加轻量化。

        容器在物理机上运行是基于共享宿主机操作系统,自身不须要安装操作系统,当容器开启时,只须要启用用户态环境,不须要启用内核态环境(加载内核、驱动、文件系统等),所以启动速度快,节省资源。
        容器可以在物理机上跑,也可以在虚拟机(利用弹性伸缩、快速摆设、热迁移特性)里跑。
        容器不受操作系统和硬件的限定,测试环境和生产环境同等

        搭建私有云,云的底层控制组件运行在容器中,在云中安装虚拟机,在虚拟机中安装了容器。
        虚拟机从vmware迁移到华为fusioncompute中,须要使用专门的迁移工具        
        容器迁移是将容器打包成压缩包解压到新环境中运行(打包的数据为用户态,无内核态,所以无太多的兼容性问题)
        容器就是将软件打包成标准化单元,以用于开辟、交付和摆设:

  • 容器是一种轻量级、可移植、自包含的软件打包技术,使应用步伐可以在几乎任何地方以相同的方式运行
  • 开辟人员在本身的电脑上创建并测试好的容器,无需任何修改就可以或许在生产系统的虚拟机、物理服务器及公有云上运行
  • 容器赋予了软件独立性,使其免受外在环境差异(例如,开辟和测试及预发布环境的差异)的影响,从而有助于减少团队间在相同底子办法上运行差别软件时的冲突
        容器鼻祖:Docker,基于容器技术的轻量级虚拟化办理方案
        Podman
        Containerd—华为容器技术        
        Docker公司开辟了一款容器调度软件Docker compose,意在一统容器天下,厥后,谷歌开辟了K8s容器调度软件(不提供容器资源,只是调度,雷同openstack,底层既支持docker又支持其他厂家)。
        K8s可以或许实现容器副本机制(默认三副本:底层三台物理宿主机,容器跑在三台服务器上)。

  • namespace,资源隔离
  • cgroup,资源限定
        如下图,左侧为容器,右侧为虚拟机


五、云原生和微服务期间

        云原生:从云里长出来的。
        如今的软件开辟是开辟人员在本身电脑里开辟完之后迁移到云上,而云原生是从代码开辟都是在云上开始的,更适合在云上运行的应用。
        微服务:庞大的服务由一块一块模块拼起来,管理维护更方便。
AWS




       
               
     

       










免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦应逍遥

高级会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表