[故障]ceph存储池权限修改错误,导致存储池的业务hang住
描述:
记录一次重大事故:根据IaaS资源业务要求,需要增加某些功能,所以要修改部署代码。修改后重推部署代码,检查发现没有什么异常。
但是一段时间后就收到用户的报障反馈,接连一个电话、2个电话、3个电话。。。。慌了。。。。
业务故障表现,如下图

处理流程
- 首先查看ceph集群状态正常,排除ceph集群问题,如下图:

检查iaas平台nova、cinder、neutron服务均为正常。
[回顾变更修改的操作]. 虚拟机在进行数据读写的时候通过public network(也就是平台的bondmg网络)流先到monitor节点然后和osd节点通信,如果期间端口被阻塞,会导致io error,本次变更操作里有改变节点的iptables规则,因此首先查看高性能存储节点上的iptables规则,查看并没有涉及到ceph服务的端口。
[回顾变更修改的操作]. 确认存储的tcp连接是否正常,在Control01用public网卡,ping storage-osdnode10 -I bondmg 的public地址,确认连通性正常;利用telnet storage-osdnode10的osd端口,确认tcp连接正常。
[回顾变更修改的操作]. 该环境存在两个存储池,确认受影响的范围,分别查看两个池跑的业务虚拟机的情况。确认sata池的虚拟机正常,定位问题影响范围在ssd高性能池。
[确认故障问题] 尝试选择ssd高性能后端创建测试虚拟机,创建失败,虚拟机状态为error,直接创建type为ssd类型的卷,状态也显示error,怀疑cinder没有高性能存储池的权限。
查看storage-osdnode10节点cinder-volume容器,执行rbd -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.cinder.keyring --user cinder -p volumes_ssd ls命令,提示没有权限。
进入ceph,查看cinder用户权限,发现client.cinder里缺少volume_ssd pool的权限,如下图,确认本次故障根本原因,客户端cinder缺少访问高性能池的权限
根本问题原因:这个可能涉及到修改kolla-ansibel部署代码的时候不小心修改到了存储池的权限,重新推的时候ceph集群权限变更了

- 临时解决方案:通过ceph auth import方式为client.cinder用户增加volumes_ssd 的rwx权限
永久解决方案:修改kolla-ansible代码增加该pool的权限。

重启高性能业务虚拟机,发生启动正常。
验证volume类型为高性能池创建卷成功。
开始恢复业务虚拟机,业务虚拟机重启后均恢复正常。
[故障]ceph存储池权限修改错误,导致存储池的业务hang住的更多相关文章
- 报错——selinux配置文件修改错误导致无法启动虚拟机
selinux配置文件修改错误导致无法启动虚拟机 问题 错误修改配置文件 [root@centos73 ~]# cat /etc/selinux/config # This file controls ...
- Oracle归档文件夹权限设置错误导致的数据库问题解决
把oracle设置为归档模式并且为归档文件新建文件夹 /home/oracle/app/oracle/arch/orcl 但是在启动或者备份时候经常性出现错误 startup报错 startup同时日 ...
- [jnhs]id字段修改错误导致hibernate hql查询整表只返回第一条数据
调试发现,查询到的就是一条数据 hql语句执行结果 Hibernate: select ballmodel0_.ball_id as ball_id1_1_, ballmodel0_.color as ...
- [svc]mount命令及解决因/etc/fstab错误导致系统不能启动故障
mount命令-手动挂载设备 格式: mount [options] [-t fstype] [-o option] 设备 挂载点 mount -n -o remount,rw / - Mount t ...
- 给虚拟机添加新硬盘并分区,fdisk查看分区,分区,重新读取分区表信息partprobe,格式化,挂载,查看分区挂载信息,自动挂载文件/etc/fstab,/etc/fstab文件错误导致重启崩溃后的修复
1.虚拟机关机断电 2.添加硬盘 2.开机 3.fdisk -l查看刚才新添加的硬盘 [root@localhost ~]# fdisk -l 磁盘 /dev/sda:21.5 GB, 2147483 ...
- jenkins用户权限配置错误,导致登录时提示:没有Overall/read权限
jenkins用户权限配置错误,导致登录时提示:没有Overall/read权限 由于初次接触jenkins,于是在搭建好jenkins以后,想要对用户进行管理,于是乎开始在系统管理->conf ...
- 风险:隐蔽权限修改导致rgw服务中断
上午正在开会,突然收到rgw服务异常的告警(503 Service Unavailable),立马停下来处理告警,避免影响到用户~ 我们的rgw frontend用的是apache,之前也遇到过5 ...
- 两个由于php.ini配置错误导致的报错:ajax图片上传报错和exec报错
遇到了两个由于php.ini配置错误导致的报错:ajax图片上传报错和exec报错 首先第一个: 在做一个用ajax图片上传的功能中,php报了这样一个错误:File upload error - u ...
- Mysql数据库远程链接、权限修改、导入导出等基本操作
一.连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -ur ...
随机推荐
- 基于华为云服务器的FTP站点搭建
前言 主要介绍了华为云上如何使用弹性云服务器的Linux实例使用vsftpd软件搭建FTP站点.vsftpd全称是"very secure FTP daemon",是一款在Linu ...
- Ubuntu16桌面版编译OpenCV4的java库和so库
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 搭建服务器之www-向外提供视频服务by html5 video标签
搭建好www服务器,主要目的有两个一个是试验下,另一个是想给女朋友个惊喜,给她个带视频的网页,嘿嘿当前测试下相应功能. 1,采用html5的视频功能:bideo标签. 源码如下: <!docty ...
- golang中结构体中的嵌套
package main import "fmt" type Base struct { name string } func (b *Base) m1() int { retur ...
- es6 快速入门 系列 —— 类 (class)
其他章节请看: es6 快速入门 系列 类 类(class)是 javascript 新特性的一个重要组成部分,这一特性提供了一种更简洁的语法和更好的功能,可以让你通过一个安全.一致的方式来自定义对象 ...
- linux安装第三方软件 python3
一:linux安装python3 安装第三方软件的目录 进入目录 /usr/local 下载rpm安装包 安装pyton yum安装python : yum install python3 查看pyt ...
- 学习Java第6天
今天所做的工作: 1.完成学生信息管理系统样卷 2.核心技术接口继承,多态 明天工作安排: 1.类的高级特性(Java类包) 2.异常处理 今天做一个小小的总结,Java程序是完全面向对象的,它的所有 ...
- Argo 安装和 workflow 实例配置文件解析
一.Argo 安装配置 1.1 Argo 安装 $ kubectl create ns argo $ kubectl apply -n argo -f https://raw.githubuserco ...
- (DDS)正弦波形发生器——幅值、频率、相位可调(一)
(DDS)正弦波形发生器--幅值.频率.相位可调 一.项目任务: 设计一个幅值.频率.相位均可调的正弦波发生器. 频率每次增加1kHz. 相位每次增加 2*PI/256 幅值每次增加两倍 二.文章内容 ...
- json解析出现:java.lang.ClassCastException: net.sf.ezmorph.bean.MorphDynaBean cannot be cast to XXX
感谢大佬:https://blog.csdn.net/one_ink/article/details/99817676 一.出错原因 当我们利用json解析中的toBean方法时,如果它的属性里面包含 ...