OpenStack+Ceph云平台卷清理操作

本文共有2236个字,关键词:

云平台运维:openstack+ceph
卷清理:

建议使用openstack环境的命令来进行删除,如非必要不适用ceph的底层命令来进行卷的删除。
先source授权文件,或者自行声明
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=PassWord
export OS_AUTH_URL=http://IP:35357/v3
export OS_INTERFACE=internal
export OS_IDENTITY_API_VERSION=3
export OS_REGION_NAME=RegionOne
export OS_AUTH_PLUGIN=password
cinder snapshot-show Snap_Name    #查看快照
cinder snapshot-delete Snap_Name    #删除快照

注意!!卷被锁住的情况,需要将卷先解锁,再将卷进行删除。

~]# rbd lock list Pool_Name/Volume_Name
~]# rbd lock remove Pool_Name/Volume_Name

在dashboard界面上查看需要处理的【卷ID】、【快照ID】
ceph_mon容器中进行操作:

~]# rados lspools    #查看ceph集群中有多少个pool
~]# rbd ls -l -p Pool_Name |grep 【ID】    #查看ID是否过滤出来
~]# rbd snap purge Pool_Name/Volume_Name    #清除指定镜像的所有快照
    #如果清除失败会给出快照的名称,使用此名称进行操作
~]# rbd snap unprotect Pool_Name/Volume_Name@Snapshot_Name    #移除保护状态
如果移除失败,在数据库中查看该快照是否还创建了其他卷。
~]# mysql -uroot -pPassWord
>use cinder;
>select * from volumes where snapshot_id='a4eb968e-b068-4d0d-be70-9faec40a6e8e'\G;    #通过快照ID查看是否还有卷关联

#一般情况下存在状态为in_use的状态的卷相关联。
>select * from volumes where id='e4568665-bde3-47dd-8748-18f8362a9345'\G;
#查看卷的名称是否可以删除,如可以删除则删除。
#如果卷不能删除,则将把快照的信息复制给子克隆,拍平子镜像
~]# rbd flatten Pool_Name/Volume_Name

~]# rbd snap purge Pool_Name/Volume_Name    #再次清除指定镜像的所有快照
~]# rbd rm Pool_Name/Volume_Name    #删除指定卷

#当删除成功后,更改数据库中的内容(需要更改两处内容)
#我们不能直接删除数据库中的内容,而是更改数据库中的对应的值。
>set foreign_key_checks=0;    #关闭数据库的外键约束
>update volumes set status='deleted' where id="8b63779e-0619-4353-876b-499ea1f68b8f";    #更改状态为已删除
>update volumes set deleted=1 where id="8b63779e-0619-4353-876b-499ea1f68b8f";    #更改删除状态为1(已删除)
>set foreign_key_checks=1;    #开启数据库的外键约束

dashboard界面刷新快照闪现(或者删除快照),修改数据库两处内容:

>use cinder;
>show tables;
>describe snapshots;
>select * from snapshots where volume-id='Volume_ID';
>set foreign_key_checks=0;    #临时关闭外键依赖
>update snapshots set status='deleted' where volume_id='Volume_ID';
>update snapshots set deleted=1 where volume_id='Volume_ID';
>set foreign_key_checks=1;    #开启外键依赖

注:deleted的值:1为删除、0为可用

「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」

几人行

(๑>ڡ<)☆谢谢老板~

使用微信扫描二维码完成支付

版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。
添加新评论
已有 2 条评论