ceph对接openstack故障问题解决

Posted 霍金181

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ceph对接openstack故障问题解决相关的知识,希望对你有一定的参考价值。

cinder卷删除不掉解决办法

现象:P版环境创建的卷虚机 人为或代码干预导致虚机删除掉但是卷还在in-use的状态,此种情况想要detach卷报错虚机不存在,

想删除卷也删不掉

Delete for volume b80074d1-b9fa-4833-98d7-e19dfeec00b0 failed: Invalid volume: Volume status must be available or error or error_restoring or error_extending or error_managing and must not be migrating, attached, belong to a group, have snapshots or be disassociated from snapshots after volume transfer. (HTTP 400) (Request-ID: req-744fc7a7-1920-48d3-91b4-b3348962f602)

ERROR: Unable to delete any of the specified volumes. 

ceph对接openstack故障问题解决_json

原因为 nova删除虚机时自动detach卷,但由于rabbitmq或者其他原因导致卸载卷不成功,但nova未能对此结果处理,还是将虚机删除掉了,就会导致这种情况

解决方法如下:

在控制节点先show一下问题卷 加上debug 调取接口

# cinder --debug show d6c76247-ad3b-442e-ae97-98a2ccd74362 

ceph对接openstack故障问题解决_d3_02

# openstack token issue

获取token认证

ceph对接openstack故障问题解决_5e_03

最后还要去数据库查询

volume_attachment表格中这个卷对应的挂载的id

 select * from volume_attachment where volume_id=d6c76247-ad3b-442e-ae97-98a2ccd74362; 

ceph对接openstack故障问题解决_5e_04

以上查询到的信息集成修复接口

curl -g -i -X POST  ​​http://10.76.188.29:8776/v3/81e5890a537a4e70ba4038c15ca55bc4/volumes/d6c76247-ad3b-442e-ae97-98a2ccd74362​​​/action -H "User-Agent: python-cinderclient" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-Auth-Token: gAAAAABc51ltN2C5nhoDAigmpisBL2HnlL9osbTMFOjSnHWnkUK_LqHWi81Jx2r_Iq7XB9p967HnzxOARB3S0b_R4XfvzAA_3KsYdyufvTXjKQS2Lk6Kb3VR8d92SgBb9CB0DL3SbGTjUuj4ZvppTa-dYDLgiO2R6n29BJeJtGyp93GQ73bJE9k" -d "os-detach": "attachment_id": "ef3a3d58-b6b3-47bf-98f4-2f6b587eb61c"

控制节点执行完此命令 重新查询该卷 已经变为了available状态 重新执行cinder delete id 删除掉就可以了;



利用rbd命令删除一个镜像文件的快照----待纠正---出错版

查看该镜像的快照

[root@node1 ~]# rbd snap ls -p volumes volume-79413731-79d6-48a2-a862-f70e8299ff62 SNAPID NAME SIZE TIMESTAMP

28 snapshot-37d6ef9f-a583-4997-9763-b9e455c7cdba 50 GiB Fri May 31 10:17:23 2019

例子:快照所在的池/快照所在的镜像文件@快照删除该镜像的快照: [root@node1 ~]# rbd snap rm volumes/volume-79413731-79d6-48a2-a862-f70e8299ff62@snapshot-37d6ef9f-a583-4997-9763-b9e455c7cdba Removing snap: 0% complete...failed. rbd: snapshot snapshot-37d6ef9f-a583-4997-9763-b9e455c7cdba is protected from removal.

上面不能删除显示的报错信息是此快照备写保护了,下面命令是删除写保护后再进行删除。

[root@os-node101 ~]# rbd snap unprotect volumes/volume-7687988d-16ef-4814-8a2c3fbd85e928e4@snapshot-ee7862aa-825e-4004-9587-879d60430a12 [root@os-node101 ~]# rbd snap rm volumes/volume-7687988d-16ef-4814-8a2c3fbd85e928e4@snapshot-ee7862aa-825e-4004-9587-879d60430a12

删除一个镜像文件的所有快照

[root@os-node101 ~]# rbd snap purge -p volumes volume-7687988d-16ef-4814- 8a2c-3fbd85e928e4 Removing all snapshots: 100% complete...done.


删除 OpenStack Nova Volume 时遇到的 error_deleting 问题

(1)、进入数据库

     mysql-uroot –p

(2)、查看数据库信息

     mysql>show databases;

ceph对接openstack故障问题解决_json_05

(3)、进入cinder数据库

     mysql> use cinder;

 (4)、查看cinder数据库表信息

ceph对接openstack故障问题解决_d3_06

(5)查看error_deleting 状态volumes

mysql> select status,id from volumes wherestatus=error_deleting;

ceph对接openstack故障问题解决_5e_07

(6)变更error_deleting状态

mysql>update volumes setstatus=available where id=eb9b6b3e-8c4d-4e0b-988c-4eb6fa77c052;

     7)再次查看问题卷的状态

      mysql> select status,id from volumeswhere id=eb9b6b3e-8c4d-4e0b-988c-4eb6fa77c052;

ceph对接openstack故障问题解决_5e_08




以上是关于ceph对接openstack故障问题解决的主要内容,如果未能解决你的问题,请参考以下文章

Openstack对接两套Ceph

ceph与openstack的对接集成

ceph对接openstack

Openstack对接Ceph时的错误

openstack K版本和ceph对接

ceph对接openstack环境