08.存儲Cinder→3.Cinder架構→2.物理部署方案

  1. Cinder 的服務會部署在兩類節點上,控制節點和存儲節點。
    1. 控制節點上都運行了哪些 cinder-* 子服務,RabbitMQ 和 MySQL 一般是放在控制節點上的。
      cloudman配置的 我配的devstack


      cinder-volume 不是應該部署在存儲節點上嗎?要回答這個問題,首先要搞清楚一個事實:OpenStack 是分佈式系統,其每一個子服務均可以部署在任何地方,只要網絡可以連通。不管是哪一個節點,只要上面運行了 cinder-volume,它就是一個存儲節點,固然,該節點上也能夠運行其餘 OpenStack服務。
      能夠將全部服務都放在一臺物理機上,用做一個 All-in-One 的測試環境;而在生產環境中能夠將服務部署在多臺物理機上,得到更好的性能和高可用。


    2. 計算節點上都運行了哪些 cinder-* 子服務
      cloudman配置的 我配的devstack


  2. 能夠用 cinder service-list 查看 cinder-* 子服務都分佈在哪些節點上
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    root@compute:~# cinder service-list
    +------------------+------------------------+------+---------+-------+----------------------------+-----------------+
    | Binary           | Host                   | Zone | Status  | State | Updated_at                 | Disabled Reason |
    +------------------+------------------------+------+---------+-------+----------------------------+-----------------+
    | cinder-scheduler | controller             | nova | enabled | up    | 2019-06-10T06:04:23.000000 | -               |
    | cinder-volume    | controller@lvmdriver-1 | nova | enabled | up    | 2019-06-10T06:04:25.000000 | -               |
    +------------------+------------------------+------+---------+-------+----------------------------+-----------------+
    root@compute:~# openstack volume service list
    +------------------+------------------------+------+---------+-------+----------------------------+
    | Binary           | Host                   | Zone | Status  | State | Updated At                 |
    +------------------+------------------------+------+---------+-------+----------------------------+
    | cinder-volume    | controller@lvmdriver-1 | nova | enabled | up    | 2019-06-10T06:04:35.000000 |
    | cinder-scheduler | controller             | nova | enabled | up    | 2019-06-10T06:04:33.000000 |
    +------------------+------------------------+------+---------+-------+----------------------------+
  3. 還有一個問題:volume provider 放在那裏?通常來說,volume provider 是獨立的。cinder-volume 使用 driver 與 volume provider 通訊並協調工做。因此只須要將 driver 與 cinder-volume 放到一塊兒就能夠了。在 cinder-volume 的源代碼目錄下有不少 driver,支持不一樣的 volume provider。
cloudman配置的(使用devstack) 我配的devstack
非devstack能夠在/usr/lib/python2.7/dist-packages/cinder/volume/drivers
查看


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
root@controller:~# ll /opt/stack/cinder/cinder/volume/drivers/
total 1012
drwxr-xr-x 26 stack stack   4096 Jun  8 00:53 ./
drwxr-xr-x  5 stack stack   4096 Jun  8 00:53 ../
drwxr-xr-x  3 stack stack   4096 Jun  7 23:21 coprhd/
drwxr-xr-x  2 stack stack   4096 Jun  7 23:21 datacore/
drwxr-xr-x  2 stack stack   4096 Jun  7 23:21 datera/
drwxr-xr-x  7 stack stack   4096 Jun  7 23:21 dell_emc/
drwxr-xr-x  2 stack stack   4096 Jun  7 23:21 disco/
drwxr-xr-x  2 stack stack   4096 Jun  7 23:21 dothill/
-rw-r--r--  1 stack stack  41930 Jun  7 23:21 drbdmanagedrv.py
drwxr-xr-x  2 stack stack   4096 Jun  7 23:21 fujitsu/
drwxr-xr-x  2 stack stack   4096 Jun  7 23:21 fusionstorage/
-rw-r--r--  1 stack stack  26024 Jun  7 23:21 hgst.py
drwxr-xr-x  2 stack stack   4096 Jun  7 23:21 hpe/
drwxr-xr-x  2 stack stack   4096 Jun  7 23:21 huawei/
drwxr-xr-x  4 stack stack   4096 Jun  7 23:21 ibm/
-rw-r--r--  1 stack stack  34695 Jun  7 23:21 infinidat.py
-rw-r--r--  1 stack stack      0 Jun  7 23:21 __init__.py
-rw-r--r--  1 stack stack    138 Jun  8 00:53 __init__.pyc
drwxr-xr-x  3 stack stack   4096 Jun  7 23:21 inspur/
drwxr-xr-x  2 stack stack   4096 Jun  7 23:21 kaminario/
drwxr-xr-x  2 stack stack   4096 Jun  7 23:21 lenovo/
-rw-r--r-- 1 stack stack 37661 Jun 7 23:21 lvm.py
-rw-r--r--  1 stack stack  26874 Jun  8 00:53 lvm.pyc
drwxr-xr-x  2 stack stack   4096 Jun  7 23:21 nec/
drwxr-xr-x  4 stack stack   4096 Jun  7 23:21 netapp/
drwxr-xr-x  3 stack stack   4096 Jun  7 23:21 nexenta/
-rw-r--r-- 1 stack stack 26235 Jun 7 23:21 nfs.py
...
還有rbd.py
相關文章
相關標籤/搜索