描述:

记录一次重大事故:根据IaaS资源业务要求,需要增加某些功能,所以要修改部署代码。修改后重推部署代码,检查发现没有什么异常。

但是一段时间后就收到用户的报障反馈,接连一个电话、2个电话、3个电话。。。。慌了。。。。

业务故障表现,如下图

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

  1. 检查iaas平台nova、cinder、neutron服务均为正常。

  2. [回顾变更修改的操作]. 虚拟机在进行数据读写的时候通过public network(也就是平台的bondmg网络)流先到monitor节点然后和osd节点通信,如果期间端口被阻塞,会导致io error,本次变更操作里有改变节点的iptables规则,因此首先查看高性能存储节点上的iptables规则,查看并没有涉及到ceph服务的端口。

  3. [回顾变更修改的操作]. 确认存储的tcp连接是否正常,在Control01用public网卡,ping storage-osdnode10 -I bondmg 的public地址,确认连通性正常;利用telnet storage-osdnode10的osd端口,确认tcp连接正常。

  4. [回顾变更修改的操作]. 该环境存在两个存储池,确认受影响的范围,分别查看两个池跑的业务虚拟机的情况。确认sata池的虚拟机正常,定位问题影响范围在ssd高性能池。

  5. [确认故障问题] 尝试选择ssd高性能后端创建测试虚拟机,创建失败,虚拟机状态为error,直接创建type为ssd类型的卷,状态也显示error,怀疑cinder没有高性能存储池的权限。

  6. 查看storage-osdnode10节点cinder-volume容器,执行rbd -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.cinder.keyring --user cinder -p volumes_ssd ls命令,提示没有权限。

  7. 进入ceph,查看cinder用户权限,发现client.cinder里缺少volume_ssd pool的权限,如下图,确认本次故障根本原因,客户端cinder缺少访问高性能池的权限

根本问题原因:这个可能涉及到修改kolla-ansibel部署代码的时候不小心修改到了存储池的权限,重新推的时候ceph集群权限变更了

  1. 临时解决方案:通过ceph auth import方式为client.cinder用户增加volumes_ssd 的rwx权限

永久解决方案:修改kolla-ansible代码增加该pool的权限。

  1. 重启高性能业务虚拟机,发生启动正常。

  2. 验证volume类型为高性能池创建卷成功。

  3. 开始恢复业务虚拟机,业务虚拟机重启后均恢复正常。

[故障]ceph存储池权限修改错误,导致存储池的业务hang住的更多相关文章

  1. 报错——selinux配置文件修改错误导致无法启动虚拟机

    selinux配置文件修改错误导致无法启动虚拟机 问题 错误修改配置文件 [root@centos73 ~]# cat /etc/selinux/config # This file controls ...

  2. Oracle归档文件夹权限设置错误导致的数据库问题解决

    把oracle设置为归档模式并且为归档文件新建文件夹 /home/oracle/app/oracle/arch/orcl 但是在启动或者备份时候经常性出现错误 startup报错 startup同时日 ...

  3. [jnhs]id字段修改错误导致hibernate hql查询整表只返回第一条数据

    调试发现,查询到的就是一条数据 hql语句执行结果 Hibernate: select ballmodel0_.ball_id as ball_id1_1_, ballmodel0_.color as ...

  4. [svc]mount命令及解决因/etc/fstab错误导致系统不能启动故障

    mount命令-手动挂载设备 格式: mount [options] [-t fstype] [-o option] 设备 挂载点 mount -n -o remount,rw / - Mount t ...

  5. 给虚拟机添加新硬盘并分区,fdisk查看分区,分区,重新读取分区表信息partprobe,格式化,挂载,查看分区挂载信息,自动挂载文件/etc/fstab,/etc/fstab文件错误导致重启崩溃后的修复

    1.虚拟机关机断电 2.添加硬盘 2.开机 3.fdisk -l查看刚才新添加的硬盘 [root@localhost ~]# fdisk -l 磁盘 /dev/sda:21.5 GB, 2147483 ...

  6. jenkins用户权限配置错误,导致登录时提示:没有Overall/read权限

    jenkins用户权限配置错误,导致登录时提示:没有Overall/read权限 由于初次接触jenkins,于是在搭建好jenkins以后,想要对用户进行管理,于是乎开始在系统管理->conf ...

  7. 风险:隐蔽权限修改导致rgw服务中断

    上午正在开会,突然收到rgw服务异常的告警(503 Service Unavailable),立马停下来处理告警,避免影响到用户~   我们的rgw frontend用的是apache,之前也遇到过5 ...

  8. 两个由于php.ini配置错误导致的报错:ajax图片上传报错和exec报错

    遇到了两个由于php.ini配置错误导致的报错:ajax图片上传报错和exec报错 首先第一个: 在做一个用ajax图片上传的功能中,php报了这样一个错误:File upload error - u ...

  9. Mysql数据库远程链接、权限修改、导入导出等基本操作

    一.连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -ur ...

随机推荐

  1. 【Java常用类】Math

    Math 说明 java.lang.Math提供了一系列静态方法用于科学计算.其方法的参数和返回 值类型一般为double型. 方法 abs 绝对值 acos,asin,atan,cos,sin,ta ...

  2. Ubuntu下使用VS Code创建Spring Boot工程

    目的 我们将在Ubuntu桌面系统下,使用VS Code(Visual Studio Code)编辑器从零开始创建一个Spring Boot工程,并实现一个简单的RESTful风格接口.使用这套流程的 ...

  3. nginx的fastcgi配置

    首先参考了一份配置注释(来自"小刚的博客"): #运行用户 user www-data; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错 ...

  4. Redis持久化----RDB和AOF 的区别

    关于Redis说点什么,目前都是使用Redis作为数据缓存,缓存的目标主要是那些需要经常访问的数据,或计算复杂而耗时的数据.缓存的效果就是减少了数据库读的次数,减少了复杂数据的计算次数,从而提高了服务 ...

  5. fluentd学习笔记

    转载自http://blog.csdn.net/qq_27252133/article/details/53520416 原文https://blog.laisky.com/p/fluentd/ 最近 ...

  6. Django ORM 多对多操作 使用聚合函数和分组 F查询与Q查询

    创建表 # models.py form django.db import models class Book(models.Model): # 表名book,django会自动使用项目名+我们定义的 ...

  7. react之withRouter的作用

    withRouter的作用:把不是通过路由切换过来的组件,将react-router的history.location和match三个对象传入到props对象上: 默认情况下必须是经过路由匹配渲染的组 ...

  8. VsCode配置C/C++开发环境

    Visual Studio Code(VS Code)是基于 Electron 开发,支持 Windows.Linux 和 macOS 操作系统.内置了对JavaScript,TypeScript和N ...

  9. kindof

    kindof:相当于 __kindof:表示当前类或者它的子类' 类设计历史 id:可以调用任何对象方法,不能进行编译检查 @interface Person : NSObject // xcode5 ...

  10. Maven 项目报出警告:Warning:java: source value 1.5 is obsolete and will be removed in a future release

    感谢原文作者:Hxinguan 原文链接:https://www.cnblogs.com/Hxinguan/p/6132446.html 问题: 1.创建maven项目的时候,jdk版本是1.5版本, ...