描述:

记录一次重大事故:根据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. zip压缩,解压

    //引用 System.IO.Compression.FileSystem.dll var basePath = AppDomain.CurrentDomain.BaseDirectory; Syst ...

  2. [开发笔记usbTOcan]需求获取与系统需求分析

    简介 一直一以来都是站在实现某个模块功能的角度去做软件开发,没有尝试过站在系统的层面去做开发.最近正好不忙,觉得是时候以系统工程师的视角,去开发一个完整的系统.接下来的几篇文章,我会记录一个USB转C ...

  3. UML 有关用例图知识及用例关系

    原文链接:https://blog.csdn.net/mj_ww/article/details/53020080 1. 如何识别用例 任何用例都不能在缺少参与者的情况下独立存在.同样,任何参与者也必 ...

  4. Docker 私服

    目录 什么是 Docker 私服? Docker 私服搭建 上传镜像至私服 从私服拉取镜像 什么是 Docker 私服? Docker 官方的 Docker Hub 是一个用于管理公共镜像的仓库,我们 ...

  5. Cesium中级教程1 - 空间数据可视化(一)

    Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 本教程将教读者如何使用Cesium的实体(Entity)API绘 ...

  6. Elasticsearch使用系列-ES简介和环境搭建

    一.简介 Elasticsearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java语言开发的,并 ...

  7. gin中间request body绑定到不同的结构体中

    1. 一般通过调用 c.Request.Body 方法绑定数据,但不能多次调用这个方法. package main import ( "fmt" "github.com/ ...

  8. 用 CSS 让你的文字更有文艺范

    透明文字,模糊文字,镂空文字,渐变文字,图片背景文字,用 CSS 让你的文字也有 freestyle- 前言 我们做页面涉及字体的时候,最多就是换个 color 换个 font-family,总是觉得 ...

  9. Chrome Performance 页面性能分析指南

    1.背景 性能优化是前端开发一个非常重要的组成部分,如何更好地进行网络传输,如何优化浏览器渲染过程,来定位项目中存在的问题.Chrome DevTools给我们提供了2种常用方式 Audits和Per ...

  10. python31day

    内容回顾 网编总结,思维导图 计划 并发编程的开始,计划6天 操作系统1天 进程2天 线程2天 携程1天 今日内容 操作系统 多道操作系统: 从顺序的一个个执行的思路变成:并行轮流使用cpu 一个程序 ...