ADMAN解决方案,在NFVO上创建vBRAS失败,虚拟机状态显示为error,如下:
我
处理此类故障时,首先要排查CloudOS节点安装是否正确、License是否激活,NFV Orchestrator是否设置有集群Token,是否能正常添加主机且主机状态为Normal,保证可以成功开始创建vBRAS。如果开始创建vBRAS之后提示无法创建或创建vBRAS状态ERROR,需要保证主机节点的时间同步性、资源的充足性、网卡映射一致,如果最终还是无法创建需要收集NFV Orchestrator诊断信息及日志信息。具体排查思路如下:
1)
2)
3)
4) 步骤4:检查NFV Orchestrator上主机状态是否正常。如果主机状态为Abnormal,可能原因为CloudOS控制节点容器或计算节点容器异常,或主机节点与NFV Orchestrator连通性不正常。需检查CloudOS容器内的相关服务是否正常,以及控制节点容器与NFV Orchestrator之间链路的连通性是否正常。
5) 步骤5:查看CloudOS计算节点的CAS插件是否安装正确。需要安装符合CloudOS和CAS当前版本的CAS插件,如果安装错误需要重新安装;如果未做容器固化导致重启后还原,同样需要重装对应版本的插件。
6)
7)
8) 步骤8:查看CloudOS控制节点和计算节点的网络映射关系配置是否一致,保证控制节点的物理网络在计算节点上有配置对应的物理网络和网卡的映射关系,如果不一致,手动修改计算节点上物理网络和网卡的映射关系。
9) 步骤9: vBRAS虚拟机已创建完成,虚拟机状态为非“ERROR”的其他异常状态。需要按照对应的异常状态做处理排查。
检查创建vBRAS时是否有Flavor选项,如果没有Flavor选项,需要排查是否已经创建集群Token。对于单机模式部署的NFV Orchestrator,也需要设置集群Token,才能保证会生成Flavor选项。
登录NFV Orchestrator WEB界面,在NFV编排/NFV Orchestrator页面选中虚拟机资源池一栏,并点击需要使用的虚拟机资源池名称,如下图所示:
打开所用的虚拟机资源池之后,选择资源池配置/创建vBRAS。正常情况下可以看到有8个预创建的vBRAS Flavor选项。
如果Flavor选项为空,需要检查NFV Orchestrator是否配置了集群Token。打开系统/系统配置/单机配置页面,在“集群Token配置”一栏配置即可。
登录到CloudOS主节点后台,输入命令“docker ps | grep openstack”,如下:
[root@wss ~]# docker ps | grep openstack c0a268af63f5 cloudos-openstack:E1139H04 "/root/docker-opensta" 6 weeks ago Up 6 weeks k8s_openstack.8befe422_openstackrc-yvu3l_default_489ff08b-698e-11e9-bd31-0cda411d4872_2b461d40 1e717a802b9b cloudos-openstack-compute:E1139H04 "/root/docker-opensta" 6 weeks ago Up 6 weeks k8s_cvkwss.9d6c8ba9_cvkwssrc-8yvy5_default_489dda1b-698e-11e9-bd31-0cda411d4872_70ca87e5 1ed0ff0b50dc gcr.io/google_containers/pause-amd64:3.0 "/pause" 6 weeks ago Up 6 weeks k8s_POD.305c7e76_openstackrc-yvu3l_default_489ff08b-698e-11e9-bd31-0cda411d4872_50647a1c [root@wss ~]# |
找到名为“cloudos-openstack”的容器,其ID为“c0a268af63f5”,使用命令“docker exec -it 容器ID bash”进入控制节点容器,如下:
[root@wss ~]# docker exec -it c0a268af63f5 bash [root@openstack-server /]# |
再使用命令“source ~/admin-openrc.sh”导入环境变量,如下:
[root@openstack-server /]# source ~/admin-openrc.sh [root@openstack-server /]# |
最后,通过“nova hypervisor-list”命令查看计算节点是否已和控制节点建立连接。如果回显中可以看到对应计算节点的主机名(本例中计算节点主机名为标红字段cvknode-1-wss),并且“State”一栏状态为up,“Status”一栏状态为enabled,则说明计算节点已和控制节点建立连接,否则需要排查控制节点和计算节点之间的连通性,如下:
[root@openstack-server /]# nova hypervisor-list +----+-----------------------------+-------+---------+ | ID | Hypervisor hostname | State | Status | +----+-----------------------------+-------+---------+ | 1 | cvknode-1-wss(CVM99.1.4.55) | up | enabled | +----+-----------------------------+-------+---------+ [root@openstack-server /]# |
另外,我们还可以登录CloudOS前台页面查看计算节点状态,如下图红框处,登录CloudOS前台页面【运维管理/可用域管理】路径,在计算可用域下方发现可用域caswss的状态为正常。再在Nova可用域中找到可用域caswss,发现其主机为[cvkwssrc]。
登录CloudOS部署平台(http://ip_address:9090),将鼠标悬停在CVK图标上面,可以找到主机名为[cvkwssrc]的CVK主机,如下图:
查看添加Host主机时是否提示“主机认证失败”,如下图所示:
如果提示失败,可能是添加Host主机的用户名、密码、租户等参数填写错误。添加CloudOS默认主机用户名为admin,默认主机密码为cloudos,默认租户为admin,默认端口号为9000。
检查NFV Orchestrator上主机状态是否正常。如果主机状态为Abnormal,如下图所示,可能原因为CloudOS控制节点或计算节点服务异常,或主机节点与NFV Orchestrator连通性不正常。需检查CloudOS服务状态以及主机节点与NFV Orchestrator之间链路的连通性。
按照第2步的方法登录CloudOS控制节点容器,可通过“systemctl | grep nova”命令查看节点的Nova相关服务是否已成功安装并启动。正常情况下Nova相关服务包括如下所示内容:
[root@openstack-server /]# systemctl | grep nova openstack-nova-api.service loaded active running OpenStack Nova API Server openstack-nova-cert.service loaded active running OpenStack Nova Cert Server openstack-nova-conductor.service loaded active running OpenStack Nova Conductor Server openstack-nova-consoleauth.service loaded active running OpenStack Nova VNC console auth Server openstack-nova-novncproxy.service loaded active running OpenStack Nova NoVNC Proxy Server openstack-nova-scheduler.service loaded active running OpenStack Nova Scheduler Server [root@openstack-server /]# |
按照第2步的方法登录CloudOS控制节点容器,可通过“systemctl | grep neutron”命令查看节点的Neutron相关服务是否已成功安装并启动。如下所示,如果服务状态为标红加粗字段的“loaded active running”则说明Neutron相关服务正常,否则不正常。
[root@openstack-server /]# systemctl | grep neutron neutron-server.service loaded active running OpenStack Neutron Server |
还需在控制节点容器中检查如下服务:
openstack-ceilometer-api.service openstack-ceilometer-collector.service openstack-ceilometer-notifacation.service openstack-cinder-api.service openstack-cinder-scheduler.service openstack-glance-api.service openstack-glance-registry.service
|
按照第2步的方法登录CloudOS计算节点容器(容器名称为cloudos-openstack-compute),可通过“systemctl | grep nova”命令查看节点的Neutron相关服务是否已成功安装并启动。如下所示,如果服务状态为标红加粗字段的“loaded active running”则说明nova相关服务正常,否则不正常。
[root@openstack-server /]# systemctl | grep nova openstack-nova-compute.service loaded active running OpenStack Nova Compute Server |
按照同样的方法,在计算节点容器中还需检查如下服务:
openstack-cinder-compute.service openstack-cinder-volume.service openstack-neutron-cas-agent.service |
如果上述服务不正常,通常是由于CloudOS自身异常导致,需要先解决CloudOS单产品的问题,再尝试创建vBRAS。如果上述服务正常,则可能是主机节点与NFV Orchestrator之间链路的连通性异常导致主机节点状态为Abnormal,建议排查底层网络连通性。
按照步骤2登录CloudOS计算节点容器,可通过“openstack-cas-version”命令查看计算节点的CAS插件是否安装正确,正常情况下该命令会回显如下五行,如果缺少某一行,请重新安装对应的CAS插件。如果提示该命令不存在,请确认CloudOS计算节点容器是否做过固化,如果没有固化且容器重启过,会导致容器内CAS插件和相关配置还原为初始未安装状态,需要重新安装插件和修改配置文件,并配置容器固化解决。
同时,请确认安装了对应版本的cas插件,本文档中的CloudOS基于Mitaka版本OpenStack,而CAS的版本为E0512,故而需要在CAS安装包中找到Mitaka的E0512版本CAS插件,如果OpenStack版本不对或CAS版本没有对应,同样会导致vBRAS创建失败。
按照第2步的方法,登录到CloudOS控制节点容器和计算节点容器的控制台后台,用date命令查看系统时间,如果系统时间不一致可能导致vBRAS创建失败,需要手动修改控制节点和计算节点系统时间一致或配置NTP服务器。如下,分别查看各个节点容器的系统时间,即本例中标红加粗部分,保证控制节点与计算节点互相之间系统时间的差值在一分钟以内:
[root@ctrl1 ~]# date Tue Jan 31 17:21:34 CST 2017 |
登录CloudOS首页,查看CloudOS私有云配额的CPU内核数、内存、Server groups剩余的数量是否满足创建vBRAS使用的flavor大小,如果不满足,需要考虑扩展租户的资源配额。
查看CloudOS的网络映射关系与CAS配置是否一致,如果不一致,需要修改CloudOS和CAS的配置。
假设vBRAS绑定了三张网络【eth0】、【eth1】和【eth2】,此时我们需要登录到CloudOS Web前台的【网络与安全/网络】,确认是否存在这三张网络。
如上图所示,CloudOS中存在这三张网络,并且分别绑定有IP地址段。如果缺少对应网络,请在CloudOS和CAS上创建。每台使用该网络的vBRAS都会占用该网络的一个IP地址,如果某个网络绑定的IP地址段的IP用尽,同样会导致vBRAS无法创建成功,此时请扩容IP网段解决。
如果确认网络存在且IP地址仍有剩余,请点击网络名称,查看网络的基本属性,以【eth0】为例,如下图,eth0的网络出口为vswitch0:
登录到CVK节点,查看对应CVK上是否存在虚拟交换机vswitch0,如下图:
如果不存在对应的虚拟交换机,请在CVK节点上创建。
如果使用了SR-IOV网卡,请注意CloudOS上创建的网络,其名称必须为【SRIOV_网卡名】,否则会导致无法创建虚机,正确的命名举例如下图:
此时同样需要确认CVK节点上,是否存在对应的SR-IOV网卡,如下图,进入到CVK节点的物理网卡一栏,确认对应的物理网卡eth是否开启了SR-IOV,如果未开启请手工启用。
同时,需要确认该SR-IOV网卡的虚拟网卡个数是否还有剩余。如果虚拟网卡已经用完,同样无法创建出vBRAS。
最后,还需要确认vBRAS使用的网络对应的网络出口是否来自于同一台CVK节点,如果vBRAS的两个接口对应的网络出口分别来自于两台CVK节点,则vBRAS创建必定会失败。
当vBRAS创建成功后,可能会因为各种各样的问题导致状态不为“AVAILABLE”。当状态为“ERROR”时可以参考上述步骤处理,当状态为其他时可以参考如下情况排查:
(1) vBRAS状态为“INITIAL”
vBRAS创建完成后的初始状态为“INITIAL”,如果等待一段时间后状态没有发生变化,请排查vBRAS虚机的VXLAN Tunnel是否为down。需要配置路由使得VXLAN Tunnel源目IP能够互通。
(2) vBRAS状态为“UNAVAILABLE”
该状态下,NFV Orchestrator未与vBRAS建立NETCONF连接成功。请排查vBRAS上的Netconf相关配置是否正确,NFV Orchestrator与vBRAS是否Netconf可达,中间防火墙是否放通相应IP和端口号等。Netconf连接建立成功后,vBRAS虚拟机状态会转为“AVAILABLE”。
(3) vBRAS状态为“CONFIGURE”
该状态意为vBRAS处于配置下发状态,如果创建的vBRAS虚拟机一直处于“CONFIGURE”状态,需要首先排查vBRAS管理口IP与NFV Orchestrator的管理IP是否可达。如果可达,需要登录到NFV Orchestrator,确认各类地址池是否够用:
a. 业务口的IP地址池:
每台vBRAS都会占用上下行口和LoopBack口的地址池各一个IP地址,需要保证IP地址池中存在可用IP,否则会导致业务口IP地址无法下发,vBRAS一直处于“CONFIGURE”状态。如下图,在NFV Orchestrator前台页面的【NFV编排/NFV Orchestrator/资源目录/虚拟机资源池/资源池配置】中,点击对应地址池的详情按钮查看详情,每个vBRAS需要一个地址池范围:
b.DHCP地址池和PPP地址池:
类型为DHCP地址池和PPP地址池,需要保证添加的地址池范围个数大于vBRAS个数。
如下图,在NFV Orchestrator前台页面的【NFV编排/NFV Orchestrator/资源目录/虚拟机资源池/资源池配置】中,点击对应地址池的详情按钮查看详情,每个vBRAS需要一个地址池范围:
(4) vBRAS状态为“OVERLOAD”
表示NFV Orchestrator与vBRAS的Netconf连接是正常的,但该台vBRAS负载过重,请检查CPU、内存等数据是否较高,当负载降低后vBRAS状态会恢复为“AVAILABLE”。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作