精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

深入理解Openstack QoS控制實(shí)現(xiàn)與實(shí)踐

開發(fā) 開發(fā)工具 存儲 OpenStack
QoS是一種控制機(jī)制,提供針對不同用戶或者不同數(shù)據(jù)流采用相應(yīng)不同的優(yōu)先級,或者根據(jù)應(yīng)用程序的要求,保證數(shù)據(jù)流的性能達(dá)到一定的水準(zhǔn)。

[[190331]]

0.什么是QoSFrom

Wikipedia:

Quality of service (QoS) is the overall performance of a telephony or computer network, particularly the performance seen by the users of the network. To quantitatively measure quality of service, several related aspects of the network service are often considered, such as error rates, bit rate, throughput, transmission delay, availability, jitter, etc.

簡單來說,QoS是一種控制機(jī)制,提供針對不同用戶或者不同數(shù)據(jù)流采用相應(yīng)不同的優(yōu)先級,或者根據(jù)應(yīng)用程序的要求,保證數(shù)據(jù)流的性能達(dá)到一定的水準(zhǔn)。QoS的保證對于容量有限的網(wǎng)絡(luò)來說是十分重要的,特別是對于流媒體應(yīng)用,例如VoIP和IPTV等,因?yàn)檫@些應(yīng)用常常需要固定的傳輸率,對延時也比較敏感。

QoS通常指網(wǎng)絡(luò)上的數(shù)據(jù)流控制,本文討論的QoS則更廣泛些,不僅包含了傳統(tǒng)的網(wǎng)絡(luò)數(shù)據(jù)流控制(即網(wǎng)絡(luò)IO控制),還包括了本地磁盤的讀寫控制,比如IOPS等。其中包括兩種類型:

  • 質(zhì)量控制:通過提供不同性能的硬件設(shè)備來滿足不同應(yīng)用的性能需求,比如存儲設(shè)備有SATA、SSD、RAID等。
  • 量化控制:針對應(yīng)用,對其流量進(jìn)行嚴(yán)格控制,比如IOPS、網(wǎng)絡(luò)帶寬等。

Openstack同時支持以上兩種QoS控制,這些組件包括但不限于計算服務(wù)Nova、網(wǎng)絡(luò)服務(wù)Neutron、塊存儲服務(wù)Cinder、對象存儲Swift等,Ceph雖然不是Openstack的組件之一,但通常作為Openstack的存儲后端,因此本文也會對其進(jìn)行簡單的介紹。

本文旨在歸納總結(jié)Openstack如何在應(yīng)用層實(shí)現(xiàn)QoS控制,讀者如果對底層實(shí)現(xiàn)原理感興趣,可以查閱相關(guān)資料。

1.Ceph

Ceph是近年來非常火熱的開源統(tǒng)一分布式存儲系統(tǒng),最初是Sage Weil在University of California, Santa Cruz(UCSC)的PhD研究內(nèi)容,目前由Inktank公司掌控Ceph的開發(fā)。Ceph同時支持塊存儲(LVM、裸硬盤)、對象存儲(S3、Swift)、文件系統(tǒng)存儲(HDFS、GFS),并且具有高擴(kuò)展性、高可靠性、高性能的優(yōu)點(diǎn)。

Ceph其中最廣泛的應(yīng)用之一是作為Openstack的存儲后端,為Openstack提供統(tǒng)一分布式存儲服務(wù)。Openstack組件中Nova、Glance、Cinder都支持直接對接Ceph,云主機(jī)的在線遷移、故障轉(zhuǎn)移、鏡像存儲等功能都依賴于Ceph提供的統(tǒng)一分布式存儲服務(wù)。

實(shí)際在部署時不同的機(jī)房或者機(jī)架可能配置不同的存儲設(shè)備,比如SSD固態(tài)存儲設(shè)備、SATA普通硬盤等,rbd image實(shí)例使用不同的存儲后端,顯然能夠提供不同的性能。

我們知道ceph是通過crush算法和crush map決定對象如何分布存儲的,cursh map描述了存儲設(shè)備的層級拓?fù)?可以是物理拓?fù)洌热鐧C(jī)架、機(jī)房、區(qū)域等,也可以是邏輯拓?fù)洌热绻收嫌颉⑿阅艿?,整個map圖是一個樹狀結(jié)構(gòu),如圖:

  1. ssd 
  2.                /    |     \ 
  3.               /     |      \ 
  4.            rack1  rack2   rack3 
  5.           /    \   ...    /    \ 
  6.        host-1  host-2 host-m  host-n 
  7.        /     \   ...   ...    /    \ 
  8.      osd1   osd2            osd-m  osd-n 

其中中間節(jié)點(diǎn)由自定義的bucket type實(shí)例構(gòu)成,通常和物理拓?fù)涿Q一致,比如room、rack、host等,葉子節(jié)點(diǎn)是真正的存儲設(shè)備,對應(yīng)一塊硬盤或者分區(qū)。根據(jù)樹的結(jié)構(gòu),每個存儲設(shè)備(葉子)有唯一一條路徑到root節(jié)點(diǎn),該路徑定義為crush location,比如:

  1. root=ssd rack=rack1 host=host-1 

crush map rule能夠制定某個pool的數(shù)據(jù)放置策略,rule的格式如下:

  1. rule <rulename> { 
  2.  
  3.         ruleset <ruleset> 
  4.         type [ replicated | erasure ] 
  5.         min_size <min-size
  6.         max_size <max-size
  7.         step take <bucket-name
  8.         step [choose|chooseleaf] [firstn|indep] <N> <bucket-type> 
  9.         step emit 

其中ruleset為rule的id,type用于區(qū)分是存儲驅(qū)動設(shè)備(replicated)還是RAID。min_size為最小副本數(shù),如果副本數(shù)小于這個數(shù),crush將不會選這個rule,同理max_size為最大副本數(shù)。step take開始選擇root(注意圖上我們只畫了一棵樹,但crush map可以有多棵樹,因此存在多個root type),choose表示從子樹種選擇對應(yīng)的bucket type,其中N表示選擇的數(shù)量:

  • N == 0, 表示設(shè)置為pool副本數(shù)量;
  • N > 0 && N < replicas,表示真實(shí)的數(shù)量;
  • N < 0,表示副本數(shù)減去該數(shù)的絕對值。

比如:

  1. step choose firstn 1 type rack 

表示從當(dāng)前位置向下迭代遍歷隨機(jī)選擇一個rack類型。

該step必須位于take或者choose之下。

chooseleaf和choose類似,唯一不同的是在選擇的每個bucket中再從中選擇一個葉子節(jié)點(diǎn)。

以官方例子說明:

  1. rule ssd-primary { 
  2.               ruleset 5 
  3.               type replicated 
  4.               min_size 5 
  5.               max_size 10 
  6.               step take ssd 
  7.               step chooseleaf firstn 1 type host 
  8.               step emit 
  9.               step take sata 
  10.               step chooseleaf firstn -1 type host 
  11.               step emit 
  12.       } 

假設(shè)冗余副本數(shù)為3,則以上規(guī)則會首先從ssd中選擇其中一個host,然后在host中選擇其中一個osd作為主節(jié)點(diǎn),然后從sata中選擇3-1=2個host,分別從當(dāng)中選擇一個osd節(jié)點(diǎn),一共兩個osd節(jié)點(diǎn)作為副本節(jié)點(diǎn)。

注:

  • 主節(jié)點(diǎn)負(fù)責(zé)實(shí)際和client通信的節(jié)點(diǎn),而副本節(jié)點(diǎn)不會直接和client通信,但會和主節(jié)點(diǎn)保持?jǐn)?shù)據(jù)同步,當(dāng)主節(jié)點(diǎn)掛了,其中一個副本節(jié)點(diǎn)會接管主節(jié)點(diǎn)。
  • 在寫入數(shù)據(jù)時,主節(jié)點(diǎn)會同步到副本節(jié)點(diǎn),只有當(dāng)所有的副本節(jié)點(diǎn)都寫完后,主節(jié)點(diǎn)才算寫成功,因此ceph采取的是強(qiáng)一致性模型(而Swift是最終一致性模型)
  • 可以通過primary-affinity值設(shè)置選擇為主節(jié)點(diǎn)的概率,值為0表示不會被選擇為主節(jié)點(diǎn),值為1表示表示選擇為主節(jié)點(diǎn)的概率極大(考慮到有多個節(jié)點(diǎn)都為1的情況)。

關(guān)于crush map 和rule參考官方文檔

ceph中不同的pool可以定義不同的crush以及ruleset,從而可以實(shí)現(xiàn)不同的pool,選擇不同的osd,比如固定某個pool選擇ssd,另一個pool選擇sata,其中官方也有個例子:

  1. device 0 osd.0 
  2. device 1 osd.1 
  3. device 2 osd.2 
  4. device 3 osd.3 
  5. device 4 osd.4 
  6. device 5 osd.5 
  7. device 6 osd.6 
  8. device 7 osd.7 
  9.  
  10.       host ssd-server-1 { 
  11.               id -1 
  12.               alg straw 
  13.               hash 0 
  14.               item osd.0 weight 1.00 
  15.               item osd.1 weight 1.00 
  16.       } 
  17.  
  18.       host ssd-server-2 { 
  19.               id -2 
  20.               alg straw 
  21.               hash 0 
  22.               item osd.2 weight 1.00 
  23.               item osd.3 weight 1.00 
  24.       } 
  25.  
  26.       host sata-server-1 { 
  27.               id -3 
  28.               alg straw 
  29.               hash 0 
  30.               item osd.4 weight 1.00 
  31.               item osd.5 weight 1.00 
  32.       } 
  33.  
  34.       host sata-server-2 { 
  35.               id -4 
  36.               alg straw 
  37.               hash 0 
  38.               item osd.6 weight 1.00 
  39.               item osd.7 weight 1.00 
  40.       } 
  41.  
  42.       root sata { 
  43.               id -5 
  44.               alg straw 
  45.               hash 0 
  46.               item sata-server-1 weight 2.00 
  47.               item sata-server-2 weight 2.00 
  48.       } 
  49.  
  50.       root ssd { 
  51.               id -6 
  52.               alg straw 
  53.               hash 0 
  54.               item ssd-server-1 weight 2.00 
  55.               item ssd-server-2 weight 2.00 
  56.       } 
  57.  
  58.     
  59.       
  60.       rule sata { 
  61.               ruleset 1 
  62.               type replicated 
  63.               min_size 0 
  64.               max_size 10 
  65.               step take platter 
  66.               step chooseleaf firstn 0 type host 
  67.               step emit 
  68.       } 
  69.  
  70.       rule ssd { 
  71.               ruleset 2 
  72.               type replicated 
  73.               min_size 0 
  74.               max_size 4 
  75.               step take ssd 
  76.               step chooseleaf firstn 0 type host 
  77.               step emit 
  78.       } 

拓?fù)鋱D如下:

  1.   ssd             |             sata 
  2.          /        \         |          /        \ 
  3.         /          \        |         /          \ 
  4.        /            \       |        /            \ 
  5. ssd-server-1   ssd-server-2 | sata-server-1  sata-server-2 
  6.    /     \       /      \   |   /     \        /     \ 
  7.   /       \     /        \  |  /       \      /       \ 
  8. osd0     osd1 osd2     osd3 | osd4     osd5   osd6     osd7 

我們定義兩個rule,假設(shè)冗余副本數(shù)為3,一個是ssd,它會從ssd中(即左邊的樹中)中選擇osd,另一個是sata,從sata中(即右邊的樹種)選擇osd。

我們創(chuàng)建兩個pool,并關(guān)聯(lián)ruleset:

  1. ceph osd pool set sata crush_ruleset 1 
  2. ceph osd pool set ssd crush_ruleset 2 

通過以上方式我們實(shí)現(xiàn)了不同性能的ceph pool,實(shí)現(xiàn)QoS質(zhì)量控制。

那ceph是否支持量化控制呢,rbd目前好像并不支持控制,但可以通過qemu、kvm等控制讀寫速率。

2.Cinder

介紹完Ceph,接下來終于進(jìn)入Openstack正題,首先從Cinder談起。Cinder是Openstack的基礎(chǔ)組件之一,提供塊存儲服務(wù),類似AWS的EBS服務(wù)。但是Cinder本身并不提供塊服務(wù),而只是一個管理工具,由具體后端實(shí)現(xiàn),后端包括比如LVM、Ceph RBD等,Cinder通過調(diào)用對應(yīng)的驅(qū)動來完成volume的生命周期管理。

下面以Ceph RBD作為存儲后端為例,首先介紹如何實(shí)現(xiàn)volume的QoS質(zhì)量控制。Cinder支持多后端存儲,不同的后端通過不同的配置組區(qū)別開,如:

  1. [sata-ceph] 
  2. volume_backend_name=sata 
  3. rbd_pool=sata 
  4. volume_driver=cinder.volume.drivers.rbd.RBDDriver 
  5. rbd_ceph_conf=/etc/ceph/ceph.conf 
  6. ... 
  7.  
  8. [ssd-ceph] 
  9. volume_backend_name=ssd 
  10. rbd_pool=ssd 
  11. volume_driver=cinder.volume.drivers.rbd.RBDDriver 
  12. rbd_ceph_conf=/etc/ceph/ceph.conf 
  13. ... 

以上有兩個配置組,分別為sata-ceph和ssd-ceph,這里我們都使用了ceph rbd作為存儲后端,實(shí)際部署時可以是完全不同的存儲后端,比如混合rbd和LVM。以上我們指定了不同pool以及不同的后端名稱,后端名稱是為了方便后續(xù)創(chuàng)建volume type引用。我們由上面關(guān)于Ceph中介紹可知,不同的pool可以定義不同的rule從而選擇不同特性的硬件,如果能夠綁定Ceph pool和volume問題就解決了,值得慶幸的是,Cinder就是這么實(shí)現(xiàn)的。

Cinder自定義volume type,分別創(chuàng)建ssd和sata兩個volume type:

  1. cinder type-create ssd 
  2. cinder type-create sata 

創(chuàng)建完后type后綁定volume_backend_name從而實(shí)現(xiàn)與ceph pool關(guān)聯(lián)起來:

  1. cinder type-key sata set volume_backend_name=sata 
  2. cinder type-key ssd set volume_backend_name=ssd 

查看extra-specs:

  1. [root@server-39.0.lg.ustack.in ~ ]$ cinder extra-specs-list 
  2. +--------------------------------------+------+-----------------------------------+ 
  3. |                  ID                  | Name |            extra_specs            | 
  4. +--------------------------------------+------+-----------------------------------+ 
  5. | 1a0cb988-58a6-43bf-b4ea-199e0e02239b | sata | {u'volume_backend_name': u'sata'} | 
  6. | 38344c5c-b61b-4677-9a48-e70d723b8620 | ssd  |  {u'volume_backend_name': u'ssd'} | 
  7. +--------------------------------------+------+-----------------------------------+ 

此時只需要在創(chuàng)建時指定volume type就可以實(shí)現(xiàn)創(chuàng)建不同QoS性能的數(shù)據(jù)卷,比如:

  1. cinder create --volume-type ssd --display-name int32bit-test-ssd 1 

以上我們通過自定義volume type并綁定不同的后端實(shí)現(xiàn)了對volume訪問的QoS質(zhì)量控制,接下來我們介紹如何通過制定volume type實(shí)現(xiàn)不同的QoS量化控制。和前面的步驟類似,首先創(chuàng)建一個high-iops-type volume type:

  1. cinder type-create high-iops-type 

cinder通過qos實(shí)例對volume進(jìn)行量化控制,我們需要創(chuàng)建high-iops,設(shè)置讀最大iops為2000,寫最大iopos為1000:

cinder qos-create high-iops consumer="front-end" read_iops_sec=2000 write_iops_sec=1000

查看qos列表:

  1. $ cinder qos-list 
  2. +--------------------------------------+-----------+-----------+---------------------------------------------------------+ 
  3. |                  ID                  |    Name   |  Consumer |                          specs                          | 
  4. +--------------------------------------+-----------+-----------+---------------------------------------------------------+ 
  5. | 4ba70d30-eb36-4267-8ee5-5c9cc2f8af32 | high-iops | front-end | {u'write_iops_sec': u'1000', u'read_iops_sec': u'2000'} | 
  6. +--------------------------------------+-----------+-----------+---------------------------------------------------------+ 

其中consumer的合法值為front-end、back-end、both。front-end表示使用前端控制(hypervisor控制,會在libvirt xml文件中定義), 而back-end表示使用后端控制(cinder drivers,需要driver支持),both表示前后端同時進(jìn)行QoS控制。

最后綁定qos實(shí)例和volume type實(shí)例:

  1. QOS_SPEC_ID=4ba70d30-eb36-4267-8ee5-5c9cc2f8af32 
  2. VOLUME_TYPE_ID=26e33f06-e011-4cf7-a397-91a00ef0a233 
  3. cinder qos-associate $QOS_SPEC_ID $VOLUME_TYPE_ID 

查看綁定情況:

  1. $ cinder qos-get-association 4ba70d30-eb36-4267-8ee5-5c9cc2f8af32 
  2. +------------------+----------------+--------------------------------------+ 
  3. | Association_Type |      Name      |                  ID                  | 
  4. +------------------+----------------+--------------------------------------+ 
  5. |   volume_type    | high-iops-type | 26e33f06-e011-4cf7-a397-91a00ef0a233 | 
  6. +------------------+----------------+--------------------------------------+ 

下面我們創(chuàng)建一個volume驗(yàn)證其功能,我們創(chuàng)建時指定volume type為high-iops-type,并掛載到虛擬機(jī)中:

  1. cinder create --volume-type high-iops-type --display-name high-iops-test 1 
  2. SERVER_ID=1ea33417-b577-45cb-83a0-fc412e421811 
  3. VOLUME_ID=bb2ccbfb-654a-473e-9f35-ae548c8e59e1 
  4. nova volume-attach $SERVER_ID $VOLUME_ID 

查看libvirt xml文件,截取部分disk信息如下:

  1. <disk type='network' device='disk'
  2.       <driver name='qemu' type='raw' cache='writeback'/> 
  3.       <auth username='admin'
  4.         <secret type='ceph' uuid='bdf77f5d-bf0b-1053-5f56-cd76b32520dc'/> 
  5.       </auth> 
  6.       <source protocol='rbd' name='openstack-00/volume-bb2ccbfb-654a-473e-9f35-ae548c8e59e1'
  7.         <host name='10.0.103.61' port='6789'/> 
  8.         <host name='10.0.103.62' port='6789'/> 
  9.         <host name='10.0.103.63' port='6789'/> 
  10.       </source> 
  11.       <backingStore/> 
  12.       <target dev='vdc' bus='virtio'/> 
  13.       <iotune> 
  14.         <read_iops_sec>2000</read_iops_sec> 
  15.         <write_iops_sec>1000</write_iops_sec> 
  16.       </iotune> 
  17.       <serial>bb2ccbfb-654a-473e-9f35-ae548c8e59e1</serial> 
  18.       <alias name='virtio-disk2'/> 
  19.       <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> 
  20.     </disk> 

由xml文件可見在iotune中對讀寫IOPS的控制。

以上總結(jié)了Openstack Cinder的QoS的控制,接下來將介紹Nova實(shí)現(xiàn)機(jī)制。

3.Nova

Nova是Openstack最核心的服務(wù),提供計算服務(wù),其功能類似AWS EC2。官方描述為:

Nova is an OpenStack project designed to provide power massively scalable, on demand, self service access to compute resources.

Nova雖然沒有直接方式對QoS質(zhì)量進(jìn)行控制,但我們可以通過主機(jī)集合(Host Aggregate)實(shí)現(xiàn),比如我們有兩個計算節(jié)點(diǎn)node-1,node-2,配置SSD磁盤,我們創(chuàng)建對應(yīng)的主機(jī)集合并把兩個節(jié)點(diǎn)加入到該主機(jī)集合中:

  1. nova aggregate-create ssd nova 
  2. nova aggregate-set-metadata ssd ssd=true 
  3. nova aggregate-add-host ssd node-1 
  4. nova aggregate-add-host ssd node-2 

創(chuàng)建一個新的flavor并設(shè)置key指定綁定的key-value:

  1. nova flavor-create ssd.large 6 8192 80 4 
  2. nova flavor-key set_key --name=ssd.large --key=ssd --value=true 

查看flavor:

  1. $ nova flavor-show ssd.large 
  2. +----------------------------+-------------------+ 
  3. | Property                   | Value             | 
  4. +----------------------------+-------------------+ 
  5. | OS-FLV-DISABLED:disabled   | False             | 
  6. | OS-FLV-EXT-DATA:ephemeral  | 0                 | 
  7. | disk                       | 80                | 
  8. | extra_specs                | {u'ssd': u'true'} | 
  9. | id                         | 6                 | 
  10. name                       | ssd.large         | 
  11. | os-flavor-access:is_public | True              | 
  12. | ram                        | 8192              | 
  13. | rxtx_factor                | 1.0               | 
  14. | swap                       |                   | 
  15. | vcpus                      | 4                 | 
  16. +----------------------------+-------------------+ 

此時當(dāng)用戶指定ssd.large flavor時,調(diào)度器將篩選具有ssd=true標(biāo)簽的計算節(jié)點(diǎn),其余不滿足條件的主機(jī)將被過濾掉, 最后在node-1和node-2中選取作為虛擬機(jī)的宿主機(jī)。

同樣地,Nova可通過flavor的Extra Specs實(shí)現(xiàn)QoS量化控制,以下內(nèi)容直接參考官方文檔-compute flavors:

比如限制IO最大讀寫速率為10MB/s:

  1. openstack flavor set FLAVOR-NAME \ 
  2.     --property quota:read_bytes_sec=10240000 \ 
  3.     --property quota:write_bytes_sec=10240000 

除了IO控制,還支持CPU以及內(nèi)存限制:

CPU

  1. openstack flavor set FLAVOR-NAME \ 
  2.     --property quota:cpu_quota=10000 \ 
  3.     --property quota:cpu_period=20000 

內(nèi)存

  1. openstack flavor set FLAVOR-NAME \ 
  2.     --property quota:memory_shares_level=custom \ 
  3.     --property quota:memory_shares_share=15 

設(shè)置虛擬機(jī)最大的disk寫入數(shù)據(jù)為10MB/s:

  1. openstack flavor set FLAVOR-NAME \ 
  2.     --property quota:disk_write_bytes_sec=10485760 

另外,除了QoS控制,F(xiàn)lavor的強(qiáng)大之處遠(yuǎn)不止這些,還支持用戶自定義CPU拓?fù)?

  1. openstack flavor set FLAVOR-NAME \ 
  2.     --property hw:cpu_sockets=FLAVOR-SOCKETS \ 
  3.     --property hw:cpu_cores=FLAVOR-CORES \ 
  4.     --property hw:cpu_threads=FLAVOR-THREADS \ 
  5.     --property hw:cpu_max_sockets=FLAVOR-SOCKETS \ 
  6.     --property hw:cpu_max_cores=FLAVOR-CORES \ 
  7.     --property hw:cpu_max_threads=FLAVOR-THREADS 

以及NUMA 拓?fù)?

  1. openstack flavor set FLAVOR-NAME \ 
  2.     --property hw:numa_nodes=FLAVOR-NODES \ 
  3.     --property hw:numa_cpus.N=FLAVOR-CORES \ 
  4.     --property hw:numa_mem.N=FLAVOR-MEMORY 

4.Swift

Openstack Swift提供對象存儲服務(wù),功能類似AWS S3以及Ceph RGW,Swift可以通過配置不同的Storage Policies來實(shí)現(xiàn)不同性能的后端存儲。具體可參看官方文檔Stroage Policie.

5.Neutron

Neutron是OpenStack項(xiàng)目中負(fù)責(zé)提供網(wǎng)絡(luò)服務(wù)的組件,它基于軟件定義網(wǎng)絡(luò)(SDN)的思想,實(shí)現(xiàn)了網(wǎng)絡(luò)虛擬化的資源管理。Neutron支持對虛擬網(wǎng)卡進(jìn)行帶寬流量限制,主要通過QoS Policy實(shí)現(xiàn),需要在neutron server端配置項(xiàng)service_plugins中開啟qos插件,參考Neutron QoS。

以下內(nèi)容主要參考官方文檔實(shí)例。首先創(chuàng)建一個Qos Policy:

  1. neutron qos-policy-create bw-limiter 

設(shè)置帶寬:

  1. neutron qos-bandwidth-limit-rule-create bw-limiter --max-kbps 3000 \ 
  2.   --max-burst-kbps 300 

通過neutron port-list找到需要限制帶寬的端口(虛擬網(wǎng)卡):

  1. $ neutron port-list 
  2.  
  3. +--------------------------------------+----------------------------------+ 
  4. | id                                   | fixed_ips                        | 
  5. +--------------------------------------+----------------------------------+ 
  6. | 0271d1d9-1b16-4410-bd74-82cdf6dcb5b3 | { ... , "ip_address""10.0.0.1"}| 
  7. | 88101e57-76fa-4d12-b0e0-4fc7634b874a | { ... , "ip_address""10.0.0.3"}| 
  8. | e04aab6a-5c6c-4bd9-a600-33333551a668 | { ... , "ip_address""10.0.0.2"}| 
  9. +--------------------------------------+----------------------------------+ 

關(guān)聯(lián)port和QoS Policy:

  1. neutron port-update 88101e57-76fa-4d12-b0e0-4fc7634b874a --qos-policy bw-limiter 

移除port和Qos Policy的關(guān)聯(lián):

  1. neutron port-update 88101e57-76fa-4d12-b0e0-4fc7634b874a --no-qos-policy 

創(chuàng)建port時可以指定QoS Policy:

  1. neutron port-create private --qos-policy-id bw-limiter 

總結(jié)

本文詳細(xì)介紹了Openstack基礎(chǔ)服務(wù)的QoS控制,包括質(zhì)量控制和量化控制,涉及的內(nèi)容包括:

  1. Ceph通過crush map和ruleset選取不同性能的后端存儲設(shè)備
  2. Cinder支持多后端存儲,Volume type綁定具體的后端從而實(shí)現(xiàn)不同性能的后端選擇,并且可以自定義QoS實(shí)現(xiàn)數(shù)據(jù)卷的IO讀寫限制。
  3. Nova可以通過Host Aggregate的Metadata以及Flavor Extra Specs控制調(diào)度器選取符合某些特性的(比如SSD)計算節(jié)點(diǎn),通過Flavor Extra Specs實(shí)現(xiàn)虛擬機(jī)的IO讀寫限制。
  4. Swift 支持多Policy,通過Storage Policies可以實(shí)現(xiàn)不同性能的后端存儲設(shè)備。
  5. Neutron通過Qos Policy完成對虛擬網(wǎng)卡的帶寬限制。

由此可見,Openstack同時支持計算、存儲和網(wǎng)絡(luò)的QoS控制,通過QoS控制可以滿足不同應(yīng)用對不同資源的異構(gòu)需求。

【本文是51CTO專欄作者“付廣平”的原創(chuàng)文章,如需轉(zhuǎn)載請通過51CTO獲得聯(lián)系】

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2017-05-04 16:35:45

2024-12-02 11:39:30

2014-12-04 14:01:54

openstacknetworkneutron

2024-05-23 08:02:23

2018-03-22 18:30:22

數(shù)據(jù)庫MySQL并發(fā)控制

2024-08-15 08:11:10

2014-12-01 15:38:33

openstacknetworkneutron

2014-12-03 13:10:10

openstacknetworkneutron

2016-09-01 12:37:13

OpenStack虛擬機(jī)Metadata

2014-11-27 15:32:31

openstacknetworkovs

2024-06-28 10:25:18

2016-12-08 15:36:59

HashMap數(shù)據(jù)結(jié)構(gòu)hash函數(shù)

2010-06-01 15:25:27

JavaCLASSPATH

2020-07-21 08:26:08

SpringSecurity過濾器

2024-03-28 09:36:29

2024-01-09 08:28:44

應(yīng)用多線程技術(shù)

2010-03-12 08:55:06

Java內(nèi)省反射

2023-11-08 07:39:42

2009-09-25 09:14:35

Hibernate日志

2021-02-17 11:25:33

前端JavaScriptthis
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

中文在线аv在线| www.色小姐com| 超级碰碰久久| 中文字幕第一页久久| 成人在线小视频| 国产亚洲精品女人久久久久久| 精品国产午夜肉伦伦影院| 色婷婷综合中文久久一本| 一区二区91美女张开腿让人桶| av资源免费看| 久久最新视频| 欧美成人精品一区二区| 丰满少妇高潮一区二区| 亚洲精品自拍| 欧美性猛交xxxx富婆| 亚洲一区二区精品在线观看| 三级网站在线看| 久久99精品国产| 日韩av123| 精品视频在线观看免费| 日韩在线视屏| 日韩国产欧美精品一区二区三区| 极品粉嫩美女露脸啪啪| 在线观看的黄色| 亚洲精品欧美激情| 日韩视频专区| 三级毛片在线免费看| 国产一区二区免费在线| 国产精品96久久久久久| 日本少妇吞精囗交| 亚洲精品一二三区区别| 亚洲网站在线播放| 一起草在线视频| 免费欧美网站| 欧美日韩一区二区三区视频| 18岁网站在线观看| 美女航空一级毛片在线播放| 亚洲欧洲日本在线| 日韩精品伦理第一区| 无码精品黑人一区二区三区| 国产精品18久久久久久vr| 国产精品偷伦一区二区| 久久久久亚洲视频| 久久一区二区三区超碰国产精品| 欧美国产精品人人做人人爱| 国产成人综合在线视频| 小处雏高清一区二区三区| 亚洲午夜精品久久久久久久久久久久| 国产精品成人无码专区| 亚洲天堂中文字幕在线观看| 日韩三级高清在线| 真实乱偷全部视频| 视频一区在线| 欧美刺激脚交jootjob| 91欧美一区二区三区| 欧美一区二区三区婷婷| 欧美日韩国产综合一区二区| 亚洲综合日韩欧美| 欧美高清影院| 欧美日韩亚州综合| 久久国产精品国产精品| 欧美激情福利| 91精品国产综合久久婷婷香蕉| 亚洲精品第三页| 大胆国模一区二区三区| 在线播放中文一区| 精品人妻一区二区三区免费| 欧美国产中文高清| 精品女同一区二区| yy6080午夜| 狠狠色狠狠色综合婷婷tag| 亚洲欧洲日产国产网站| 娇妻被老王脔到高潮失禁视频| 欧美日中文字幕| 日韩小视频在线观看| 国产美女福利视频| 欧美激情无毛| 91成品人片a无限观看| 日韩在线 中文字幕| 日韩电影在线观看电影| 91久久中文字幕| 亚洲福利在线观看视频| 91在线播放网址| 色姑娘综合网| а√中文在线8| 亚洲1区2区3区视频| 成人在线激情网| 亚洲精品第一| 精品国产乱码久久久久久久 | 一区二区乱码| 欧美日韩精品二区第二页| 成人三级做爰av| 亚洲欧洲免费| 久久中文字幕国产| 91美女免费看| 极品美女销魂一区二区三区免费| 国产精品成人一区二区三区| 国产一区电影| 一区二区三区日韩欧美精品| 欧美xxxxx在线视频| 成人短视频软件网站大全app| 精品国产一区二区三区久久久蜜月 | 韩国成人在线视频| 久久国产精品久久| 免费**毛片在线| 狠狠色香婷婷久久亚洲精品| 日韩av一卡二卡三卡| 日韩高清一级| 久久综合免费视频| 无码人妻av免费一区二区三区 | 影音先锋亚洲一区| 国产乱人伦真实精品视频| 丰满肥臀噗嗤啊x99av| 国产精品天天摸av网| 僵尸世界大战2 在线播放| xxxxx.日韩| 日韩精品在线免费| 免费中文字幕视频| 久久99国产精品免费网站| 欧美中文娱乐网| 女同一区二区免费aⅴ| 欧美日韩国产小视频在线观看| 丝袜熟女一区二区三区 | 久久人体大胆视频| 无码人妻丰满熟妇精品区| 成人国产视频在线观看| 黄黄视频在线观看| 欧美a视频在线| 亚洲欧洲视频在线| 五月婷婷开心网| 国产成人亚洲综合a∨婷婷| 图片区小说区区亚洲五月| 国产高清在线a视频大全 | 色呦呦视频在线| 一区二区三区四区五区视频在线观看| 一本岛在线视频| 国产99久久| 国产91ⅴ在线精品免费观看| 欧美视频久久久| 亚洲福利一二三区| 蜜桃视频无码区在线观看| 91精品一区二区三区综合在线爱| 国产精品视频最多的网站| 国产中文字幕在线观看| 日韩欧美中文在线| 亚洲天堂久久新| 亚洲看片一区| 国产美女精品在线观看| 裸模一区二区三区免费| 国产污视频在线| 亚洲欧美日韩在线| 亚洲美女性囗交| 99久久亚洲精品蜜臀| 国产精品欧美日韩| 香蕉视频网站在线观看| 欧美日韩亚洲国产综合| 色偷偷男人天堂| 精品影院一区二区久久久| 在线无限看免费粉色视频| 亚洲伦理一区二区| 美女精品视频一区| 亚洲黄色在线免费观看| 亚洲成av人片| 疯狂揉花蒂控制高潮h| 免费亚洲网站| 亚洲精品一品区二品区三品区| 992tv国产精品成人影院| 中文字幕少妇一区二区三区| 亚洲资源在线播放| 亚洲精品乱码久久久久久久久| 人妻巨大乳一二三区| 在线不卡欧美| 欧美日本国产精品| 91精品国产66| 久久精品视频在线播放| wwwav网站| 欧美日韩国产精品| 中文天堂资源在线| 国产精品亚洲专一区二区三区| 国产 欧美 日韩 一区| 欧美尿孔扩张虐视频| 国产aaa精品| 久操视频在线播放| 亚洲国产精品人久久电影| 五月婷婷色丁香| 国产精品区一区二区三| 成年人看片网站| 亚洲伊人网站| 国产麻豆电影在线观看| 秋霞综合在线视频| 国产精品香蕉在线观看| 免费不卡av| 色av中文字幕一区| 内射后入在线观看一区| 欧美亚洲一区二区在线观看| 69av.com| 中文字幕免费在线观看视频一区| 日本xxxx免费| 日韩福利视频网| 18禁裸男晨勃露j毛免费观看| 羞羞色国产精品网站| 国产精品视频播放| sm久久捆绑调教精品一区| 在线日韩av观看| 男人天堂手机在线观看| 欧美日韩久久久一区| 日韩少妇高潮抽搐| 亚洲欧洲国产日韩| 亚洲一区视频在线播放| 成人综合激情网| 午夜免费看视频| 噜噜噜躁狠狠躁狠狠精品视频 | 免费不卡的av| 久久精品国产在热久久| 国产美女网站在线观看| 亚洲精品97| 亚洲欧美国产一区二区| 欧美人体视频| 国产美女在线精品免费观看| 午夜精品久久久久久毛片| 国产成人欧美在线观看| av蜜臀在线| 另类天堂视频在线观看| 91在线不卡| 亚洲美女激情视频| 手机看片一区二区| 日韩女优制服丝袜电影| 91欧美日韩麻豆精品| 91福利在线免费观看| 久草手机在线观看| 亚洲v中文字幕| 久久久久成人精品无码| 自拍偷自拍亚洲精品播放| 极品蜜桃臀肥臀-x88av| 久久久av毛片精品| 精品国产av无码| 久久夜色精品国产噜噜av| 美女久久久久久久久| 国产成人午夜电影网| caoporm在线视频| 极品美女销魂一区二区三区| 我要看一级黄色大片| 日产欧产美韩系列久久99| 国产精品无码专区av在线播放| 99国产精品私拍| 欧美三级在线观看视频| 亚洲免费大片| 伊人成色综合网| 国产精品久久国产愉拍| 欧美一级在线看| 久久久国产精品一区二区中文| 成人在线免费在线观看| 老司机一区二区三区| 99久久久无码国产精品6| 国产精品尤物| 99视频精品免费| 青青草97国产精品免费观看 | 日韩av一区二区在线播放| 亚洲午夜在线视频| 日韩精品人妻中文字幕| 欧美性极品少妇精品网站| 亚洲精品一区二三区| 欧美日韩1区2区| 国产偷人妻精品一区二区在线| 日韩视频一区二区三区在线播放| www.黄色国产| 亚洲精品国产精品乱码不99按摩 | 国产av人人夜夜澡人人爽| 日本午夜精品视频在线观看| www.久久91| 国产美女在线精品| 黄色在线免费播放| 国产亚洲一区二区三区四区 | 中文字幕1区2区| 91香蕉视频mp4| 蜜桃av乱码一区二区三区| 国产精品久久久久一区二区三区| 老妇女50岁三级| 五月天网站亚洲| 亚洲国产成人精品女人久久| 3751色影院一区二区三区| 国 产 黄 色 大 片| 亚洲精品视频免费| 麻豆网在线观看| 久久理论片午夜琪琪电影网| 午夜精品成人av| 91香蕉嫩草影院入口| 欧美18xxxx| 亚洲日本无吗高清不卡| 国内精品美女在线观看| 久久精品网站视频| 国产精品18久久久久久久网站| 国产 欧美 在线| 樱桃视频在线观看一区| 国产成人一级片| 日韩一区二区中文字幕| 精品亚洲综合| 欧美日本黄视频| 国产精品极品美女在线观看| 91福利视频导航| 狠狠做深爱婷婷综合一区| av女优在线播放| 久久99精品久久久久婷婷| 性色av蜜臀av色欲av| 亚洲啪啪综合av一区二区三区| 国产午夜久久久| 91麻豆精品国产自产在线 | 91免费观看视频| 欧美偷拍第一页| 在线免费不卡电影| 少妇人妻偷人精品一区二区| 色爱精品视频一区| 成人免费影院| 国产欧美一区二区三区另类精品| 91欧美国产| 青青在线视频免费| 成人激情午夜影院| 99鲁鲁精品一区二区三区| 日本高清无吗v一区| 你懂的网站在线| 欧美日韩国产第一页| 久久精品国产福利| 欧洲亚洲一区二区| 国产情侣一区| 年下总裁被打光屁股sp| 亚洲免费在线电影| 亚洲一级黄色大片| 伊人一区二区三区久久精品| 黄色软件视频在线观看| 国产高清精品一区| 欧美国产三级| 色哟哟在线观看视频| 国产精品女主播av| 中文字幕日日夜夜| 亚洲一级黄色片| 日本免费一区二区三区四区| 久久av一区二区| 亚洲精选国产| 中文字幕日韩三级片| 懂色av影视一区二区三区| 特黄视频在线观看| 69视频在线免费观看| 久久综合另类图片小说| 夜夜添无码一区二区三区| 成人黄色在线网站| 国产精品99精品| 亚洲成人av片| 国产一二三在线| 久久精品中文字幕一区二区三区| 亚洲精品九九| 一区二区三区少妇| 欧美性xxxx极品hd欧美风情| 日本黄色不卡视频| 欧美在线视频免费观看| 国产亚洲一区二区三区啪 | 国产麻豆午夜三级精品| 蜜臀av午夜精品久久| 欧美丰满美乳xxx高潮www| 国产三区视频在线观看| 亚洲一区国产精品| 午夜精品偷拍| 无码任你躁久久久久久老妇| 欧美日韩激情视频| 玖玖综合伊人| 国产欧美一区二区三区在线| 亚洲成av人电影| 亚洲少妇中文字幕| 精品人伦一区二区三区蜜桃免费| 欧美大片aaa| 国产日产欧美精品| 欧美激情视频一区二区三区免费| 天天躁日日躁狠狠躁免费麻豆| 性感美女久久精品| 国产乱视频在线观看| 成人免费看黄网站| 一区在线观看| 午夜理伦三级做爰电影| 欧美人与z0zoxxxx视频| 一色桃子av在线| 欧美激情第一页在线观看| 久久99国产精品成人| 国产福利久久久| 国产亚洲美女久久| 欧美三级一区| 亚洲精品乱码久久久久久自慰 | 日韩成人免费在线视频| 亚洲天堂免费视频| 警花av一区二区三区| koreanbj精品视频一区| 中文字幕日韩精品一区| 亚洲 欧美 激情 小说 另类| 国产精品视频一区二区三区四| 国产综合网站| 337人体粉嫩噜噜噜| 欧美xxxx老人做受| av久久网站| 男女视频网站在线观看| 亚洲欧洲精品一区二区三区 | 日韩影片在线观看| 成年人视频在线免费|