查看原文
其他

OpenStack常见的22个问题汇总

The following article is from 新钛云服 Author 顾莹涛



问题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。



后台回复“加群”,带你进入高手如云交流群


推荐阅读:

八个字节的 UDP 如何传输数据

如何入门分布式一致性协议与算法

调度系统设计精要

使Kubernetes更容易操作的11种工具

任何人都能看懂的 Kubernetes 教程!

4000 字详解 TCP 超时与重传

看完这篇HTTP,跟面试官扯皮就没问题了

一图理解终端、会话、 进程组、进程关系

腾讯工程师常用的开发效率神器汇总!

3000字讲讲 TCP 协议

一文读懂云计算

一文搞懂 Linux 的 inode



喜欢,就给我一个“在看”



10T 技术资源大放送!包括但不限于:云计算、虚拟化、微服务、大数据、网络、Linux、Docker、Kubernetes、Python、Go、C/C++、Shell、PPT 等。在公众号内回复「1024」,即可免费获取!!

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存