欧美,精品,综合,亚洲,好吊妞视频免新费观看,免费观看三级吃奶,一级a片女人自慰免费看

您當(dāng)前的位置是:  首頁 > 新聞 > 國內(nèi) >
 首頁 > 新聞 > 國內(nèi) >

你創(chuàng)建的OpenStack高性能虛擬機(jī)能實(shí)現(xiàn)“零損耗”么?

2017-10-17 16:44:48   作者:云谷計(jì)算   來源:開源云中文社區(qū)   評(píng)論:0  點(diǎn)擊:


  使用默認(rèn)參數(shù)創(chuàng)建的虛擬機(jī),虛擬機(jī)的VCPU在物理CPU不同核心之間動(dòng)態(tài)調(diào)度,另外,由于Linux還可能會(huì)將軟中斷,內(nèi)存交換等進(jìn)程調(diào)度到虛擬機(jī)正在使用的物理核心上,這些因素導(dǎo)致這些虛擬機(jī)相對(duì)于物理機(jī)的計(jì)算性能可能會(huì)產(chǎn)生較大的抖動(dòng),不能滿足一些對(duì)計(jì)算SLA要求很嚴(yán)格的業(yè)務(wù),比如,很多金融業(yè)務(wù)就要求99.999%的請(qǐng)求處理時(shí)間延時(shí)不得高于1毫秒。
  高性能虛擬機(jī)
  為了減少 Linux 和 Hypervisor 對(duì)虛擬機(jī)的影響,讓虛擬機(jī)的性能接近物理機(jī),一般可以采用如下優(yōu)化手段:
  • CPU 綁核(pin):將虛擬 CPU 和物理 CPU 逐一綁定起來,這樣不同虛擬機(jī)的VCPU各自運(yùn)行在不同的物理核心上,不會(huì)相互影響。
  • CPU隔離(isolate):將虛擬機(jī)使用的物理 CPU 從 Linux 隔離出來,Linux Kernel 不再調(diào)度任何應(yīng)用甚至是任何系統(tǒng)進(jìn)程到這些 CPU 上,盡量讓這些CPU 100%為虛擬機(jī)使用。
  • CPU拓?fù)洌═opology): CPU 分配盡量不要跨 NUMA ,如果必須要跨NUMA,將 NUMA 拓?fù)浣Y(jié)構(gòu)呈現(xiàn)給 Guest OS ,同時(shí)也把 SMT 拓?fù)浣Y(jié)構(gòu)呈現(xiàn)給 Guest OS 。
  OpenStack 環(huán)境
  • OpenStack Mitaka:Mitaka 現(xiàn)在運(yùn)行的很好, 新版本的 Cell 機(jī)制甚至?xí)䦟?dǎo)致一些不可預(yù)料的結(jié)果,我們一直沒有冒險(xiǎn)去做升級(jí)投入。
  • CentOS 7.3:OpenStack Mitaka 在 CentOS 7.4 的 repo 里面已經(jīng)找不到了,應(yīng)該是停止支持了,由于擔(dān)心一些不必要的包依賴問題,我們繼續(xù)使用 CentOS 7.3 。
  • QEMU: CentOS 7默認(rèn)的qemu 1.5版本非常老,會(huì)導(dǎo)致compute節(jié)點(diǎn)的resource_tracker不能上報(bào)numa_topology到controller節(jié)點(diǎn),導(dǎo)致NUMATopologyFilter無法調(diào)度,所以必須升級(jí)到2.6。
  升級(jí)qemu到2.6
  計(jì)算節(jié)點(diǎn)配置
  使用numactl查看下主機(jī)的numa拓?fù)浣Y(jié)構(gòu),比如下面的輸出說明 cpu 0-3 在一個(gè)numa node上,而 cpu 4-7 在另一個(gè) numa node 上:
  numactl --hardware
  比如,我們希望將2,3, 6,7隔離出來,專門給虛擬機(jī)用,盡量讓Linux不要將任何用戶進(jìn)程和系統(tǒng)進(jìn)程調(diào)度到這些cpu上。
  首先,編輯/etc/nova/nova.conf, 配置這臺(tái)主機(jī)能用來創(chuàng)建VM的cpu為2,3,6,7:
  vcpu_pin_set=2,3,6,7
  然后,編輯/boot/grub/grub.conf:
  grub.conf
  • isolcpus:不要將任何應(yīng)用和系統(tǒng)進(jìn)程(softirq, swap.……)調(diào)度到指定的CPU上;
  • nohzfull: 指定的CPU上沒有時(shí)鐘中斷;
  • rcunocbs:不要在指定的CPU上調(diào)度執(zhí)行rcb callbacks;
  最后,重啟主機(jī)生效。
  控制節(jié)點(diǎn)配置
  修改/etc/nova/nova.conf, 將調(diào)度過濾器NUMATopologyFilter加入到scheduler_default_filters:
  scheduler_default_filters=RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,CoreFilter,NUMATopologyFilter
  然后,重啟nova-scheduler服務(wù)
  systemctl restart openstack-nova-scheduler.service
  創(chuàng)建支持cpu pin的flavor:
  openstack flavor set m1.large --property hw:cpu_policy=dedicated --property hw:cpu_thread_policy=require
  CPU-POLICY :
  shared: (默認(rèn))VCPU會(huì)在PCPU上任意漂移;
  dedicated: VCPU會(huì)綁定在指定的PCPU上;
  CPU-THREAD-POLICY :
  prefer: (默認(rèn)) VCPU會(huì)優(yōu)先選擇同一核心上的超線程。
  isolate: VCPU會(huì)選用不同核心的超線程。
  require: VCPU優(yōu)先選擇同一核心上的超線程,如果主機(jī)的BIOS超線程沒有開啟,就會(huì)報(bào)告失敗。
  除了hw:cpu_policy和hw:cpu_thread_policy,這里還可以定義hw:numa_nodes,hw:numa_cpus.N,hw:numa_mem.N等NUMA策略。
  用指定的flavor創(chuàng)建虛擬機(jī):
  openstack server create --image cirros --nic net-id=provider-net --flavor m1.large instance-001
  驗(yàn)證
  在計(jì)算節(jié)點(diǎn)上使用virsh dumpxml domID觀察虛擬機(jī),輸出的xml應(yīng)該包括類似下面的內(nèi)容:
  virsh dumpxml
  轉(zhuǎn)載自云谷計(jì)算
  閱讀推薦:
  公開課|Kubernetes與容器云實(shí)踐,10.19晚八點(diǎn)開趴!
  1分鐘投票,贏 OpenStack 悉尼峰會(huì)限量T恤
  活動(dòng)推薦:
  本社區(qū)擁有多個(gè)國內(nèi)最活躍的開源云計(jì)算討論微信群,長期分享優(yōu)質(zhì)文章與PPT資料,進(jìn)群請(qǐng)加管理員微信yookee1983,并注明“加群”。
  投稿郵箱:openstackcn@sina.cn
【免責(zé)聲明】本文僅代表作者本人觀點(diǎn),與CTI論壇無關(guān)。CTI論壇對(duì)文中陳述、觀點(diǎn)判斷保持中立,不對(duì)所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請(qǐng)讀者僅作參考,并請(qǐng)自行承擔(dān)全部責(zé)任。

專題