天天看點

Delete Volume 操作 - 每天5分鐘玩轉 OpenStack(57)向 cinder-api 發送 delete 請求cinder-api 發送消息cinder-volume delete volume

今天讨論 cinder 如何删除 volume 。

狀态為 Available 的 volume 才能夠被 delete。如果 volume 目前已經 attach 到 instance,需要先 detach 後才能 delete。

Delete操作實作比較簡單,流程圖如下:

向 cinder-api 發送 delete 請求

cinder-api 發送消息

cinder-volume 執行 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 發送消息 delete 消息。cinder-api 沒有列印發送消息的日志,隻能通過源代碼檢視 /opt/stack/cinder/cinder/volume/api.py,方法為 extend。

cinder-volume 執行 lvremove 指令 delete volume。 日志為 /opt/stack/logs/c-vol.log。

這裡比較有意思的是:cinder-volume 執行的是“安全”删除。 所謂“安全”實際上就是将 volume 中的資料抹掉,LVM driver 使用的是 dd 操作将 LV 的資料清零。日志如下:

然後删除 LV。

以上就是 delete volume 的分析,下一節我們讨論 snapshot 操作。

本文轉自CloudMan6 51CTO部落格,原文連結:http://blog.51cto.com/cloudman/1812476

繼續閱讀