如今,大多数公司都在尝试将其IT基础设施和电信设施迁移到OpenStack等私有云。如果您打算面试OpenStack管理员职位,下面列出的这些面试问题可能会帮助您通过面试。问:1请介绍一下OpenStack及其主要组件?答:OpenStack是构成云产品OpenStack的开源软件的集合,这意味着一堆开源软件或项目。以下是OpenStack的主要关键组件:Nova——用于在计算级别管理虚拟机,并在计算或管理程序级别执行其他计算任务。Neutron-为虚拟机、计算和控制节点提供网络功能。Keystone-为所有云用户和OpenStack云服务提供身份验证服务。换句话说,我们可以说Keystone是一种为云用户和云服务提供访问的方法。Horizo??n–用于提供图形用户界面。使用图形化管理界面可以轻松完成各种日常操作任务。Cinder–用于提供块存储功能。总的来说,OpenStack的Cinder集成了Chef和ScaleIO,共同为计算节点和控制节点提供块存储服务。Swift——用于提供对象存储功能。通常,由Glance管理的图像存储在对象存储中。像ScaleIO这样的外部存储也可以提供对象存储,可以很容易地与Glance服务集成。Glance——用于提供镜像服务。使用Glance的管理平台上传下载云镜像。Heat–用于提供编排服务或功能。使用Heat管理平台可以轻松堆叠虚拟机,并且可以根据需要向上或向下扩展虚拟机。Ceilometer–用于提供计量和监控功能。Q:2通常在控制节点上运行哪些服务?A:控制节点上通常运行以下服务:认证服务(KeyStone)镜像服务(Glance)NovaAPI、NovaScheduler和NovaDB等Nova服务块存储和对象存储服务Ceilometer服务MariaDB/MySQL和RabbitMQ服务网络(Neutron)Orchestrationservice(Heat)Q:3通常在计算节点上运行什么服务?答:通常在计算节点上运行以下服务:NovaComputingNetwork服务,如OVSQ:4虚拟机在计算节点上的默认地址是什么?答:虚拟机存放在计算节点的/var/lib/nova/instances中。Q:5Glance镜像的默认地址是什么?答:因为Glance服务运行在控制节点上,所以Glance镜像存放在控制节点的/var/lib/glance/images文件夹下。想了解更多,请访问:如何使用命令行在OpenStack中创建和删除虚拟机Q:6告诉我如何使用命令行启动虚拟机?答:我们可以使用下面的OpenStack命令来启动一个新的虚拟机:#openstackservercreate--flavor{flavor-name}--image{Image-Name-Or-Image-ID}--nicnet-id={Network-ID}--security-group{Security_Group_ID}--key-name{Keypair-Name}Q:7如何在OpenStack中显示用户的网络命名空间列表?回答:您可以使用ipnetns命令列出用户的网络命名空间。~#ipnetnslistqdhcp-a51635b1-d023-419a-93b5-39de47755d2dhaproxyvrouterQ:8如何在OpenStack的网络命名空间内执行命令?答:假设我们要在qdhcp-a51635b1-d023-419a-93b5-39de47755d2d网络命名空间执行ifconfig命令,可以执行如下命令。命令格式:ipnetnsexec{network-space}:~#ipnetnsexecqdhcp-a51635b1-d023-419a-93b5-39de47755d2d"ifconfig"Q:9Glance服务如何使用命令行上传下载镜像?答:您可以使用以下OpenStack命令在Glance服务中上传云镜像:~#openstackimagecreate--disk-formatqcow2--container-formatbare--public--file{Name-Cloud-Image}.qcow2下载云镜像,使用以下命令:~#glanceimage-download--file--progressQ:10OpenStack如何转换一个虚拟机从错误状态到活动状态?答:在某些情况下,虚拟机可能会进入错误状态。您可以使用以下命令将错误状态转换为活动状态:~#novareset-state--active{Instance_id}Q:11如何使用命令行获取可用的浮动IP列表?答:可以使用以下命令显示可用浮动IP列表:~]#openstackipfloatinglist|无|head-10Q:12如何在特定可用区或计算主机上配置虚拟机?答:假设我们要在compute-02的NonProduction可用区配置一个虚拟机,可以使用如下命令:~]#openstackservercreate--flavorm1.tiny--imagecirros--nicnet-id=e0be93b8-728b-4d4d-a272-7d672b2560a6--security-groupNonProd_SG--key-namelinuxtec--availability-zoneNonProduction:compute-02nonprod_testvmQ:13如何获取特定计算节点上配置的虚拟机列表?答:假设我们要获取compute-0-19配置的虚拟机列表,可以使用如下命令:命令格式:openstackserverlist–all-projects–long-cName-cHost|grep-i{计算节点名称}:~#openstackserverlist--all-projects--long-cName-cHost|grep-icompute-0-19Q:14如何使用命令行查看OpenStack实例的控制台日志?答:使用以下命令查看实例的控制台日志先获取实例ID,然后使用以下命令:~#openstackconsolelogshow{Instance-id}Q:15如何获取OpenStack实例控制台的URL地址?答:可以使用以下OpenStack命令从命令行检索实例的控制台URL地址:~#openstackconsoleurlshow{Instance-id}问:16如何使用命令创建可启动的cinder/块存储卷线?答:假设创建了一个8GB的可引导存储卷,请参考以下步骤:使用以下命令获取镜像列表~#openstackimagelist|grep-i西罗斯|89254d46-a54b-4bc8-8e4d-658287c7ee92|西罗斯|活跃|使用cirrosimage创建一个8GB的??可引导存储卷~#cindercreate--image-id89254d46-a54b-4bc8-8e4d-658287c7ee92--display-namecirros-bootable-vol8Q:17如何列出所有在你的OpenStack项目中创建的还是用户?答:可以使用以下命令检索所有项目和用户:~#openstackprojectlist--longQ:18如何显示OpenStack服务端点列表?答:OpenStack服务端点分为3类:公共端点内部端点管理端点使用以下OpenStack命令查看各种OpenStack服务端点:~#openstackcataloglist您可以使用以下命令显示特定服务端点的列表(例如askeystone):~#openstackcatalogshowkeystone如需更多信息,请访问:OpenStack中的实例创建过程。Q:19在控制节点上重启nova服务应该遵循哪些步骤?答:OpenStack控制节点的nova服务应该按照以下步骤重启:servicenova-apirestartservicenova-certrestartservicenova-conductorrestartservicenova-consoleauthrestartservicenova-schedulerrestartQ:20如果计算节点针对数据流量进行了配置如何检查DPDK端口的状态?答:因为我们使用openvSwitch(OVS)配置DPDK端口,可以使用如下命令查看端口状态:root@compute-0-15:~#ovs-appctlbond/show|grepdpdkactiveslavemac:90:38:09:ac:7a:99(dpdk0)slavedpdk0:enabledslavedpdk1:enabledroot@compute-0-15:~#root@compute-0-15:~#dpdk-devbind.py--statusQ:21OpenStack中如何使用OK命令为已有的安全组SG(SecurityGroup)添加新规则?A:您可以使用neutron命令为现有的OpenStack安全组添加新规则:~#neutronsecurity-group-rule-create--protocol--port-range-min--port-range-max--direction--remote-ip-prefixSecurity-Group-NameQ:22如何查看OVS控制节点和计算节点网桥配置?答:控制节点和计算节点的OVS网桥配置可以使用以下命令查看:~]#ovs-vsctlshowQ:23集成桥(br-int)在计算节点上的作用是什么?答:集成网桥(br-int)对来自和流向在计算节点上运行的实例的流量执行VLAN标记和取消标记。来自实例的n/w接口的数据包使用虚拟接口qvo通过Linux网桥(qbr)。qvb接口用于连接Linux网桥,qvo接口用于连接集成网桥。集成网桥上的qvo端口有一个内部VLAN标签,用于在数据包到达集成网桥时附加到数据包报头。Q:24计算节点上的隧道桥(br-tun)有什么作用?答:BridgeTunnel(br-tun)将来自集成网桥的VLAN标记流量转换为基于OpenFlow规则的隧道ID。隧道桥允许不同网络的实例相互通信。隧道有助于封装通过非安全网络传输的流量,它支持两层网络,即GRE和VXLAN。Q:25外部OVS桥(br-ex)的作用是什么?A:顾名思义,这个网桥转发进出网络的流量,以允许外部访问实例。br-ex连接到eth2等物理接口,使得用户网络的浮动IP数据从物理网络接收,路由到用户网络端口。Q:26OpenFlow规则在OpenStack网络中的作用是什么?答:OpenFlow规则是一种定义数据包如何从源到目的地的机制。OpenFlow规则存储在流表中。流表是OpenFlow交换机的一部分。当一个数据包到达交换机时,先通过第一个流表进行检查,如果不匹配流表中的任何条目,则该数据包被丢弃或转发到其他流表。Q:27如何查看OpenFlow交换机信息(如端口、表号、缓存号等)?答:如果我们要显示OpenFlow交换机信息(br-int),需要执行以下命令:root@compute-0-15#ovs-ofctlshowbr-intOFPT_FEATURES_REPLY(xid=0x2):dpid:0000fe981785c443n_tables:254,n_buffers:256capabilities:FLOW_STATSTABLE_STATSPORT_STATSQUEUE_STATSARP_MATCH_IPactions:outputenqueueset_vlan_vidset_vlan_pcpstrip_vlanmod_dl_srcmod_dl_dstmod_nw_srcmod_nw_dstmod_nw_tosmod_tp_srcmod_tp_dst1(patch-tun):addr:3a:c6:4f:bd:3e:3bconfig:0state:0speed:现在0Mbps,最大0Mbps2(qvob35d2d65-f3):地址:b2:83:c4:0b:42:3a配置:0状态:0当前:10GB-FDCOPPER速度:现在10000Mbps,最大0Mbps……………………………………Q:28如何显示交换机中的所有流表项?答:可以使用命令ovs-ofctldump-flows查看交换机的流表项。假设我们要显示OVS集成桥(br-int)的所有流表项,可以使用如下命令:[root@compute01~]#ovs-ofctldump-flowsbr-intQ:29什么是Neutron代理?如何显示所有的Neutron代理?答:OpenStackNeutron服务器充当中央控制器,实际的网络配置在计算节点或网络节点上进行。Neutron代理是在计算节点或网络节点上执行配置更新的软件实体。Neutron代理通过Neuron服务和消息队列与中央Neutron服务通信。您可以通过以下命令查看Neutron代理列表:~#openstacknetworkagentlist-c'Agenttype'-cHost-cAlive-cStateQ:30什么是CPUPinning?A:CPUPinning是指为虚拟机预留物理内核。它也称为CPU隔离或处理器亲和性。它有两个目的:它确保虚拟机只能在专用内核上运行它还确保公共主机进程不会在这些内核上运行我们还可以将Pinning视为物理内核到用户的一对一映射虚拟CPU(vCPU)。