本篇仅对华为云计算HCIE-Cloud面试中所出现的题进行一个较为标准的解答,如需理解详情,还是建议听一些更具有专业性的回答;不过博主后续会针对每一个细节出文章进行描写,让大家真正的了解华为云计算,并不是只能考试还能运用到工作生活当中,针对考试的可以用面试宝典作为一个参考。一起进步吧!

进入正题

FusionSphere Openstack 有哪些关键组件,各组件主要功能是什么?三种存储接入组件的差异有哪些?

Nova:负责计算实例生命周期的管理(生成、调度、回收)
Glance:管理和检索镜像(镜像一般存储在swift)
Swift:是对象存储,存储非结构化数据(存储非结构化数据,可扩展性好,如镜像)
Cinder:块儿存储,为计算实例提供持久性的块存储;操作系统就是装在cinder上
Neutron:提供网络服务(L2、L3、防火墙、VPN、路由器、ACL)
Heat:编排软件(应用的安装顺序)vm安装软件的顺序
Keystone:提供认证和授权服务
Ceilometer:提供计量服务(计费、CPU内存使用情况、计算实例使用时长)

三个存储组件的却别:
Glance:管理和检索镜像
Swift:是对象存储,存储非结构化数据
Cinder:块儿存储,为计算实例提供持久性的块存储

各个组件的拼写必须要会!
其实个人理解三个存储组件的区别在上面描述各个组件的时候就已经说出来了,不过我个人建议能多说点儿就多说点!压缩这道题被追问的时间,相信各个组件的交互流程你们的培训老师肯定给你讲过,这个也是一定要会的!基本是必问的。

这个被追问的版本比较老旧,不过还是有一定用处的,可以借鉴。

追问

nova-scheduler 根据什么选择合适的主机?
答:根据用户选择的规格,依次在后端资源池中根据用户选择的规格细节如计算资源、存储资源等进行过滤,最终选择一个节点进行虚拟机的创建。

介绍 heat,具体的编排服务是怎么样的举例子?
heat:应用编排服务,主要负责在 openstack 进行业务发放的时候,完成自动化的部署与管理。可以减轻管理原的业务量,可以快速的业务弹性伸缩。部署一个典型 lamp 环境一般情况下先要安装 linux,等待安装完成,再进入到系统,安装 apahce,安装 mysql,安装 php,最终要进行整合。所有的安装整合配置等过程全部手动,系统也要手动安装。
在虚拟化的环境下,可以解决系统安装的问题(模版),也可以将软件事先安装好。软件的具体配置或者是否与业务适配等操作也要手动做。现在想快速的去扩展 web 服务器的负载均衡集群,除了软件安装以外,还需要将新发放出来的机器加入到集群中,并且要改变集群的配置。这些过程全部手动。如果使用 heat,问题就可以解决。用户只需要事先将脚本写好,当虚拟机 OS安装并启动完成后,就会马上加载 heat 的自动化部署脚本,以刚才 LAMP 环境部署为例,如果使用 heat 进行服务编排,从业务申请到业务上线,所有过程可以避免人工操作。对于管理员而言可以实现自动化部署,对于业务而言可以实现自动化扩容(减容),弹性伸缩。

neutron 提供了哪些服务,neutron 的防火墙需不需要配合硬件?
答:Neutron 负责虚拟机的网络资源,支撑虚拟机的数据转发,为虚拟机分配端口资源、配置 IP 地址、配置二层互通资源(VLAN、VxLAN 等)、提供三层路由。

三大存储的区别,三大存储哪些是需要文件系统的?
1、对外表现的形式 :块存储:是一个硬盘 ;对象存储:通常情况下,是一个文件系统 。
2、如何实现的: 块存储:多个磁盘使用 raid 等技术实现将多个磁盘的资源构成一个大的块存储池,最终用户是用的是这个存储池中的块资源,也就是 LUN 。对象存储:由多个节点的本地文件系统,构成一个大的存储资源池,任务会由对象存储客户端进行切分存放到不同的节点中,并且在对象存储的架构中会存在管理所有数据分片和数据对应关系的元数据服务器。从架构上而言,通常情况下,对象存储对外展现的是一个存储文件的庞大资源池,将池的资源分配给租户,这种分配的最小单位叫做桶,通不做存储方式的限制,但是有可能会做总容量的限制。
3、使用方式:
块存储使用方式:

  1. 本地磁盘,使用内部的 scsi 总线进行连接 ;
  2. ipsan 使用 iscsi 协议以以太网作为承载网络,进行 scsi 协议以及指令的传输;
  3. FC-SAN 使用 FC(光纤通道)作为承载网络传递 scsi协议以及指令。用户使用块存储的时候,看到的是一个盘,可以选择直接使用裸设备的方式(不格式化没有文件系统)数据会直接落成数据块或者在块设备上格式化一个文件系统,数据以文件的形式存储在块存储中。

对象存储的使用方式:
由于对象存储的分布式架构以及切片机制,会导致用户端看到存储的是一个文件但是后端存储的是一堆数据分片,文件和数据分片的对应关系由元数据服务器来维护。中间会有一层沟通对象存储并且对用户以文件的形式将数据展现,这个角色叫做对象存储客户端。对象存储客户端在用户侧,则直接在用户侧完成数据分片进行数据的存储,用户在调取数据的时候,直接通知对象存储客户端就可以了,(百度云的客户端)。
对象存储客户端安装在对象存储侧,用户在使用对象存储的时候,需要通过现有的存储协议(scsi/NAS/http)访问到对象存储,例如 url 方式,这个 url 会被对象存储客户端接受,并且翻译成要访问具体某一个文件的请求,再有对象存储客户端查询元数据服务器找到数据分片,最终实现数据的返回。
相同点:
都是用来存储数据的。

cinder对接哪些存储?swift可以对接什么存储?glance对接哪些存储?
Cinder:
1、对接虚拟化平台后端使用的数据存储(FC 中的数据存储)使用方式 (为发放在虚拟化平台上的虚拟机创建磁盘)openstack 发 起 创 建 卷 的 请 求 ----cinder-api-----cinder-scheduler----cinder-volume----cinder-driver(cinder-vrm)--创建卷
分解动作:
cinder-volume----cinder-driver(cinder-vrm)--创建卷;
openstack 中的 cindervolume 讲创建卷的指令通过 FusionCompute 的对接帐号,发送给 FC,通知在添加 cinder-vrm 时所使用的数据存储创建虚拟机磁盘。为发放在控制节点上的管理虚拟机创建虚拟机磁盘
2、为管理节点(控制节点)或者 KVM 节点提供扩展本地磁盘时使用(磁盘管理/远端存储)
3、控制节点上的本地磁盘给组件来使用。
Swift:
Swift 软件本身没有后端存储,类似于 FusionStorage,通过在节点上部署OSD 进行节点磁盘管理,将 Swift 所属的所有节点构成一个庞大的分布式存储资源池。
Glance:
Glance 是 openstack 中对镜像进行管理的一个组件,本身不提供存储数据的能力,后端可以对接文件系统|对象存储|S3 等文件存储形式。

nova 内主要负责计算是怎样实现的?
答:以发放虚拟机为例:由 nova-api 接收请求,nova-conductor 将 VM配置信息写入到 DB 中,nova-scheudler 从 DB 中获取信息并选择合适的compute,nova-compute 通过驱动调用底层资源进行创建。

当在 OM 里面上传模版时,有哪些组件在起作用?
答:glance、swift

网络自动化是什么
答:网络自动化指的是网络即服务,就是让网络资源像计算、存储资源那样能够在云平台以服务的模式提供给指定的业务和应用。涉及的核心组件是AC 控制器,它提供业界标准的南北向接口,北向支持与业界主流 OpenStack 云平台实现 L2~L7 层对接,南向支持管理物理交换机、虚拟交换机、防火墙等物理和虚拟网络设备。

Cinder 使用存储的三种方式
1、对接虚拟化平台后端使用的数据存储(FC 中的数据存储)
使用方式:(为发放在虚拟化平台上的虚拟机创建磁盘)openstack 发起创建卷的请求----cinder-api-----cinder-scheduler----cinder-volume----cinder-driver(cinder-vrm)--创建卷。
分解动作:
cinder-volume----cinder-driver(cinder-vrm)--创建卷;
openstack 中的 cindervolume 讲创建卷的指令通过 FusionCompute 的对接帐号,发送给 FC,通知在添加 cinder-vrm 时所使用的数据存储创建虚拟机磁盘,为发放在控制节点上的管理虚拟机创建虚拟机磁盘。
2、为管理节点(控制节点)或者 KVM 节点提供扩展本地磁盘时使用(磁盘管理/远端存储)
3、 cinder 备份服务将虚拟机磁盘备份至 swift

对象存储、文件,块存储之间的区别(需要补充文件系统)
1、对外表现的形式块存储:是一个硬盘 ;对象存储:通常情况下,是一个文件系统 。
2、如何实现的块存储:多个磁盘使用 raid 等技术实现将多个磁盘的资源构成一个大的块存储池,最终用户是用的是这个存储池中的块资源,也就是 LUN ;
对象存储:由多个节点的本地文件系统,构成一个大的存储资源池,任务会由对象存储客户端进行切分存放到不同的节点中,并且在对象存储的架构中会存在管理所有数据分片和数据对应关系的元数据服务器。从架构上而言,通常情况下,对象存储对外展现的是一个存储文件的庞大资源池,将池的资源分配给租户,这种分配的最小单位叫做桶,通不做存储方式的限制,但是有可能
会做总容量的限制。
3、使用方式
块存储使用方式:
1、本地磁盘,使用内部的 scsi 总线进行连接
2、ipsan 使用 iscsi 协议以以太网作为承载网络,进行 scsi 协议以及指令的传输
3、FC-SAN 使用 FC(光纤通道)作为承载网络传递 scsi 协议以及指令用户使用块存储的时候,看到的是一个盘,可以选择直接使用裸设备的方式(不格式化没有文件系统)数据会直接落成数据块或者在块设备上格式化一个文件系统,数据以文件的形式存储在块存储中。
对象存储的使用方式
由于对象存储的分布式架构以及切片机制,会导致用户端看到存储的是一个文件但是后端存储的是一堆数据分片,文件和数据分片的对应关系由元数据服务器来维护。中间会有一层沟通对象存储并且对用户以文件的形式将数据展现,这个角色叫做对象存储客户端。对象存储客户端在用户侧,则直接在用户侧完成数据分片进行数据的存储,用户在调取数据的时候,直接通知对象存储客户端就可以了,(百度云的客户端)。
对象存储客户端安装在对象存储侧,用户在使用对象存储的时候,需要通过现有的存储协议(scsi/NAS/http)访问到对象存储,例如 url 方式,这个url 会被对象存储客户端接受,并且翻译成要访问具体某一个文件的请求,再有对象存储客户端查询元数据服务器找到数据分片,最终实现数据的返回。
相同点:
都是用来存储数据的

裸金属发放流程

  1. 用户在申请裸金属过程中,需要指定模板(裸金属模板)、镜像、网络申请裸金属,nova-api 收到请求传递消息到 nova-schduler;
  2. Nova-schduler 通过模板和裸金属硬件信息进行调度,调度成功后将请求发放到 nova-compute-ironic 上;
  3. Nova-compute-ironic 启动创建任务,通知 neutron 为裸金属实例准备网络;
  4. 裸金属节点的信息存入数据库,并锁定裸金属节点;
  5. Nova-compute 调用创建虚拟租户网络配置,并发送消息到 ironic-api,请求 ironic 进行裸金属部署;
  6. Ironic-api 传递消息到 ironic-conductor,conductor 推送 miniOS 到软件仓库并生成裸金属节点的 PXE 配置;
  7. Ironic-conductor 完成裸金属节点的 pxe 和 ipxe 配置,通知 neutron切换裸金属网络到 provision 安装平面,在provision 安装平面完成裸金属 pxe启动过程安装的 dhcp;
  8. Ironic-conductor 设置裸金属的启动方式为 PXE 启动;
  9. Ironic-conductor 通过 ipmi 命令启动裸金属,进入 pxe 加载 minios 流 程;
  10. 裸金属 PXE 加载 miniOS 后,启动 Ironic-python-agent,与 ironicconductor 交互,完成裸金属 GuestOS 镜像的下载并写入到系统本地磁盘;
  11. 镜像安装完成后,Ironic-conductor 调用 neutron 接口,切换裸金属的网络到租户网络,重启裸金属并完成 GuestOS 的安装;
  12. 裸金属发放完成,更新裸金属节点的状态为 active。

swift 和 fs 的区别?
答:Swift 是对象存储软件,主要用来解决互联网应用场景下的非结构化数据的存储问题,能对接不同的对象存储例如亚马逊的 S3,Fs 是华为的分布式存储系统,能提供块存储服务、文件存储服务、对象存储服务,不提供对接其他存储。

neutron 可以提供哪些具体的服务?
答:Neutron 自身并不提供任何网络功能,它只是一个架子。Neutron 的网络功能大部分是 Plugin 提供的,主要能提供负载均衡、防火墙、VPN、DHCP 等服务。

如果只有 neutron 可以做虚拟交换机吗?
答:不可以,Neutron 自身并不提供任何网络功能,它只是一个架子。

最后修改:2020 年 03 月 11 日
喜欢就用赞赏来鞭打我吧~