您的位置:首页 > 运维架构

Delete Volume 操作 - 每天5分钟玩转 OpenStack(57)

2016-07-08 06:59 363 查看


今天讨论 cinder 如何删除 volume 。

状态为 Available 的 volume 才能够被 delete。如果 volume 当前已经 attach 到 instance,需要先 detach 后才能 delete。

Delete操作实现比较简单,流程图如下:



向 cinder-api 发送 delete 请求

cinder-api 发送消息

cinder-volume 执行 delete 操作

下面我们详细讨论每一个步骤。

向 cinder-api 发送 delete 请求

客户(可以是 OpenStack 最终用户,也可以是其他程序)向 cinder-api 发送请求:“请 delete 指定的 volume。

这里我们将 delete volume “vol-2”

进入 GUI 操作菜单 Project -> Compute -> Volumes。



选择volume “vol-2”,点击“Delete Volume”。



再次确认。



cinder-api 将接收到 delete volume 的请求。日志文件在 /opt/stack/logs/c-api.log。



cinder-api 发送消息

cinder-api 发送消息 delete 消息。cinder-api 没有打印发送消息的日志,只能通过源代码查看 /opt/stack/cinder/cinder/volume/api.py,方法为 extend。



cinder-volume delete volume

cinder-volume 执行 lvremove 命令 delete volume。

日志为 /opt/stack/logs/c-vol.log。



这里比较有意思的是:cinder-volume 执行的是“安全”删除

所谓“安全”实际上就是将 volume 中的数据抹掉,LVM driver 使用的是 dd 操作将 LV 的数据清零。日志如下:



然后删除 LV。



以上就是 delete volume 的分析,下一节我们讨论 snapshot 操作。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: