云平台运维: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为可用
「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」
(๑>ڡ<)☆谢谢老板~
使用微信扫描二维码完成支付

呵呵