起因是发现云硬盘显示删光了,但还是创建不了新的云硬盘,在api节点上用cinder list可以看到已经没有硬盘了,但是创建硬盘时,还是会提示配额满了,这是因为数据库里的记录没有更新,对数据库的操作记录如下,以便以后参考:

登录50数据库节点(需要登录主节点,可以在mysql数据库中输入show master status;或者show slave status;来查看,比如show master status;这个命令,如果返回了一个表,那么证明就是主了。目前L版中50、51、52都是主。)

手动修改数据库,标识其为已删除状态(通常不直接删除记录),需要修改cinder数据库的volumes表,修改deleted字段为1(整型的1,不是字符串),status字段修改为"deleted",deleted_at可修改为"now()",也可以不修改。

update volumes set deleted=1 where id = "xxx";

通过show databases;列出所有数据库;

通过use cinder;进入cinder的数据库;

通过show tables;列出所有表格;

通过select * from quota_usages;从该quota_usages表格中列出所有内容;

update quota_usages set in_use=0 where project_id="xxx" and resource="xxx";

注意更新信息的时候先更新子项的数据再更新父项的数据,如:

先volumes_ssd\volumes_sata,再volumes

如需更多细节了解,可参见(以下内容引用他人文章内容):

很多原因可能导致volume 进入error或者error_deleting状态,此时无法再执行delete操作。这种情况大体分为两类:

1.当执行cinder delete时,cinder连接不到ceph mon,导致删除失败。此时我们使用rbd命令能够找到cinder volume对应的image:

rbd ls -p openstack-00 | grep volume_id

如果存在记录,则说明可能属于此种情况,此时处理流程比较简单,我们只要reset-state然后再执行即可:

cinder reset-state volume_id
cinder delete volume_id

如果还是删除失败,检查下是不是cinder-volume跑了多个实例,比如41节点跑了,42节点也有,则会删除失败,这个问题我们也遇到过,只要把多余cinder-volume实例中止即可,然后重复以上步骤。

2.当执行cinder delete时,cinder连接不到数据库,此时由于没有事务同步,导致ceph已经删除对应的image,但没有同步状态到数据库中,此时volume可能处于available或者deleting状态,如果再次执行delete操作,显然cinder已经找不到对应的image,所以会抛出错误异常,此时cinder volume会把它设为error_deleting状态,并且无法通过reset-state删除。通过以下脚本,验证是否属于该类故障:

rbd ls -p openstack-00 | grep volume_id

如果匹配不到该volume id,则判定属于该类故障。

此类故障无法通过cinder 命令行工具处理,只能手动修改数据库,标识其为已删除状态(通常不直接删除记录),需要修改cinder数据库的volumes表,修改deleted字段为1(整型的1,不是字符串),status字段修改为"deleted",deleted_at可修改为"now()",也可以不修改。

update volumes set deleted=1 where id = "xxx";

云硬盘error、error deleting、deleting状态(数据库基本操作小记)的更多相关文章

  1. Windows Server 2012 云硬盘如何挂载

    那么首先科普一下,云服务器的数据盘(也就是我们买的云硬盘)默认是脱机状态,不自动挂载的.下面来教大家win2012环境如何挂载硬盘,其实和03.08的大同小异就是入口不同了.   点击“工具”中的“计 ...

  2. Web service request SetParameters to Report Server http://host/reportserver failed. Error: 请求因 HTTP 状态 401 失败: Unauthorized

    迁移CRM服务器完成后在访问CRM的内部报表时报错,在查看应用服务器的日志时发现报"Web service request SetParameters to Report Server ht ...

  3. error C2471: 无法更新程序数据库 vc90.pdb

    error C2471: 无法更新程序数据库“d:/Work/ Project/debug/vc90.pdb” fatal error C1083: 无法打开程序数据库文件:“d:/Work/ Pro ...

  4. error C2471: 无法更新程序数据库

    这段时间在使用VS做一个项目.在使用过程中,今天遇到了一个问题,也就是题目所说的那样: error C2471: 无法更新程序数据库.之后在网上搜了一下,得到了两种解决方案,两种方案分别如下: (一) ...

  5. OpenStack实践系列⑨云硬盘服务Cinder

    OpenStack实践系列⑨云硬盘服务Cinder八.cinder8.1存储的三大分类 块存储:硬盘,磁盘阵列DAS,SAN存储 文件存储:nfs,GluserFS,Ceph(PB级分布式文件系统), ...

  6. 复盘价值1000万的腾讯云硬盘固件"BUG"

    摘要: 除了吃瓜,还是得吸取教训啊同学们! 这次,我从纯技术角度分析腾讯云与前沿数控的磁盘数据丢失事件,不站队. 硬盘门 这里说的硬盘门不是10年前陈老师的那一次,而聊的是最近"腾讯云&qu ...

  7. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(2)--云硬盘等后续配置

    继上一篇博客介绍了完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建,本篇继续讲述后续部分的内容 1 虚拟机相关1.1 虚拟机位置介绍 openstack上创建的 ...

  8. 阿里云CentOs服务器 安装与配置mysql数据库

    阿里云CentOs服务器 安装与配置mysql数据库 以上为Linux安装mysql数据库 Linux 安装mysql 数据库 一下为mysql 安装教程 Using username "r ...

  9. Error: Error setting TTL index on collection : sessions

    Error: Error setting TTL index on collection : sessions 一.步骤一: 这个问题一般是直接升级 mongodb和connect-mongo的版本为 ...

随机推荐

  1. bulk collect no_data_found exception

    Bulk collect当没有数据抛出异常跟implicit cursor 处理不一样. 先看一下implicit cursor的处理吧: cl scr; DECLARE l_descr hardwa ...

  2. KVO 键值观察者

    KVO(键值观察者) //监听的创建 -(id)initChildren:(Person *)person { self = [super init]; if (self != nil) { //拥有 ...

  3. 什么是BFC?(转载)

    在解释 BFC 是什么之前,需要先介绍 Box.Formatting Context的概念. Box: CSS布局的基本单位 Box 是 CSS 布局的对象和基本单位, 直观点来说,就是一个页面是由很 ...

  4. Ubuntu14.04下解压rar压缩包

    下载安装rarlinux安装 rarlinux官方网站下载地址:http://www.rarsoft.com/download.htm 安装(以我下载的rarlinux-x64-5.1.1.tar.g ...

  5. FatMouse's Speed——J

    J. FatMouse's Speed FatMouse believes that the fatter a mouse is, the faster it runs. To disprove th ...

  6. 初用idea建立javaweb遇到的问题与心得

    1.直接用idea建立的web项目,其自动生成的web.xml里version=3.1,这样的话建立servlet-name等标签会报错(因为3.1不支持这种做法,更提倡用注解的办法),解决办法是将w ...

  7. Oracle ORA-01722: 无效数字 处理方法

    C# + Oralce 10G 项目中 有用参数处理Update语句.参数命名和表字段同名.执行报错: ORA-01722: 无效数字 后修改所有的参数和对应字段不同.解决. 修改前: StringB ...

  8. Windows 7 常用快捷键

    常用的快捷键 Win键+D 回到桌面/当前界面(切换)Win键+M 回到桌面Win键+E 资源管理器Win键+R 运行 Win键+U 控制面板->所有控制面板项->轻松访问中心 Win键+ ...

  9. Solr Python API : SolrCloudpy 与 Pysolr 的 对比

    http://ae.yyuap.com/pages/viewpage.action?pageId=920314 SolrCloudpy文档:http://solrcloudpy.github.io/s ...

  10. js 时间函数封装

    html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...