• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>
    您當前的位置是:  首頁(yè) > 新聞 > 國內 >
     首頁(yè) > 新聞 > 國內 >

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

    2017-10-17 16:44:48   作者:云谷計算   來(lái)源:開(kāi)源云中文社區   評論:0  點(diǎn)擊:


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

    專(zhuān)題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 四平市| 故城县| 灵宝市| 阿荣旗| 手游| 牙克石市| 塔河县| 河西区| 马公市| 同心县| 保定市| 芮城县| 珲春市| 股票| 镇宁| 玛曲县| 麻栗坡县| 西昌市| 新泰市| 锡林浩特市| 高碑店市| 紫金县| 柘城县| 满洲里市| 安乡县| 阿克苏市| 南木林县| 怀化市| 静海县| 赣榆县| 平阴县| 茂名市| 南丹县| 于田县| 普陀区| 宁都县| 鹤壁市| 烟台市| 缙云县| 巴林左旗| 泸溪县| http://444 http://444 http://444 http://444 http://444 http://444