av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

沖突與碰撞:OpenStack中的虛擬機(jī)和裸機(jī)

沖突與碰撞:OpenStack中的虛擬機(jī)和裸機(jī)

作者:祝祥 翻譯 2020-03-18 13:22:33

云計(jì)算

虛擬化

OpenStack 如果您追求性能,那么就沒有爭議——裸機(jī)仍然勝過虛擬機(jī);特別是對(duì)于I/O密集型應(yīng)用程序。但是,除非您可以保證充分利用它,否則是有代價(jià)的。

要虛擬化還是非虛擬化?

如果您追求性能,那么就沒有爭議——裸機(jī)仍然勝過虛擬機(jī);特別是對(duì)于I/O密集型應(yīng)用程序。但是,除非您可以保證充分利用它,否則是有代價(jià)的。在本文中,我們描述了如何使用Nova來以統(tǒng)一的方式提供對(duì)虛擬機(jī)管理程序和裸機(jī)計(jì)算節(jié)點(diǎn)的訪問。

scheduling

當(dāng)Nova首次引入通過Ironic支持裸機(jī)計(jì)算時(shí),它不能輕松地與傳統(tǒng)的基于hypervisor的工作負(fù)載共存。當(dāng)時(shí)的解決方法通常涉及使用宿主aggregates和flavor特性。

我們?cè)诙ㄖ频穆銠C(jī)博客文章中詳細(xì)介紹了 裸機(jī)調(diào)度(請(qǐng)參閱概述:Nova中的調(diào)度)。

自引入Placement服務(wù)以來,裸機(jī)的scheduling已發(fā)生了顯著變化。對(duì)于每個(gè)Ironic節(jié)點(diǎn),將標(biāo)準(zhǔn)vCPU,內(nèi)存和磁盤資源替換為自定義資源類的單個(gè)單元。這有兩個(gè)關(guān)鍵的副作用:

  • 裸機(jī)節(jié)點(diǎn)已完全分配或根本未分配
  • 虛擬機(jī)和裸機(jī)使用的資源類是不相交的,因此我們最終無法將VM Flavor調(diào)度到裸機(jī)節(jié)點(diǎn)

“tiny” VM的flavor可能如下所示:

  
 
 
  1. openstack flavor show vm-tiny -f json -c name -c vcpus -c ram -c disk -c properties 
  2.  "name": "vm-tiny", 
  3.  "vcpus": 1, 
  4.  "ram": 1024, 
  5.  "disk": 1, 
  6.  "properties": "" 

“gold”節(jié)點(diǎn)的裸機(jī)flavor可能如下所示:

  
 
 
  1. openstack flavor show bare-metal-gold -f json -c name -c vcpus -c ram -c disk -c properties 
  2.  "name": "bare-metal-gold", 
  3.  "vcpus": 64, 
  4.  "ram": 131072, 
  5.  "disk": 371, 
  6.  "properties": "resources:CUSTOM_GOLD='1', 
  7.                 resources:DISK_GB='0', 
  8.                 resources:MEMORY_MB='0', 
  9.                 resources:VCPU='0'" 

請(qǐng)注意,vCPU/RAM/Disk資源僅供參考,并通過屬性歸零以進(jìn)行調(diào)度。我們稍后將進(jìn)一步討論這個(gè)問題。

那網(wǎng)絡(luò)呢?

在我們的混合環(huán)境中,我們可能希望vm和裸機(jī)實(shí)例能夠相互通信,或者希望它們彼此隔離。這兩種模型都是可能的,并且工作方式與典型的neutron網(wǎng)絡(luò)一樣——neutron網(wǎng)絡(luò)彼此隔離,直到通過neutron路由器連接。

裸機(jī)計(jì)算節(jié)點(diǎn)通常使用VLAN或扁平網(wǎng)絡(luò)。當(dāng)然,通過網(wǎng)絡(luò)硬件和Neutron插件的正確組合,其他模型也是可以的。對(duì)于VLan 網(wǎng)絡(luò),假設(shè)虛擬機(jī)管理程序與裸機(jī)計(jì)算節(jié)點(diǎn)連接到同一物理網(wǎng)絡(luò),然后將VM與裸機(jī)計(jì)算實(shí)例連接到同一VLAN,這將在它們之間提供L2連接?;蛘?,應(yīng)該可以使用Neutron路由器將VLAN上的裸機(jī)實(shí)例與另一個(gè)網(wǎng)絡(luò)(例如VXLAN)上的VM相連,二這將在他們之間提供L3連接。

實(shí)際上這是什么樣的?我們需要同時(shí)支持VM和裸機(jī)網(wǎng)絡(luò)的Neutron plugins/drivers程序的組合。要將裸機(jī)服務(wù)器連接到租戶網(wǎng)絡(luò),Neutron必須配置物理網(wǎng)絡(luò)設(shè)備。我們通常使用networking-generic-switch ML2機(jī)制驅(qū)動(dòng)程序,盡管networking-ansible驅(qū)動(dòng)程序正在成為一種供應(yīng)商中立的替代方案。這些驅(qū)動(dòng)程序支持裸機(jī)端口,即neutron端口與VNIC_TYPE的baremetal。特定于供應(yīng)商的驅(qū)動(dòng)程序也可用,并且可能同時(shí)支持VM和裸機(jī)。

有何問題?

更成熟的云可能遇到的一個(gè)問題是從基于標(biāo)準(zhǔn)資源類(vCPU、RAM、disk)的調(diào)度過渡到基于自定義資源類的調(diào)度。如果存在在Rocky發(fā)行版或更早版本中創(chuàng)建的舊裸機(jī)實(shí)例,則除了自定義資源類之外,它們?cè)赑lacement中還可能具有標(biāo)準(zhǔn)資源類清單。例如,以下是報(bào)告給Placement的此類節(jié)點(diǎn)的清單:

  
 
 
  1. $ openstack resource provider inventory list  
  2. +---------------+-----------------+----------+----------+-----------+----------+--------+ 
  3. | resource_class | allocation_ratio | max_unit | reserved | step_size | min_unit | total | 
  4. +---------------+-----------------+----------+----------+-----------+----------+--------+ 
  5. | VCPU         |             1.0 |       64 |        0 |         1 |        1 |     64 | 
  6. | MEMORY_MB     |             1.0 |   131072 |        0 |         1 |        1 | 131072 | 
  7. | DISK_GB       |             1.0 |      371 |        0 |         1 |        1 |    371 | 
  8. | CUSTOM_GOLD   |             1.0 |        1 |        0 |         1 |        1 |      1 | 
  9. +---------------+-----------------+----------+----------+-----------+----------+--------+ 

如果將此節(jié)點(diǎn)分配給一個(gè)flavor請(qǐng)求(或未顯式清空)標(biāo)準(zhǔn)資源類的實(shí)例,我們將有如下用法:

  
 
 
  1. $ openstack resource provider usage show  
  2. +----------------+--------+ 
  3. | resource_class | usage | 
  4. +----------------+--------+ 
  5. | VCPU           |     64 | 
  6. | MEMORY_MB     | 131072 | 
  7. | DISK_GB       |    371 | 
  8. | CUSTOM_GOLD   |      1 | 
  9. +----------------+--------+ 

如果刪除此實(shí)例,則標(biāo)準(zhǔn)資源類清單將變?yōu)榭捎?,并且可由VM的調(diào)度程序選擇。這不可能很好地結(jié)束。我們必須做的是確保不將這些資源報(bào)告給Placement。默認(rèn)情況下,這是在Stein版本的Nova中完成的,并且可以通過在nova.conf中設(shè)置以下內(nèi)容來配置Rocky以執(zhí)行相同的操作:

  
 
 
  1. [workarounds] 
  2. report_ironic_standard_resource_class_inventory = False 

但是,如果我們這樣做,Nova將嘗試從我們的實(shí)例已經(jīng)消耗的Placement資源提供程序中移除庫存,并將收到一個(gè)HTTP 409沖突。這將很快使我們的日志充滿無用的告警。

Flavor遷移

值得慶幸的是,有一個(gè)解決方案。我們可以修改現(xiàn)有實(shí)例中的使用的flavor以刪除標(biāo)準(zhǔn)資源類清單,這將導(dǎo)致從Placement中刪除這些資源的分配。這將使Nova可以從資源提供者處刪除庫存。Matt Riedemann啟動(dòng)了一個(gè)Nova Patch,它將刪除我們的標(biāo)準(zhǔn)資源類清單。該補(bǔ)丁需要推到生產(chǎn)線上,但效果很好,足以被 Rocky版本 生產(chǎn)使用。

遷移可以離線或在線完成。我們選擇離線進(jìn)行此操作,以避免部署此修補(bǔ)程序。對(duì)于每個(gè)要遷移的節(jié)點(diǎn):

  
 
 
  1. nova-manage db ironic_flavor_migration --resource_class  --host  --node  

或者,如果所有節(jié)點(diǎn)都具有相同的資源類:

  
 
 
  1. nova-manage db ironic_flavor_migration --resource_class  --all 

您可以通過數(shù)據(jù)庫檢查實(shí)例包含的flavor是否已正確更新:

  
 
 
  1. sql> use nova 
  2. sql> select flavor from instance_extra; 

現(xiàn)在(僅適用于Rocky),可以禁用標(biāo)準(zhǔn)資源類清單報(bào)告。在nova計(jì)算服務(wù)運(yùn)行了一段時(shí)間之后,展示位置將被更新:

  
 
 
  1. $ openstack resource provider inventory list  
  2. +---------------+------------------+----------+----------+-----------+----------+-------+ 
  3. | resource_class| allocation_ratio | max_unit | reserved | step_size | min_unit | total | 
  4. +---------------+------------------+----------+----------+-----------+----------+-------+ 
  5. | CUSTOM_GOLD   |              1.0 |        1 |        0 |         1 |        1 |     1 | 
  6. +---------------+------------------+----------+----------+-----------+----------+-------+ 
  7.  
  8. $ openstack resource provider usage show  
  9. +----------------+--------+ 
  10. | resource_class | usage | 
  11. +----------------+--------+ 
  12. | CUSTOM_GOLD   |      1 | 
  13. +----------------+--------+ 

我們希望這表明OpenStack現(xiàn)在處于虛擬機(jī)和裸機(jī)可以和平共處狀態(tài),即使對(duì)于那些討厭的場景。感謝Nova團(tuán)隊(duì)努力使Ironic成為一流的項(xiàng)目。


文章題目:沖突與碰撞:OpenStack中的虛擬機(jī)和裸機(jī)
URL標(biāo)題:http://uogjgqi.cn/article/djcohsp.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流