当前位置: 首页 > news >正文

OpenStack常见的22个问题汇总

问题1:宿主机电源断电后,云主机不能故障迁移


问题描述:

模拟计算节点宕机后,云主机不能故障迁移。


问题分析:

宿主机断电的这种场景有一定的几率会触发ipmi-Fence关机,另一种情况是consul检测到host已经powe-off,pass了fence,Fence host需要通过ipmi,而这个操作需要Dell r740 ipmi硬件支持lan接口,

而具体触发impi-fence还是pass fence,这个和检测机制有关


解决方法:

登录dell r740 Ipmi控制台,开启LAN后支持。

问题2:cpu特性问题导致windows 2016云主机不能启动


问题描述:

windows 2016系统启动会一直HANG在logo界面,无法进入系统。


问题分析:

其它镜像创建的云主机正常,唯有2016不行,判断是因为部分cpu特性没有设置引起


解决方法:

编辑计算节【libvirt】设置如下参数

cpu_model = kvm64

cpu_featureset=tm2,est,smx,vmx,pbe,acpi,vme,pdpe1gb,rdtscp,pclmuldq,ssse3,fma,pcid,dca,sse4.1,sse4.2,x2apic,movbe,popcnt,aes,xsave,avx,f16c,rdrand,bmi1,avx2,smep,bmi2,lahf_lm,nx

重启计算节点nova-compute服务后解决

问题3:查看云盘信息提示qos错误

问题描述:

查看创建好的云盘信息时提示qos错误


问题分析:

登录后台查看/var/log/cinder/volume.log日志有qos关键字

 

解决方法:

将cinder type的is_predefined属性调整为false后解决。

问题4:mellanox 网卡驱动问题导致 vlan ip 不通


问题描述:

对应物理网口设置trunk,native vlan 2,允许3和4通信)

操作系统层设置了一个ip(走native vlan 2),又设置了一个子接口vlan ip (走vlan 3)。

设置完成后nativevlan 2 ping网关正常,发现3不能通讯。


问题分析:

确认网卡型号,考虑升级驱动。


解决方法:

下载mellanox驱动,用ipmi 虚拟光驱挂载至系统

安装依赖包

yum install -yperl  lsof libxml2-python pciutils

解压驱动包

chmod +x install

./install

重启后vlan 3 ip通讯正常。

问题5:consul tenant 错误日志导致根目录空间不足,服务异常


问题描述:

控制节点1和3,根目录爆满,无法写入。

 

问题分析:

排查到/var/log/consul日志占用430GB引起的。

清空/var/log/consul/tenant.log日志后,根目录空间充足。

查看/var/log/consul/tenant.log提示ERR.consu.rpc等关键字报错

调整/etc/security/limit.conf,注释一下参数后,此类告警日志消失

# End of file

#* soft memlock unlimited

#* hard memlock unlimited

#* soft nofile 262144

#* hard nofile 262144

#* soft nproc 10240

#* hard nproc 10240

# BEGIN ANSIBLE MANAGED BLOCK

* hard nofile 65535

* soft nofile 65535

# END ANSIBLE MANAGED BLOCK

查看/var/log/consul/tenant.log提示ERR.raft..vote等关键字报错

查看/var/log/heat/heat-engine.log提示rabbit报错

查看rabbit集群状态已经异常

解决方法:

重建rabbitMQ集群后正常。

问题6:云主机自动快照异常


问题描述:

创建云主机快照一直在创建中,创建云硬盘快照可以。

问题分析:

查看nova ERROR日志有提示virtual-size关键字

判断可能是glance版本兼容问题,这个virtual-size字段当时是用来兼容ussvd的

解决方法:

升级glance版本后,云主机快照创建正常。

问题7:在线迁移云主机失败


问题描述:

不能完成在线迁移,后台有如下ERROR日志

/var/log/nova-compute.log

2018-10-09 16:30:47.422 325466 ERROR nova.virt.libvirt.driver [req-ff1a789c-738f-4eac-a8ca-38e0d65597d4 cc66277d14f6444eb3c3160b2cd85c3c ca2b2d438761441a9ee1e2d2c8e8fe95 - - -] [instance: f6fd3243-04b8-404d-bc8d-4fb8f783851c] Live Migration failure: operation failed: Lost connection to destination host

2018-10-09 16:30:47.785 325466 ERROR nova.virt.libvirt.driver [req-ff1a789c-738f-4eac-a8ca-38e0d65597d4 cc66277d14f6444eb3c3160b2cd85c3c ca2b2d438761441a9ee1e2d2c8e8fe95 - - -] [instance: f6fd3243-04b8-404d-bc8d-4fb8f783851c] Migration operation has aborted

问题分析:

平台默认迁移指定为内部网络

解决方法:

注释以下选项,让迁移流量走管理即可

/etc/nova/nova/conf

##live_migration_inbound_addr = 1.1.1.1

#live_migration_inbound_addr = 169.255.128.3

#live_migration_progress_timeout

问题8:调整cinder type名称


问题描述:

前期部署时命名错误,为xsky

问题分析:

计划将xsky调整为HDD

解决方法:

Cinder type list #获取xsky uuid

cinder type-update --name HDD 【type_uuid】

登录平台验证xksy已更改为HDD

问题9:默认SSD资源配额无限制导致创建项目时报错


问题描述:

创建项目时提示“SSD云硬盘数量不能大于云硬盘数量”报错

问题分析:

SSD云盘配额默认无限制,需要修改底层默认配额。

解决方法:

cinder quota-class-show default

+----------------------+-------+

|       Property       | Value |

+----------------------+-------+

|   backup_gigabytes   |  1000 |

|       backups        |   10  |

|      gigabytes       |  1000 |

|    gigabytes_HDD     |   -1  |

|    gigabytes_SSD     |   -1  |

| per_volume_gigabytes |   -1  |

|      snapshots       |   10  |

|    snapshots_HDD     |   -1  |

|    snapshots_SSD     |   -1  |

|       volumes        |   10  |

|     volumes_HDD      |   -1  |

|     volumes_SSD      |   -1  |

+----------------------+-------+

#把SSD云盘默认配额调整为1000GB和10个。

cinder quota-class-update default --volume-type SSD --gigabytes 1000 --volumes 10

+----------------------+-------+

|       Property       | Value |

+----------------------+-------+

|   backup_gigabytes   |  1000 |

|       backups        |   10  |

|      gigabytes       |  1000 |

|    gigabytes_HDD     |   -1  |

|    gigabytes_SSD     |  1000 |

| per_volume_gigabytes |   -1  |

|      snapshots       |   10  |

|    snapshots_HDD     |   -1  |

|    snapshots_SSD     |   -1  |

|       volumes        |   10  |

|     volumes_HDD      |   -1  |

|     volumes_SSD      |   10  |

+----------------------+-------+

[root@controller03-4n09-s13 ~]#

创建项目时无报错,默认配额已更改。

问题10:   云盘挂载盘符和系统内部盘符不对称


问题描述:

云盘挂载盘符和系统内部盘符不对称

问题分析:

云平台并不能实时监测到盘符的变动。问题原因是云主机系统运行时,你在第一次顺序挂载云盘后,又对云盘执行卸载挂载操作。

如果你是第一次挂载,那么云平台和系统内部盘符一定是正确的。例如:odb1(vdb),odb2(vdc),bode(vdd)

如果是云主机系统运行时,有对云盘执行卸载挂载操作。期间你应该卸载了odb1(vdb),bode(vdd)。

然后先挂载bode(vdb)然后是odb1(vdd)。不过平台认为还是是odb1(vdb),odb2(vdc),bode(vdd)不会变动。

解决方法:

云主机重启后就和第一次挂载时保持一致了。

问题11:云主机之间不能ssh和scp文件


问题描述:

云主机不能ssh以及scp拷贝文件

问题分析:

其中云主机内部mtu过高,与宿主机之间有冲突。

解决方法:

问题12:调整计算节点CPU/内存超分比


问题描述:

平台默认cpu超分比1:16,内存超分比1:1,部分用户要求更改超分比

问题分析:

可通过修改计算节点的参数实现

解决方法:

Vi /etc/nova/nova.conf

[DEFAULT]

cpu_allocation_ratio=8.0

ram_allocation_ratio=2.0

重启计算节点nova-compute服务生效

systemctl restart openstack-nova-compute.service

问题13:对vm放行multi ip


问题描述:

客户要求2台云主机上搭建ha软件,会用到一个虚拟ip,这个ip要求在2台云主机上通行。

通过cu界面无法设置。

问题分析:

可通过后台更新网卡port参数即可

解决方法:

2台云主机都找到网卡所属port id,放行即可:

Neutron port-list

neutron port-update 9041c946-ca1f-4bfd-b1cd-bce7c1ececc8 --allowed-address-pairs type=dict list=true ip_address=10.169.131.202

问题14:修改平台dhcp 下发给云主机的mtu 值


问题描述:

部分用户会要求修改平台默认dhcp分发的mtu值

问题分析:

可通过修改网络节点的配置文件参数实现

解决方法:

vi  /etc/neutron/dnsmasq-neutron.conf 

dhcp-option-force=26,1450

重启服务生效

systemctl restart  neutron-dhcp-agent.service

问题15:修改租户防火墙中默认端口


问题描述:

平台默认防火墙有预定义的规则,部分用户会要求修改默认防火墙中的端口

问题分析:

可通过修改网络节点配置文件参数后实现

解决方法:

Vi /etc/neutron/neutron.conf

default_sg_ingress_rules = 22:3389

重启服务后生效

systemctl restart neutron-server.service

问题16:扩容的计算节点新建云主机失败


问题描述:

新扩容节点无法开通云主机

问题分析:

Nova-compute日志有Kvm报错

解决方法:

Chmod 666 /dev/kvm

Chown root:kvm /dev/kvm

问题17:扩容的计算节点云主机无法出外网


问题描述:

云主机无法ping通网关 

解决方法:

Yum install openvswitch-dkms即可

问题18:扩容节点修改vxlan内部ip


问题描述:

发现vxlan ip部署时脚本中填写错了,如何合理的修改这个IP呢?

解决方法:

迁移机器到其它节点上

disable关闭nova-compute服务,

ovs-vsctl del-br br-tun

openvswitch_agent.ini

修改/etc/sysconfig/network-scripts/ifcfg-bond1.1252

重启一下neutron-openvswitch-agent

问题19:测试的2TB云硬盘(含一个2TB快照)不能正常完成删除


故障描述:

这块云硬盘有绑定过虚拟机,且对这块云盘有生成一个快照,并且有用到这个快照去生成一个云硬盘(基于快照的链接克隆)。删除云主机,删除基于快照创建的云硬盘,再删除这个2TB云盘快照时失败,2TB云盘也无法完成删除。

解决方法:

从ceph后台取消rbd设备快照保护,删除快照和块,再从openstack节点删除cinder 云盘快照和云盘,问题解决。


解决过程:

cinder list --all-tenants 从openstack查看所有云盘,记录云盘ID

cinder snapshot-list  --all-tenants从openstack查看云盘快照,记录云盘快照ID

Rados lspools ceph层面查看ceph所有存储池

rbd ls volumes  ceph层面查看云盘对应pool的rbd块设备,找到异常云盘ID

rbd snap ls volumes/volume-2aee3132-23b7-4b54-afde-0fdd6dea3da3/ ceph层面查看云盘快照ID

rbd snap  unprotectvolumes/volume-2aee3132-23b7-4b54-afde-0fdd6dea3da3@snapshot-fc44a39b-8f2f-49eb-bf1a-c87989e24126ceph层面取消云盘快照保护

rbd snap rmvolumes/volume-2aee3132-23b7-4b54-afde-0fdd6dea3da3@snapshot-fc44a39b-8f2f-49eb-bf1a-c87989e24126 ceph层面删除云盘快照

rbd rm volumes/volume-2aee3132-23b7-4b54-afde-0fdd6dea3da3ceph层面删除云盘

cinder snapshot-deletefc44a39b-8f2f-49eb-bf1a-c87989e24126,从openstack层面删除云盘快照

cinderdelete 2aee3132-23b7-4b54-afde-0fdd6dea3da3 从openstack层面删除云盘

问题20:测试的云硬盘全量备份删除不掉


故障描述:

从云主机中执行的全量备份,有云系统盘和云数据盘的备份。

云主机删除后,删除云系统盘备份正常,删除云硬盘备份删除不掉。

故障分析:

从后台删除即可

解决方法:

freezer backup-list 查看备份

freezer backup-delete 删除备份

问题21:云平台新建规格


问题描述:

cpu超过8核的windows云主机,任务管理器中不能看到8个核心监控,设备管理器中有8个cpu qemu

问题分析:

新建的规格,(如cpu大于8核)如果要给windows (如2008R2)云主机使用,还需要设置规格元数据。

解决方法:

#ssh登录控制节点,执行变量环境

source admin-openrc

#查询规格

openstack flatvor list

#更新规格的cpu_max_sockets=4,这个最大只能为4,hw:cpu_max_cores可以灵活定义。

openstack flavor set  740ef797-22c5-47e5-bb7a-c6f2bce4fc23  --property hw:cpu_max_sockets=4 --property hw:cpu_max_cores=12

问题22:云平台添加一个网段


问题描述:

平台受限,不能添加指定的vlan

问题分析:

默认平台支持显示16个连续vlan,如果您想要的vlan不在16个vlan连续显示范围内,可以考虑后台添加,后台添加好后,web会显示。

底层配置:

修改节点为Neutron网络节点修改配置文件,添加所需vlan:

provider字段添加所需vlan范围即可,示例为vlan30到131

[root@host178869506 ~]# cat/etc/neutron/plugins/ml2/ml2_conf.ini

[ml2]

type_drivers = vlan

tenant_network_types = vlan

extension_drivers = port_security

mechanism_drivers = openvswitch

path_mtu = 9000

 

[securitygroup]

firewall_driver = openvswitch

enable_add_router_flows = true

[ml2_type_flat]

flat_networks =

 

[ml2_type_vlan]

network_vlan_ranges = self:100:200,provider:30:131

 

重启服务生效

Systemctl restart neutron-server.service  

 

Local_settings负责web显示,默认平台支持16个vlan。修改provider字段添加所需vlan范围即可。示例为130到131的2个vlan。

 

[root@host178869505ml2]# cat  /etc/openstack-dashboard/local_settings|grep -i 131

       'provider': [130,131],

[root@host178869505 ml2]#

 

重启httpd生效,登录web,就可以选择新建130-131 vlan 网段。

Systemctl restart httpd

  

那么问题来了,如果您想要的vlan不是一个连续范围的,可通过如下命令新建即可

 

创建一个net:

neutron net-create --provider:network_typevlan --provider:physical_network provider --provider:segmentation_id 131 test131 --shared--router:external

创建一个subnet:

neutron subnet-create203f919c-dc2e-4624-9f35-3ccfb2462213 10.169.131.0/24 --name vlan131 --gateway 10.169.131.254 --dns-nameserver  10.169.0.76 --allocation-poolstart=10.169.131.225,end=10.169.131.227

网络交换机配置

万兆交换机业务口放行所需vlan,

万兆交换机连接用户交换机trunk口需放行所需vlan。

文末来了

《精通OpenStack(原书第2版)》

实战经验丰富的云技术专家撰写,全面、系统阐述OpenStack私有云架构设计、核心功能、自动化部署与运维的实用技术、方法及实践。

从OpenStack的自动化编排部署与实施、日志监控、故障排查到性能调优与基准测试,全方位覆盖时下热门Openstack话题。

相关文章:

  • 疫情肆虐下,程序员用代码告诉你为什么千万不要出门!
  • 双手奉上数据库技术书单,助你玩转数据库的各种技术!
  • TIOBE 2 月编程语言排行榜:Objective-C 的出路在何方?
  • “猿”宵佳节,“猿”来是你。
  • 数据科学家们会被 AutoML 代替吗?
  • 【新书速递】机器学习算法的数学解析与Python实现
  • 【直播预告 】2月10日 两场直播“Flutter技术入门+Linux从业方向扫盲及必读书籍推荐” 等你来!...
  • 柱状图、堆叠柱状图、瀑布图有什么区别?怎样用Python绘制?
  • 【直播预告】2月11日20:00-21:00 “引爆微信群 用社群倍增业绩”扫码即可进入直播间~...
  • 用python数据分析了北京积分落户名单,发现……
  • 中台辨析:架构的演进趋势
  • 【直播预告】2月12日“实体企业如何打造私域流量+企业级业务架构方法与工作”两场直播等你来!...
  • 【直播预告】2月13日 三场科技类大咖直播!带好小板凳,前排等你哦!
  • 只知道云计算很赚钱,但不知道怎么学?
  • 情人节快乐 | 请收下这份礼物
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • CentOS 7 修改主机名
  • java 多线程基础, 我觉得还是有必要看看的
  • Mysql5.6主从复制
  • Spring Cloud中负载均衡器概览
  • Sublime text 3 3103 注册码
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 基于web的全景—— Pannellum小试
  • 力扣(LeetCode)56
  • 入门到放弃node系列之Hello Word篇
  • 中文输入法与React文本输入框的问题与解决方案
  • 进程与线程(三)——进程/线程间通信
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​如何在iOS手机上查看应用日志
  • #NOIP 2014#Day.2 T3 解方程
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (3)(3.5) 遥测无线电区域条例
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (八)c52学习之旅-中断实验
  • (分类)KNN算法- 参数调优
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (离散数学)逻辑连接词
  • (十一)c52学习之旅-动态数码管
  • (四)鸿鹄云架构一服务注册中心
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (一)Dubbo快速入门、介绍、使用
  • (转)VC++中ondraw在什么时候调用的
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • .Net组件程序设计之线程、并发管理(一)
  • @Autowired @Resource @Qualifier的区别
  • @value 静态变量_Python彻底搞懂:变量、对象、赋值、引用、拷贝
  • [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞 S2-005 (CVE-2010-1870)
  • [2018-01-08] Python强化周的第一天
  • [Angular] 笔记 6:ngStyle
  • [C++]运行时,如何确保一个对象是只读的
  • [codevs] 1029 遍历问题