前面咱們討論了 volume 的 attach 和 detach 操做,今天討論如何擴大 volume 的容量。爲了保護現有數據,cinder 不容許縮小 volume。web
Extend 操做用於擴大 Volume 的容量,狀態爲 Available 的 volume 纔可以被 extend。若是 volume 當前已經 attach 給 instance,須要先 detach 後才能 extend。 api
Extend 實現比較簡單,流程圖以下: spa
向 cinder-api 發送 extend 請求 日誌
cinder-api 發送消息 orm
cinder-volume 執行 extend 操做 ci
下面咱們詳細討論每個步驟。 it
客戶(能夠是 OpenStack 最終用戶,也能夠是其餘程序)向 cinder-api 發送請求:「請 extend 指定的 volume。 class
這裏咱們將 extend volume 「vol-2」。 import
進入 GUI 操做菜單 Project -> Compute -> Volumes。 sed
vol-2 當前大小爲 1GB。其在存儲節點上對應的 LV 信息以下:
選擇 volume 「vol-2」,點擊 「Extend Volume」。
指定新的容量爲 3GB,點擊 「Extend Volume」。
cinder-api 將接收到 extend volume 的請求。日誌文件在 /opt/stack/logs/c-api.log。
cinder-api 發送消息 extend 消息。cinder-api 沒有打印發送消息的日誌,只能經過源代碼查看。/opt/stack/cinder/cinder/volume/api.py,方法爲 extend。
cinder-volume 執行 lvextend 命令 extend volume。 日誌爲 /opt/stack/logs/c-vol.log
LV 被 extend 到 3GB。
Extend 操做完成後,GUI 也會更新 volume 的狀態信息。
以上就是 extend volume 的分析,下一節咱們討論 delete 操做。