今天討論 cinder 如何刪除 volume 。api
狀態爲 Available 的 volume 纔可以被 delete。若是 volume 當前已經 attach 到 instance,須要先 detach 後才能 delete。安全
Delete操做實現比較簡單,流程圖以下:spa
向 cinder-api 發送 delete 請求日誌
cinder-api 發送消息ci
cinder-volume 執行 delete 操做rem
下面咱們詳細討論每個步驟。請求
客戶(能夠是 OpenStack 最終用戶,也能夠是其餘程序)向 cinder-api 發送請求:「請 delete 指定的 volume。程序
這裏咱們將 delete volume 「vol-2」方法
進入 GUI 操做菜單 Project -> Compute -> Volumes。im
選擇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,方法爲 delete。
cinder-volume 執行 lvremove 命令 delete volume。 日誌爲 /opt/stack/logs/c-vol.log。
這裏比較有意思的是:cinder-volume 執行的是「安全」刪除。 所謂「安全」實際上就是將 volume 中的數據抹掉,LVM driver 使用的是 dd 操做將 LV 的數據清零。日誌以下:
而後刪除 LV。
以上就是 delete volume 的分析,下一節咱們討論 snapshot 操做。