HCIE华为云计算面试-私有云

私有云FusionCloud

  • 背景介绍(了解)
  • fusionsphere openstack的定位和相较于开源openstack的优势。
  • FusionSphere Openstack有哪些关键组件?与存储相关的三个组件,有什么区别?
  • FusionSphere Openstack规划设计过程中需要考虑哪些网络平面,各平面主要走哪些业务?
  • 谈谈你对华为私有云fusioncloud6.3规划设计的理解

背景介绍(了解)

  • FusionSphere云计算解决方案,虚拟化(fusioncompute(xen/kvm)+fusion manager)可以做私有云
    • zen:通过domain0和domainU前后端驱动模型去调用底层的资源(zen是一种完整的架构)
    • kvm:是一个模块,这个模块可以去执行计算资源的调度,kvm的一个组件根据vm里的qemu对IO进行调用
  • 公有云 openstack社区 华为基于这个开发了fusionsphere openstack(相对于原生的进行了商业加固
  1. ceilometer 计量
  2. 最少有三个控制节点形成了一种无状态架构,不分主次)
  • 原生openstack
    定义:目前最流行的云操作系统内核。(操作系统的作用:驱动底层硬件资源,响应上层服务请求)当上层有云服务请求时,操作系统会整合底层异构的虚拟化资源,响应上层的请求。
    三辆马车
  1. nova(计算)
  2. cinder(存储)
  3. neutron(网络)
    表现形式:以一个框架(架构)的形式表现出来。

fusionsphere openstack的定位和相较于开源openstack的优势。

  • 定位:基于开源openstack二次开发,通过整合底层异构的虚拟化资源,向上提供统一的云服务的云操作系统。
  • 优势(得分点):
  1. 商业加固。架构,部署,运维三方面来考虑:
    架构:无状态架构/例如至少有三个控制节点,不分主备,以及其他组件很多都是2个或者3个的部署,一起提供服务,更加可靠,而原生的不太可靠。并且fusionsphere openstack扩展性很强。
    部署:Fusionsphere openstack提供简单易用的图形化安装部署工具,可以一键部署openstack服务,原生的就得去底层用命令行部署,对新手不友好。
    运维:社区版的openstack在底层通过命令行去运维,而华为的可通过oc界面提供审计,监控,告警,健康检查等服务,运维更加方便
  2. 拥抱开源,保持开放的姿态API,可以集成也可以被集成(ESDK)。
  • 可能的追问:
  1. 底层是不是一定是虚拟化资源?
    不一定,也可以用纯物理资源实现。但是从成本,运维效率,资源利用率,环保等方面来看都不划算。但是你如果想添加一个物理资源,不进行虚拟化,那么就用ironic这个组件,ironic可以直接对接物理资源。
    思路:虚拟化是一种技术,把硬件资源虚拟化,提高利用率,运维更加容易,成本更低,更环保。而云是提供服务的,它不关心底层是怎么处理的,不管你是用的是虚拟化资源还是物理资源都行,但你使用物理资源的时候,是通过ironic去对接硬件资源。
  2. 开源社区open stack多长时间发布一个版本,现行的fusion sphere openstack是基于哪个版本写的?
    现在最新是S版,半年。M版,
  3. 开源openstack的某个组件更新了,例如nova更新了,那能不能直接拿这个更新包来安装?
    不能,只能版本迭代
  4. 华为为什么会去选择openstack
    1.减少研发成本,很多大佬会贡献厉害的代码;
    2.开源,潮流;
    3.兼容异构,多厂商都会贡献自己的驱动

FusionSphere Openstack有哪些关键组件?与存储相关的三个组件,有什么区别?

  1. nova:在op环境中负责计算实例(vm,云主机)生命周期的管理,包括生成,调度,回收。nova不负责计算实例的告警上报(fc管)。
  2. cinder:为计算实例提供块存储资源,对接后端的块存储资源。
  3. neutron:为openstack中的计算实例提供网络服务,服务包括(举3,4个)L2,L3,防火墙,ACL,,vpc,路由器,EIP,DHCP。
    neutron这个提供网络服务连接的能力是怎么来的,1.通过底层代码模拟出即通过软件实现,消耗cpu的资源2.通过部署ac-controller plugin去对接网络硬件驱动资源。ac-controller(不是自带,要去部署,且部署在neutron里)
    防火墙和ACL(访问控制列表)的区别:防火墙针对所有vm,去做策略;而ACL是针对部分vm,去做策略。(例如这些vm可以去访问百度,而其他的却不能)
    dhcp
    集中DHCP,部署在控制节点(不提供任何资源)上
    分布DHCP,部署在计算节点(fc)上
    这种方式提供ip开销小
  4. swift对象存储:负责存储非结构化数据,存储镜像
  5. glance:负责管理镜像的存储,提供镜像检索服务。
    可以通过glance-api缓存镜像数据
  6. keystone:鉴权服务,如果接收到一个发放一个计算实例的请求,就鉴权一次,计算实例是否有效,资源够不够。鉴权一次后就生成token给各个组件。(还提供服务目录:一个记录各个大组件地图的目录)
    有服务目录的功能,充当导航地图
  7. ceilometer:计量软件,对cpu,内存,时间进行计量,收费。
    有监控,计量,计费
  8. heat:编排服务,对计算实例的发放进行一些编排。
  9. 与存储相关的三个组件:
    cinder(块存储)swift(对象存储)glance(镜像管理组件)
    cinder存储结构化数据(可以一块一块去存储)
    swift存储非结构化数据(凡是用关键字检索不到的数据都叫非结构化数据,非结构化数据适合以一个整体存放)
    glance只负责镜像的上传和管理,不存放镜像,存放着镜像的地址。

可能的追问:块存储,文件存储,对象存储的区别?非结构化数据和结构化数据的区别?
可以用关键字检索到的数据叫做结构化数据,否则叫做非结构化数据。
一张ppt上的一小块数据或者一个小块图片;一张完整的ppt;整套云计算的ppt。(没有意义;有意义但不完整;有意义且完整)
答法(块存储,文件存储,对象存储的区别)

  1. 面对用户的时候,块存储的表现形式:磁盘,从底层映射上来的是lun;面对用户的时候,文件存储的表现形式:文件夹,从底层映射上来的是文件夹(共享);面对用户的时候,对象存储的表现形式:文件夹,从底层映射上来的是文件夹。
  2. 性能上,对象存储更好,因为有独立的元数据管理器
  3. 操作系统使用的时候,块存储要被操作系统格式化后才能使用,而其余两个不存在这个问题。

可能的追问:

  1. 组件间交互
    一个计算实例请求下来了,请求会到keystone上去鉴权,鉴权通过后,这个请求会到nova上,nova会和内部的nova-compute交互说要找一台合适的计算资源去响应请求,那么此时计算资源就有了,nova再去找到cinder对接的后端的存储资源,去响应然后给他一个块存储,这个块存储是为了装镜像和系统,nova会去找glance下载镜像,glance会给nova一个URL地址,nova拿着这个地址去swift里下载镜像,把下载好的镜像装到刚才cinder已经画好的块存储里面,再去neutron里申请一个IP,IP附着到计算实例上面,之后计算实例发放成功。
  2. nova的工作机制
    nova是由nova-api,nova-conductor,nova-compute,nova-scheduler这些进程组成,这些进程不是直接通信,而是通过rabbitMQ这个消息队列进行通信,nova-api会向rabbit MQ丢一条消息,给nova-compute说我需要有一个计算节点来响应我对计算资源的请求,nova-compute从rabbitMQ里捡到这个消息,然后就去跟vrm说我需要计算节点上的资源,获取到资源后,nova-compute会把这个消息给rabbitMQ,然后nova-api从rabbitMQ里获取到这个消息,nova-scheduler也能获取到这个消息,这个消息是nova-compute对nova-scheduler说你去选择一台主机决定计算实例在上面运行,然后nova-scheduler会用它的调度算法(过滤器,权重两种机制组合)去选择一台主机去响应请求,nova-scheduler会向消息队列中说我找到主机了,然后nova-compute收到该消息后,告诉nova-api说你可以去找cinder了。rabbitMQ记录这三个组件交互时的动作的执行到数据库里,为了安全这些组件不能直接访问数据库,要通过nova-conductor去访问数据库

FusionSphere Openstack规划设计过程中需要考虑哪些网络平面,各平面主要走哪些业务?

  • 思路:
    得分点:回答不少于四个平面,必须要说的是,internal_base,external_API,external_base,external_om,这四个必须要说。除此之外,管理平面,存储平面,业务平面,BMC平面。FusionSphere Openstack它对接的虚拟化资源有管理平面,存储平面,还有业务平面,BMC平面,对接后端存储的话要用到存储平面。
    你在规划FusionSphere Openstack的时候,是根据FusionSphere Openstack自身的一些网络平面,及FusionSphere Openstack对接的虚拟化资源,对接后端存储,对接Manage one发放业务,这些方面去考量网络平面的规划。
    首先要说清楚这些网络平面走哪些业务,internal_base网络平面指的是FusionSphere Openstack内部管理(组件之间的交互,举例nova和cinder交互)和PXE安装的时候要走internal_base网络平面;external_API网络平面与外部网络互连(针对的是用户来申请业务的这个流量走的网络平面,举例:manage one 的web portal界面,你要申请云服务的网络界面,流量走的就是external_API这个网络平面);external_base网络平面(rabbitMQ消息队列走的就是external_base这个网络平面,也就是说大组件内部的小组件交互走的就是这个网络平面);但是external_base经常被external_om去替代,可以不要external_base网络平面,external_om网络平面(fsO的nova_compute去对接vrm走的就是这个网络平面;发放出一个计算实例,通过VNC登录走的也是这个网络平面)
    然后开始较重要的平面讲解,管理平面(VRM还有FSM都放在管理平面),存储平面(为存储而设计,有两个,一个是storage_data0,默认使用storage_data0,并且一般会为存储平面分配两块网卡(来源于三台控制节点上的两块网卡),还有一个是storage_data1。FusionSphere Openstack规划的storage_data0是给cinder对接的后端存储用的,如果你要通过ironic去自己对接存储资源(IP san或FC san)上来,那么它走的是storage_data1这个平面);业务平面是租户使用虚拟机,业务数据走的是这个平面(提供给租户的服务里面的流量所走的的平面就是业务平面,举例:租户要用到vpc的话,vpc要分三种网络平面,内部,直连,路由网络平面,不管哪个平面里的虚拟机,走的都是业务平面);bmc平面,给主机bmc网口使用的。
  • 完美答法:在FusionSphere Openstack规划设计的过程中,至少有8个平面,最重要的是internal_base,它是FusionSphere Openstack内部管理和PXE安装的时候所用到的网络平面,还有external_API,它是与外部网络相连接的一个平面,通过外部portal去管理内部组件的时候网络流量走的都是external_API这个网络平面,也就是说通过外部接入内部走的都是external_API,然后是external_base,为rabbitMQ而设计的网络平面,换句话说就是组件内部的交互走的网络平面,但是external_base可以被external_om代替,external_om就是说FusionSphere Openstack与fusion compute对接,即nova_compute与vrm对接,流量走external_om,还有对计算实例vnc登录的时候走的也是这个平面。还有管理平面,比如说fusion compute中的vrm,fusion storage中的FSM都在管理平面,存储平面,设计的时候,首先是为存储而设计,有storage_data0和storage_data1两个平面,FusionSphere Openstack对接后端存储用的是storage_data0,而这个FusionSphere Openstack自己要下挂存储的话用的是storage_data1,而业务平面是租户使用虚拟机的时候这个业务数据都跑在这个平面,BMC平面指的是主机bmc网口使用的平面。
    追问:
    1.这些网络平面在交换机上怎么设置?
    internal_base这个平面它是一个二层网络,它是一个untag的网络平面,(tag:通告我是谁;untag:不通告我是谁,不明网络平面),不支持三层通信,在交换机上设置的端口是default vid,然后untag一下,external_API在交换机上配置trunk并且允许该vlan通过,走三层,external_base和external_API是一样的,由于external_om可以替代external_base,所以说external_API,external_base,external_om都要与管理平面互通,它们在交换机上都要配置trunk且要放行该vlan。管理平面也是要配trunk,放行vlan,而存储平面必须跟各主机互通,而主机在bmc平面,所以bmc平面和存储平面要ping的通,当然存储平面也是配好trunk并放行vlan,业务平面也是配置成trunk并且要配好vlan池,因为业务平面可能会有很多的租户,那么也会有很多业务平面,所以要配好vlan池,然后是bmc平面,vrm节点的管理平面和bmc平面互通就可以了。管理平面与那四个最重要的平面是要互通的,还要和BMC平面互通的,然后存储平面和BMC平面是要互通的,但管理平面并不一定要与BMC平面互通,其实间接互通,业务平面要和FusionSphere Openstack的网络节点互通,网络节点可能在控制节点上,也可能在计算节点上。
    扩展:FusionSphere openstack搭建的时候,首先是弄好三个控制节点,然后上传一个包,上传完这个包后,得到一个配置的界面,叫cps(cps上可以对那些组件进行配置,让那些组件能动起来,还有对虚拟化资源对接,对接fc,vsphere,hyper-v),然后组件配置好了,资源对接好了,需要整合提供给用户使用,怎么弄呢?这就需要在cps界面里面再去装一个fusionmanager,装fusionmanager的时候会得到一个界面,这个界面叫做fusionmanager openstack(fmo),fmo设置(对接az,划vdc,外部网络,规格,镜像),然后怎么去给用户使用呢,后面还挂了个manage one(管理员和用户,管理员去对接vdc,用户去享用管理员对接过来的资源),manageone是在数据中心的fc上的一个vm里面,还要对接fmo。cps提供了界面,然后是对fusionsphere openstack的底层能够在界面上去进行配置,并不能说是manageone对接了cps,这种说法错误。
    2.举例说明各个网络平面是怎么交互的?
    作为用户如果你要申请一个计算实例,你要通过manageone的web potal来申请,但是这个web portal它的流量走的是external_API网络平面,那么首先通过external_API从外部网络进入内部,然后去申请一个云服务,当你这个云服务申请到了之后,要进行组件之间的交互,通过internal_base这个平面进行交互,然后这个计算实例有了计算资源,存储资源,网络资源,有了镜像,那这个计算实例基本上就创建好了,至于这些大组件里面的一些小组件的交互,就走external_base这个网络平面,然后这个计算实例创好了后,管理员想通过vnc登录去看下这个计算实例是不是正常运行,走的是external_om网络平面,最后把业务发放给用户,用户去登录计算实例的时候,它走的是业务平面,这些数据通过业务平面对接出去。
    3.vpc的业务,甚至防火墙的业务
    不管什么业务,都是通过neutron这个组件提供出来的,neutron怎么把自己的网络能力提供给终端用户的,是通过业务平面提供的

谈谈你对华为私有云fusioncloud6.3规划设计的理解

  • 目的:看你对以前R5,R6版本是否有了解,以及实验的搭建是否有了解
    答题思路:(得分点)
    1.物理层面的规划,包括存储(看是FS还是传统存储),服务器(看规格,型号还是一体机,要有多少节点,在300台虚拟机或50台裸金属服务器以下时,管理节点必须要有三个,即控制节点必须要有3个,做FC虚拟化要有两个计算节点,做fusionsphere openstack的计算节点也必须有两个节点,至少要有7台服务器,还要一台服务器来发放业务,所以说整个环境大概要8台服务器,如果在300台虚拟机或50台裸金属服务器以上时,管理节点还要增加,计算节点还要增加),网络基础设施规划(看你的选择是type1(用软SDN),还是type2(用硬SDN,通过部署AC controller把协议下发到网络设备防火墙等),还是type3(无SDN),)
    2.业务上线,分为三大步,第一步做网络平面规划,第二大步就是环境架构要搭起来,主要是要搭fusion compute(要下挂storage),fusionsphere openstack(划域–>划AZ–>划VDC,划了就可以把资源给用户使用了),manageone(sc/oc),如果要做备份的话还要搭ebackup。首先环境架构要搭起来,在三个控制节点上部署fusion sphere openstack,部署完后,你会拿到一个cps界面,在cps界面做网络平面的设置,配置了external_API,external_om,external_base,internal_base这些网络平面,还要对接资源(对接FC的虚拟化资源以及之前规划的存储都需要对接到fusionsphere openstack后端存储),在fusion sphere openstack上在启一些软件,例如manage one,在部署完fusioncompute 后,再去部署fusionsphere openstack,还要去部署manage one进行业务发放,其次fc上要挂一个存储,经fusionsphere openstack给manage one使用(fusioncompute–fusionsphere openstack–manage one),而在这个manageone里面先划一个region–在划一个AZ–在划VDC(region–AZ–VDC),用这种方式把资源对接给manageone,manageone里还分sc(运营,发放业务的),oc(运维,监控管理的),最后要考虑的是是否做备份,这个环境的框架基本完成。第三步在进行网络对接,fusionsphere openstack怎样把网络能力提供出去,在fusionsphere openstack里去创建一个外部网络,通过子网的形式把neutron的网络能力提供出来,体现在vpc上(vpc的三种网络结构:直连网络,路由网络,内部网络),然后把这些东西给到manageone的时候,它还要细分自己是否需要申请路由器/EIP/开启NAT/ACL,(fusionsphere openstack–外部网络–子网–vpc可申请三种网络同时还可以申请路由器/EIP/NAT/ACL),如果考虑的是硬SDN,在网络对接上,先要部署一个ac controller plugin,在它下面下挂网络设备,也可以去提供防火墙,ACL,NAT等,而软SDN对网络的支持能力比硬SDN差,软SDN是靠消耗控制节点的cpu去模拟出来网络能力,而没有SDN的情况下,使用传统的网络去实现,没有高级网络服务。还要考虑业务部署(云服务的部署,解释EVS OBS SFS OVS DVS ),逻辑设计(涉及到管理员审批,top-VDC/VDC)
    3.高级业务:提供云咨询,云安全,云迁移,云灾备,还有什么大数据管理等。云迁移(以前有物理上的设备是不是要把它迁移到云上来),云灾备(如果业务很重要,跟钱相关的业务要灾备)
    追问:ACL是什么?访问控制列表,针对全部虚拟机中的部分五虚拟机,对他们设置策略,允许或者不允许他们访问Facebook,谷歌之类的
    追问:防火墙是什么?是针对一个VDC去部署的,一个VDC里的虚拟机都要经过防火墙,为了安全
  • 正确答法:
    1.物理层面的规划
    (1)规划存储:需要用什么存储,FS或者企业级存储
    (2)规划服务器:看服务器规格及类型
    主要关注要规划多少个节点(服务器),在300台虚拟机或者50台裸金属服务器以下的规模时,管理节点必须有3个,即控制节点必须有3个,然后FC要占2个计算节点,fusionsphere openstack还得占2个网络节点,再加上一台服务器发放业务,所以说整个环境大概需要8台服务器。假如规模大于300台虚拟机或50台裸金属服务器,管理节点要扩增,而且计算节点对管理节点的增大而增大,所以服务器的数量肯定会增加。
    (3)规划网络基础设施:看你规划私有云的时候选择哪种部署方式
    1)type1:用软SDN
    2)type2:用硬SDN
    3)type3:无SDN
    type 1的软SDN和type 2的硬SDN的区别在于是否部署AC-controller(硬SDN的实现过程,只有部署了AC-controller,AC-controller的plug in才能去纳管底层物理网络设备,例如交换机,防火墙等,通过AC-controller下发交换协议实现网络的一些功能),而这个软SDN是通过openstack的内核向虚拟机下发协议去实现网络交换的功能。
    2.从业务上线的角度规划
    (1)规划好网络平面:
    规划好external_API,internal_base,external_base,external_om,管理平面,存储平面,业务平面,bmc平面。
    (2)产品架构的搭建:
    搭好fusioncompute(对接好存储)+fusionsphere openstack(先划好region–>再划好AZ–>最后划好VDC,只有划完了才可以给用户提供资源)+manage one(SC运营,发放业务/OC运维,监控日志),如果还要做备份的话还得搭建ebackup。这就是基本环境架构。
    搭建的过程:首先找两个计算节点搭建FC,再在三个控制节点上搭好fusionsphere openstack,在两个网络节点上去搭建manage one,部署完后,你会看到一个CPS界面,可以在CPS界面做网络平面的设置,配置external_API,internal_base,external_base,external_om等网络平面,开始对接资源,对接fusion compute的虚拟化资源以及之前规划好的存储资源都需要对接到fso后端来,然后在fusionsphere openstack上开启一些软件,例如manage one,然后manage one提供SC,OC
    搭建的过程:首先找两个计算节点搭建FC,再在三个控制节点上搭好fusionsphere openstack,在两个网络节点上去搭建manage one和FC,得到fmo的界面,并且manage one分sc,oc,sc运营,oc运维,fusionsphere openstack纳管的是异构的虚拟化的资源(纳管或对接fc的虚拟化资源或其他平台的虚拟化资源),把其他资源纳管过来后,通过region去划分资源,在fmo上去划分可用分区,把这个可用分区下面的资源可以给到manage one里的租户,在一个可用分区里面申请一个top VDC,把一个top VDC给一个租户使用,那这个租户根据这个top VDC划自己的一个VDC(top VDC–》VDC),租户可通过这个VDC去创建一个VPC去实现网络的能力,
    (3)网络对接:
    重点是fusionsphere openstack怎样把自己的网络能力给提供出去
    过程:在fusionsphere openstack里创建好外部网络,通过子网的形式把neutron的网络能力提供出来,主要体现在VPC上,然后VPC有三种网络类型可以使用:直连网络,路由网络,内部网络,申请的同时还可以提供路由器/EIP/NAT/ACL等网络服务。
    追问:ACL是什么?访问控制列表,针对全部虚拟机中的部分五虚拟机,对他们设置策略,允许或者不允许他们访问Facebook,谷歌之类的
    追问:防火墙是什么?是针对一个VDC去部署的,一个VDC里的虚拟机都要经过防火墙,为了安全
    (过程走向)fusionsphere openstack->外部网络->子网->vpc可申请三种网络架构同时还可以申请路由/EIP/NAT/ACL等网络服务
    考虑三种私有云的部署模式:
    1)type1:用软SDN,对网络的支持能力相较于硬SDN较差,软SDN主要靠FSO去模拟出网络能力
    2)type2:用硬SDN,先在neutron上部署AC controller plugin,通过它去对接网络设备,提供的网络服务和软SDN大致差不多,
    3)type3:无SDN,没有SDN靠传统的网络去实现流量的传输
    (4)基础云服务的部署:
    EVS,OBS,SFS
    EVS:云硬盘,为ECS提供块存储服务
    OBS:对象存储服务
    SFS:弹性文件服务
    3.高级业务的规划
    提供云咨询,云安全,云迁移,云灾备,还有什么大数据管理等。云迁移(以前有物理设备上的业务是不是要把它迁移到云上来),云灾备(如果业务很重要,跟钱相关的业务要灾备)
    不要混淆云服务和技术:举例:EVS,OBS,SFS OVS,DVS
    EVS:云硬盘,为ECS提供块存储服务
    OBS:对象存储服务
    SFS:弹性文件服务
    OVS:一个软件,叫虚拟交换机,模拟二层物理交换机的功能
    DVS:基于OVS二次开发的分布式虚拟交换机,在fc平台上点击创建分布式虚拟交换机,调用运行在hypervisor里的OVS,实现DVS
    (五)云硬盘和普通磁盘的区别
    1.定义:
    云硬盘:EVS,是一种虚拟块存储服务,主要为ECS和BMS提供块存储空间。
    普通磁盘:也称本地磁盘,是指挂载在计算实例所在物理机的本地磁盘,是一种临时块存储。
    2.性能:
    云硬盘具有更高的IO吞吐能力
    本地磁盘的性能与物理主机的负载有关
    3.可靠性:
    云硬盘可靠性高
    本地磁盘存在单点故障的风险
    4.受VDC配额的限制:
    云硬盘的容量和数量受到VDC配额的限制,支持统计使用量
    本地磁盘的容量和数量不受VDC配额的限制,无法统计使用量
    5.生命周期:
    云硬盘始终不受实例运行时间的影响,可以将磁盘从实例中卸载并将其挂载到另一个实例
    本地磁盘的创建仅跟随ECS的生命周期而启动或终止
    6.特性支持:
    云硬盘支持热迁移,磁盘升降配置,快照等
    本地磁盘不支持
    7.适用场景:
    云硬盘适用于用户业务要相对稳定,可靠性要求相对较高的长期运行的系统
    本地磁盘适用于相对来说稳定性,可靠性要求不高的短期运行的系统

你可能感兴趣的:(HCIE云计算面试,华为HCIE云计算学习笔记,华为云计算学习笔记,网络,运维,大数据,数据库,java)