Delete Volume 操作 - 每天5分鍾玩轉 OpenStack(57)


今天討論 cinder 如何刪除 volume 。

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

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

image413.png

  1. 向 cinder-api 發送 delete 請求

  2. cinder-api 發送消息

  3. 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 操作。

 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM