ceph对接openstack故障问题解决

人生难得几回搏,此时不搏待何时。这篇文章主要讲述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. 

原因为 nova删除虚机时自动detach卷,但由于rabbitmq或者其他原因导致卸载卷不成功,但nova未能对此结果处理,还是将虚机删除掉了,就会导致这种情况
解决方法如下:
在控制节点先show一下问题卷 加上debug 调取接口
# cinder --debug show d6c76247-ad3b-442e-ae97-98a2ccd74362 
【ceph对接openstack故障问题解决】
# openstack token issue
获取token认证

最后还要去数据库查询
volume_attachment表格中这个卷对应的挂载的id
  select * from volume_attachment where volume_id=d6c76247-ad3b-442e-ae97-98a2ccd74362;  

以上查询到的信息集成修复接口
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 NAMESIZE 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;

(3)、进入cinder数据库
          mysql> use cinder;
  (4)、查看cinder数据库表信息

(5)查看error_deleting 状态volumes
mysql> select status,id from volumes wherestatus=error_deleting;

(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;








    推荐阅读