服务支持
云计算
  • BMC界面无法识别RAID卡

    一、问题描述

    BMC的web界面无法看到RAID卡,在BMC日志card_info下也无法识别。


    二、处理过程

    BMC未能识别RAID卡说明BMC未能获取到RAID卡相关信息。对于RAID扣卡,BMC通过I2C通道获取,所以BMC和BIOS对RAID卡的识别是相互独立的链路。而对于RAID标卡,BMC是通过BIOS上报的BDF号识别的,所以如果未能识别,则是PCIE链路问题。

    1、首先确认RAID卡是否是原厂部件,非原厂部件未进行过兼容性测试,不保证能支持;

    2、若为原厂部件则需要排查链路:

    • RAID扣卡;

    • RAID卡(含超级电容与TFM)+主板。


    三、解决方案

    1、优先将超级电容连同TFM卡拔掉检查是否能识别(排除超级电容或TFM卡故障拉死RAID卡供电电源的情况),能识别则更换超级电容(含TFM卡),若无超级电容备件则更换RAID标卡;

    2、拔除超级电容后无法识别则尝试重新插拔RAID卡是否能识别,能识别说明之前安装问题;

    3、插拔之后依旧无法识别,建议携带RAID卡、IO模组、主板进行排查,优先更换RAID卡其次是IO模组,最后再更换主板(CPU引发的概率较低,如果更换主板之后依然无法解决(X86机型),则再继续更换对应的CPU(见产品文档)。


    四、建议与总结

    1、优先排查部件是否为原厂;

    2、其次按照优先级带备件排查链路:

    • RAID卡(含超级电容)+主板;

    • RAID标卡:RAID卡(含超级电容)+IO模组+主板+CPU(低概率)。

    注意:超级电容和TFM是配套更换的。

  • OpenStack中服务

    一、问题描述

    OpenStack中什么服务通常运行在控制节点?


    二、相关服务

    以下服务通常运行在控制节点:

    • 认证服务(Keystone)

    • 镜像服务(Glance)

    • Nova服务,如Nova API、Nova Scheduler和Nova DB

    • 块存储和对象存储服务(Cinder、Swift)

    • Ceilometer服务

    • MariaDB/MySQL和RabbitMQ服务

    • 网络(Neutron)和网络代理的管理服务

    • 编排服务(Heat)

  • Openstack组件权限问题

    一、问题解答

    如果用户名和密码正确,且token也在有效期内,那么就一定可以创建成功吗?

    答案:不可以,这个权限是由服务决定的。


    二、操作步骤

    Step1:用户通过Dashboard/CLl申请创建虚拟机,并以RESTAPI方式来请求Keystone授权;

    Step2:keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请求;

    Step3:界面或命令行通过RESTfulAPl向nova-api发送一个boot instance的请求(携带auth-token);

    Step4:nova-api接受请求后向keystone发送认证请求,查看token是否为有效用户和token;

    Step5:keystone验证token是否有效,如有效则返回有效的认证和对应的角色(注:有些操作需要有角色权限才能操作);

    Step6:通过认证后nova-api和数据库通讯;

    Step7:初始化新建虚拟机的数据库记录;

    Step8:nova-api通过rpc.cal向nova-scheduler请求是否有创建虚拟机的资源(Host ID);

    Step9:nova-scheduler进程侦听消息队列,获取nova-api的请求;

    Step10:nova-scheduler通过查询nova数据库中计算资源的情况,并通过调度算法计算符合虚拟机创建需要的主机;

    Step11:对于有符合虚拟机创建的主机,nova-scheduler更新数据库中虚拟机对应的物理主机信息;

    Step12:nova-scheduler通过rpc.cgst向nova-compute发送对应的创建虚拟机请求的消息;

    Step13:nova-compute会从对应的消息队列中获取创建虚拟机请求的消息;

    Step14:nova-compute通过rpc.cal向nova-conductor请求获取虚拟机消息;

    Step15:nova-conductor从消息队队列中拿到nova-compute请求消息;

    Step16:nova-conductor根据消息查询虚拟机对应的信息;

    Step17:nova-conductor从数据库中获得虚拟机对应信息;

    Step18:nova-conductor把虚拟机信息通过消息的方式发送到消息队列中;

    Step19:nova-compute从对应的消息队列中获取虚拟机信息消息;

    Step20:nova-compute通过keystone的RESTfullAPl拿到认证的token,并通过HTTP请求glance-api获取创建虚拟机所需要镜像;

    Step21:glance-api向keystone认证token是否有效,并返回验证结果;

    Step22:token验证通过,nova-compute获得虚拟机镜像信息(URL);

    Step23:nova-compute通过keystone的RESTfullAPl拿到认证k的token,并通过HTTP请求neutron-server获取创建虚拟机所需要的网络信息;

    Step24:neutron-server向keystone认证token是否有效,并返回验证结果;

    Step25:token验证通过,nova-compute获得虚拟机网络信息;

    Step26:nova-compute通过keystone的RESTfulAPl拿到认证的token,并通过HTTP请求cinder-api获取创建虚拟机所需要的持久化存储信息;

    Step27:cinder-api向keystone认证token是否有效,并返回验证结果;

    Step28:token验证通过,nova-compute获得虚拟机持久化存储信息;

    Step29:nova-compute根据instance的信息调用配置的虚拟化驱动来创建虚拟机。


    三、解决方案:

    查看权限的配置文件:

    [rootecontroller cinder]# cd /etc/openstack-dashboard/

    此配置文件下的_policy.json就可以查看与修改用户绑定的角色对组件的操作权限;查看对应组件有权限操作的角色。

    [rootecontroller openstack-dashboard]# ls

    cinder_policy:json glance_policy.json keystone_policy.json local_settings neutron_policy.json nova_policy.d nova_policy.json。