08.存儲Cinder→5.場景學習→05.Extend Volume

  1. 爲了保護現有數據,cinder 不容許縮小 volume。
  2. Extend 操做用於擴大 Volume 的容量,狀態爲 Available 的 volume 纔可以被 extend。
  3. 若是 volume 當前已經 attach 給 instance(狀態變爲In-use),須要先 detach 後才能 extend。
描述 詳細
  1. 向 cinder-api 發送 extend 請求
    1. 客戶(能夠是 OpenStack 最終用戶,也能夠是其餘程序)向 cinder-api 發送請求:「請 extend 指定的 volume。」
    2. 這裏咱們將 extend volume 「vol-1」。進入 GUI 操做菜單 Project -> Volumes -> Volumes。
    3. vol-1 當前大小爲 1GB。其在存儲節點上對應的 LV 信息以下:
    4. 選擇 volume 「vol-1」,點擊「Extend Volume」。指定新容量爲 3GB,點擊 「Extend Volume」。
  1. cinder-api 將接收到 extend volume 的請求
    1. 查看c-api日誌文件
1
2
3
4
Jun 20 18:51:46 controller devstack@c-api.service[31309]: 
INFO cinder.api.openstack.wsgi 
[None req-e2d3a028-8398-4d3f-80cd-367a71c12fca admin admin] 
POST http://172.16.1.17/volume/v3/51743f081cb7477f9a1f4ccdf6490d8e/volumes/f0a54...
1
2
3
4
5
Jun 20 18:51:46 controller devstack@c-api.service[31309]: 
DEBUG cinder.api.openstack.wsgi 
[None req-e2d3a028-8398-4d3f-80cd-367a71c12fca admin admin] 
Action body: {"os-extend": {"new_size": 3 
{{(pid=31312) get_method /opt/stack/cinder/cinder/api/openstack/wsgi.py:985
  1. cinder-api 發送消息
    1. cinder-api 發送消息 extend 消息。cinder-api 沒有打印發送消息的日誌,只能經過源代碼查看。/opt/stack/cinder/cinder/volume/api.py,方法爲 extend。
cloudman的:
個人:
爲何還有cinder-scheuler的參與?查看c-sch日誌
1
2
3
4
5
6
Jun 20 18:51:47 controller cinder-scheduler[32043]: 
DEBUG cinder.scheduler.filters.capacity_filter 
[None req-e2d3a028-8398-4d3f-80cd-367a71c12fca admin None] 
Checking if host controller@lvmdriver-1#lvmdriver-1 can extend the volume 
f0a54ac7-5423-4794-8883-d753f6a903cd in 2 GB 
{{(pid=32043) backend_passes /opt/stack/cinder/cinder/scheduler/filters/capacity_filter.py:55
  1. cinder-volume extend volume
    1. cinder-volume 執行 lvextend 命令 extend volume。查看c-vol日誌:
1
2
3
4
5
6
Jun 20 18:51:47 controller cinder-volume[304]: 
DEBUG oslo_concurrency.processutils 
[None req-e2d3a028-8398-4d3f-80cd-367a71c12fca admin None] 
Running cmd (subprocess): sudo cinder-rootwrap /etc/cinder/rootwrap.conf env LC_ALL=C 
lvextend -L 3g stack-volumes-lvmdriver-1/volume-f0a54ac7-5423-4794-8883-d753f6a903cd 
{{(pid=460) execute /usr/local/lib/python2.7/dist-packages/oslo_concurrency/processutils.py:372
1
2
3
4
Jun 20 18:51:49 controller cinder-volume[304]: 
INFO cinder.volume.manager 
[None req-e2d3a028-8398-4d3f-80cd-367a71c12fca admin None] 
Extend volume completed successfully.
  1. 結果:
    1. LV 被 extend 到 3GB
    2. GUI 也會更新 volume 的狀態信息
相關文章
相關標籤/搜索