OpenStack針對(duì)特定場(chǎng)景的高級(jí)特性介紹_第1頁(yè)
OpenStack針對(duì)特定場(chǎng)景的高級(jí)特性介紹_第2頁(yè)
OpenStack針對(duì)特定場(chǎng)景的高級(jí)特性介紹_第3頁(yè)
OpenStack針對(duì)特定場(chǎng)景的高級(jí)特性介紹_第4頁(yè)
OpenStack針對(duì)特定場(chǎng)景的高級(jí)特性介紹_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 OpenStack 針對(duì)特定場(chǎng)景的高級(jí)特性介紹 目 錄 TOC o 1-3 h z u HYPERLINK l _Toc66484496 OpenStack 針對(duì)特定場(chǎng)景的高級(jí)特性介紹 PAGEREF _Toc66484496 h 1 HYPERLINK l _Toc66484497 1 虛擬機(jī)軟刪除 PAGEREF _Toc66484497 h 3 HYPERLINK l _Toc66484498 2 CPU拓?fù)湟约昂私壎?PAGEREF _Toc66484498 h 4 HYPERLINK l _Toc66484499 3 虛擬化嵌套 PAGEREF _Toc66484499 h 11

2、HYPERLINK l _Toc66484500 4 使用virtio-scsi驅(qū)動(dòng) PAGEREF _Toc66484500 h 12 HYPERLINK l _Toc66484501 5 使用qemu-guest-agent PAGEREF _Toc66484501 h 14 HYPERLINK l _Toc66484502 6 網(wǎng)卡多隊(duì)列 PAGEREF _Toc66484502 h 16 HYPERLINK l _Toc66484503 7 watchdog PAGEREF _Toc66484503 h 17 HYPERLINK l _Toc66484504 8 GPU虛擬化 PAGE

3、REF _Toc66484504 h 17 HYPERLINK l _Toc66484505 9. 參考文獻(xiàn) PAGEREF _Toc66484505 h 18本文將介紹OpenStack的幾個(gè)高級(jí)特性,這里所謂的高級(jí)特性,不是指那些人人都需要的OpenStack通用默認(rèn)配置,而是專(zhuān)門(mén)針對(duì)一些特定場(chǎng)景需求設(shè)定的。1 虛擬機(jī)軟刪除通常情況下,當(dāng)用戶(hù)刪除虛擬機(jī)時(shí),虛擬機(jī)會(huì)立即從hypervisor底層刪除,不可撤回。為了防止人為誤操作,Nova支持開(kāi)啟軟刪除(soft delete)功能,或者稱(chēng)為延遲刪除,延遲刪除時(shí)間通過(guò)Nova配置項(xiàng) /etc/nova/nova.conf 的 reclaim_

4、instance_interval項(xiàng)指定,如下:此時(shí)虛擬機(jī)執(zhí)行普通刪除操作時(shí),nova不會(huì)立即刪除虛擬機(jī),而是會(huì)等待兩分鐘的時(shí)間,在此時(shí)間間隔內(nèi),管理員可以隨時(shí)恢復(fù)虛擬機(jī),只有在超過(guò)120秒后虛擬機(jī)才會(huì)真正執(zhí)行刪除操作,不可恢復(fù)。為了演示該功能,我們刪除一臺(tái)虛擬機(jī) int32bit-test-2:通過(guò)nova list命令并指定 -deleted 選項(xiàng)可以列出已刪除的所有虛擬機(jī)實(shí)例:通過(guò) nova restore 命令可以恢復(fù)虛擬機(jī):可見(jiàn),剛剛刪除的虛擬機(jī)已經(jīng)恢復(fù)了。注意如果管理員通過(guò) nova force-delete 命令強(qiáng)制刪除虛擬機(jī),虛擬機(jī)會(huì)立即從底層刪除而無(wú)視延遲時(shí)間。需要注意的是,

5、由于這個(gè)功能早期設(shè)計(jì)的缺陷,開(kāi)啟虛擬機(jī)軟刪除功能必須保證所有計(jì)算節(jié)點(diǎn)和API節(jié)點(diǎn)配置一樣并且時(shí)間同步,并且所有節(jié)點(diǎn)的延遲時(shí)間不可動(dòng)態(tài)修改,這非常不靈活。我在我們內(nèi)部私有云二次開(kāi)發(fā)中改善了該功能,延時(shí)時(shí)間不再通過(guò)配置文件指定,而是通過(guò)虛擬機(jī)的 admin metadata 指定,這樣就不再依賴(lài)于各個(gè)節(jié)點(diǎn)的配置項(xiàng)的同步與更新,并且可隨時(shí)調(diào)整延時(shí)時(shí)間。2 CPU拓?fù)湟约昂私壎?.1 概述OpenStack K版本引入了許多CPU高級(jí)特性功能,不僅支持自定義CPU拓?fù)涔δ埽С衷O(shè)置虛擬機(jī)CPU的socket、core、threads等,還支持CPU pinning功能,即CPU核綁定,甚至能夠配置虛擬

6、機(jī)獨(dú)占物理CPU,虛擬機(jī)的vCPU能夠固定綁定到宿主機(jī)的指定pCPU上,在整個(gè)運(yùn)行期間,不會(huì)發(fā)生CPU浮動(dòng),減少CPU切換開(kāi)銷(xiāo),提高虛擬機(jī)的計(jì)算性能。除此之外,OpenStack還支持設(shè)置threads policy,能夠利用宿主機(jī)的SMT特性進(jìn)一步優(yōu)化虛擬機(jī)的性能。接下來(lái)簡(jiǎn)單介紹下如何配置OpenStack的CPU高級(jí)特性。2.2 規(guī)劃CPU和內(nèi)存在配置之前,首先需要規(guī)劃計(jì)算節(jié)點(diǎn)的CPU和內(nèi)存,哪些CPU分配給虛擬機(jī),哪些CPU給宿主機(jī)本身的進(jìn)程預(yù)留,預(yù)留多少內(nèi)存等。為了性能的最優(yōu)化,還需要考慮宿主機(jī)CPU的NUMA架構(gòu)。在Linux環(huán)境下可以通過(guò)以下命令查看CPU信息:由以上信息可知,該宿

7、主機(jī)一共兩個(gè)CPU(socket),每個(gè)CPU 10核(core),每個(gè)核可以開(kāi)啟兩個(gè)超線程(thread),即一共有40個(gè)邏輯CPU,包含兩個(gè)NUMA node,其中node0包括0,2,4,.,38,node1包括1,3,5,.,39。預(yù)留CPU個(gè)數(shù)和內(nèi)存需要根據(jù)實(shí)際情況調(diào)整,比如若計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)融合,則需要預(yù)留更多的CPU來(lái)保證存儲(chǔ)服務(wù)的性能。本例子僅作為測(cè)試使用,測(cè)試環(huán)境預(yù)留了4個(gè)邏輯CPU(1-3)和4GB物理內(nèi)存給宿主機(jī),剩下的資源全部分配給虛擬機(jī)使用。配置虛擬機(jī)使用的CPU集合(cpuset)是通過(guò)計(jì)算節(jié)點(diǎn)的 vcpu_pin_set 配置項(xiàng)指定,目前支持以下三種語(yǔ)法格式:1

8、,2,3 # 指定CPU號(hào),逗號(hào)隔開(kāi)。2-15, 18-31 # 使用-表示連續(xù)CPU序列,使用逗號(hào)分隔。0,1,2,3 # 使用表示排除的CPU號(hào),剩下的全部作為虛擬機(jī)使用。以上三種語(yǔ)法格式可以組合使用。compute節(jié)點(diǎn)Nova參考配置如下:如果需要配置虛擬機(jī)CPU獨(dú)占,則還需要配置內(nèi)核參數(shù) isolcpu 來(lái)限制其他進(jìn)程使用指定的CPU。比如我們需要把CPU 2,3,6,7作為CPU pinning給虛擬機(jī)獨(dú)占,設(shè)置如下:重新安裝grub:重啟宿主機(jī),下次系統(tǒng)啟動(dòng)時(shí)會(huì)默認(rèn)添加如下內(nèi)核參數(shù):在nova-scheduler節(jié)點(diǎn)上,需要配置默認(rèn)filter,filters中必須包含Aggreg

9、ateInstanceExtraSpecFilter和NUMATopologyFilter這兩個(gè)filter:配置完重啟所有的nova-scheduler服務(wù):2.3 創(chuàng)建主機(jī)集合在實(shí)際環(huán)境中肯定不是所有的計(jì)算節(jié)點(diǎn)都開(kāi)啟這些高級(jí)功能,并且CPU特性也有差別,我們可以通過(guò)主機(jī)集合(host aggregate)把所有相同的CPU配置放到一個(gè)集合中,通過(guò)主機(jī)集合(host aggregate)區(qū)分哪些計(jì)算節(jié)點(diǎn)開(kāi)啟CPU核綁定功能,哪些不開(kāi)啟。首先創(chuàng)建pinned-cpu主機(jī)集合:增加metadata區(qū)分pinned:把配置開(kāi)啟了CPU核綁定功能的兩個(gè)host加到該主機(jī)集合中:此時(shí)nova sche

10、duler只要接收到包含pinned=true元數(shù)據(jù)的請(qǐng)求就會(huì)自動(dòng)從包含pinned=true元數(shù)據(jù)的主機(jī)中調(diào)度。2.4 創(chuàng)建flavor目前Nova并不支持啟動(dòng)時(shí)直接指定主機(jī)集合的metadata(hint只支持指定server group),需要通過(guò)flavor的extra specs配置,并與主機(jī)集合的metadata匹配,不匹配的主機(jī)將被過(guò)濾掉,不會(huì)被選擇作為候選主機(jī)。flavor支持很多內(nèi)置的extra specs,通過(guò)內(nèi)置extra specs,可以配置虛擬機(jī)的CPU拓?fù)洹oS、CPU pinning策略、NUMA拓?fù)湟约癙CI passthrough等,更詳細(xì)的介紹可參考官方文

11、檔。這里我們只關(guān)心CPU拓?fù)浜秃私壎üδ堋H缦率窃O(shè)置CPU topology的語(yǔ)法,自定義CPU的socket數(shù)量、core數(shù)量以及超線程數(shù)量:注意以上配置項(xiàng)不需要全部設(shè)置,只需要設(shè)置其中一個(gè)或者幾個(gè),剩余的值會(huì)自動(dòng)計(jì)算。CPU核綁定配置語(yǔ)法如下:其中CPU-POLICY合法值為shared、dedicated,默認(rèn)為shared,即不進(jìn)行CPU核綁定,我們需要把這個(gè)值設(shè)置為dedicated。CPU-THREAD-POLICY和SMT有關(guān),合法值為:prefer: 宿主機(jī)不一定需要符合SMT架構(gòu),如果宿主機(jī)具備SMT架構(gòu),將優(yōu)先分配thread siblings。isolate: 宿主機(jī)SM

12、T架構(gòu)不是必須的,如果宿主機(jī)不具備SMT架構(gòu),每個(gè)vCPU將綁定不同的pCPU,如果宿主機(jī)是SMT架構(gòu)的,每個(gè)vCPU綁定不同的物理核。require: 宿主機(jī)必須滿足SMT架構(gòu),每個(gè)vCPU在不同的thread siblins上分配,如果宿主機(jī)不具備SMT架構(gòu)或者core的空閑thread siblings不滿足請(qǐng)求的vCPU數(shù)量,將導(dǎo)致調(diào)度失敗。通常設(shè)置成默認(rèn)值prefer或者isolate即可。接下來(lái)開(kāi)始創(chuàng)建flavor,設(shè)置為8個(gè)CPU、2GB內(nèi)存以及20GB磁盤(pán)空間:設(shè)置CPU Policy:添加pinned相關(guān)的extra specs用于匹配主機(jī)集合metadata,保證調(diào)度時(shí)只選

13、擇開(kāi)啟了核綁定的宿主機(jī):配置CPU拓?fù)錇? sockets * 2 cores * 2 threads:查看flavor的extra specs信息:2.5 功能驗(yàn)證使用新創(chuàng)建的Flavor創(chuàng)建虛擬機(jī):使用 nova show 命令查看虛擬機(jī)所在的宿主機(jī),在該宿主機(jī)上查看虛擬機(jī)的xml文件:其中306abd22-28c5-4f91-a5ce-0dad03a35f4為虛擬機(jī)的uuid。在xml文件中可以看到如下內(nèi)容:即vCPU與pCPU的綁定關(guān)系。進(jìn)入虛擬機(jī)中查看CPU信息結(jié)果如下:和我們配置的結(jié)果一樣(2 sockets * 2 cores * 2 threads)。在虛擬機(jī)上執(zhí)行高密度計(jì)算,

14、測(cè)試的Python腳本如下:使用shell腳本同時(shí)跑50個(gè)進(jìn)程,保證CPU滿載運(yùn)行:使用sar命令查看宿主機(jī)CPU使用情況:結(jié)果如下:從CPU使用情況看宿主機(jī)的pCPU 4-5,8-9,24-25,28-29使用率100%,并且整個(gè)過(guò)程中沒(méi)有浮動(dòng),符合我們的預(yù)期結(jié)果,說(shuō)明CPU核綁定成功。3 虛擬化嵌套3.1 開(kāi)啟虛擬化嵌套默認(rèn)情況下我們創(chuàng)建的KVM虛擬機(jī)的CPU特性中沒(méi)有包含vmx,這意味著不能在虛擬機(jī)中再創(chuàng)建開(kāi)啟KVM硬件加速的虛擬機(jī),即不支持虛擬化嵌套。值得慶幸的是,目前除了VirtualBox(題外話:VirtualBox在9年前就有人提出要支持嵌套,只是一直沒(méi)有實(shí)現(xiàn),參考ticket

15、#4032),主流的hypervisor比如VMware、KVM、Xen都支持已經(jīng)虛擬化嵌套。也就是說(shuō),我們可以實(shí)現(xiàn)在支持KVM的宿主機(jī)創(chuàng)建同樣支持KVM的虛擬機(jī)。這里以KVM為例,首先查看系統(tǒng)是否開(kāi)啟了KVM嵌套功能:如果輸出為N則表明沒(méi)有開(kāi)啟KVM嵌套功能,可以通過(guò)修改/etc/modprobe.d/kvm-intel.conf配置文件開(kāi)啟該功能:重新加載kvm-intel內(nèi)核模塊:3.2 配置計(jì)算節(jié)點(diǎn)OpenStack支持虛擬化嵌套,修改計(jì)算節(jié)點(diǎn)的nova配置文件/etc/nova/nova.conf,設(shè)置cpu_mode = host-passthrough,然后重啟nova-comp

16、ute服務(wù)即可。需要注意的是,使用host-passthrough的虛擬機(jī)遷移功能受限,只能遷移到相同配置的宿主機(jī)。4 使用virtio-scsi驅(qū)動(dòng)4.1 virtio-blk VS virtio-scsi虛擬機(jī)的虛擬硬盤(pán)默認(rèn)使用半虛擬化驅(qū)動(dòng)virt-blk,此時(shí)硬盤(pán)在虛擬機(jī)的設(shè)備名稱(chēng)形如/dev/vda、/dev/vdb等。事實(shí)上,virt-blk有點(diǎn)老了,其本身也存在許多問(wèn)題,比如:virt-blk的存儲(chǔ)設(shè)備和PCI設(shè)備一一對(duì)應(yīng),而我們知道系統(tǒng)中至多可以有32個(gè)PCI總線,這說(shuō)明虛擬機(jī)最多可以掛32個(gè)虛擬硬盤(pán)。virt-blk的設(shè)備名稱(chēng)為vda-z,而現(xiàn)代的物理機(jī)通常都會(huì)使用SCSI控制

17、器,設(shè)備名稱(chēng)為sda-z,這意味著物理機(jī)遷移到虛擬機(jī)中可能存在問(wèn)題,比如fstab中使用的設(shè)備名掛載而不是uuid,系統(tǒng)就會(huì)起不來(lái)。如WIKI所言,virt-blk實(shí)現(xiàn)的指令不是標(biāo)準(zhǔn)的,并且可擴(kuò)展差,實(shí)現(xiàn)一個(gè)新的指令,必須更新所有的guest。云計(jì)算架構(gòu)模式下,為了節(jié)省存儲(chǔ)空間,用戶(hù)更傾向于使用精簡(jiǎn)置備(thin provision),virtio-blk不支持discard特性,關(guān)于discard特性后面講。因此,建議使用virtio-scsi半虛擬化驅(qū)動(dòng)代替virtio-blk,這是因?yàn)?實(shí)現(xiàn)的是標(biāo)準(zhǔn)的SCSI指令接口,不需要額外實(shí)現(xiàn)指令,在虛擬機(jī)里看到的設(shè)備名稱(chēng)和物理機(jī)一樣(sda-z)

18、,解決了前面提到的物理機(jī)和虛擬機(jī)設(shè)備名不一樣的問(wèn)題。一個(gè)SCSI控制器可以接256個(gè)targets,而一個(gè)target可以接16384個(gè)LUNs,也就是說(shuō)一個(gè)controller理論上可以掛載256 * 16384 = 4194304個(gè)虛擬機(jī)硬盤(pán),這100%足夠了。virtio-scsi支持直通模式(passthrough),也就是說(shuō)可以把物理機(jī)的硬盤(pán)直接映射給虛擬機(jī)。virtio-scsi支持前面提到的discard特性。4.2 塊設(shè)備的discard功能前面提到塊設(shè)備的discard特性,這個(gè)主要和精簡(jiǎn)置備有關(guān),就拿Ceph RBD說(shuō),我們知道當(dāng)我們分配一個(gè)20GB的image時(shí),Ceph

19、并不會(huì)真正分配20GB的存儲(chǔ)空間,而是根據(jù)需要逐塊分配,這和Linux的sparse稀疏文件的原理是一樣的,這個(gè)特性節(jié)省了物理存儲(chǔ)空間,實(shí)現(xiàn)了硬盤(pán)的超售。然而,Ceph只知道上層文件系統(tǒng)需要空間時(shí)就分配,而并不知道上層文件系統(tǒng)如何使用存儲(chǔ)資源的(實(shí)際上也不關(guān)心)。而實(shí)際上,我們的文件系統(tǒng)肯定是頻繁創(chuàng)建文件、刪除文件的,刪除文件后按理說(shuō)是可以釋放物理存儲(chǔ)資源的,然而Ceph并不知道,所以不會(huì)回收,占據(jù)的存儲(chǔ)空間會(huì)越來(lái)越多,直到空間達(dá)到真實(shí)的分配空間大小(20GB),而文件系統(tǒng)層可能并沒(méi)有真正使用那么多空間,這就造成了存儲(chǔ)空間利用率下降的問(wèn)題。比如,我們創(chuàng)建了一個(gè)5GB的文件,Ceph底層會(huì)分配5

20、GB的空間,此時(shí)我們把這個(gè)5GB的文件刪除,分配的這5GB空間并不會(huì)釋放。好在Linux支持fstrim,如果塊設(shè)備支持discard特性,文件系統(tǒng)會(huì)發(fā)送flush通知給底層塊設(shè)備(RBD),塊設(shè)備會(huì)回收空閑資源。Sbastien Han寫(xiě)了一篇博客關(guān)于ceph discard的,參考ceph and krbd discard。正如前面所言,virt-blk是不支持discard的,而virt-scsi支持,所以如果關(guān)心底層存儲(chǔ)的空間利用率,建議使用virt-scsi,并在掛載設(shè)備中指定discard參數(shù)(或者寫(xiě)到fstab中):但是需要注意的是,任何事物都具有兩面性,既有優(yōu)點(diǎn),也存在缺點(diǎn):v

21、irio-scsi相對(duì)virtio-blkIO路徑會(huì)更復(fù)雜,性能可能會(huì)有所下降,參考virtio-blk vs virtio-scsi。通過(guò)mount命令掛載虛擬硬盤(pán)時(shí)開(kāi)啟discard特性會(huì)降低文件系統(tǒng)的讀寫(xiě)性能。4.3 OpenStack使用virtio-scsi驅(qū)動(dòng)前面講了那么多關(guān)于virio-blk以及virtio-scsi,那怎么在OpenStack中使用virtio-scsi呢?很簡(jiǎn)單,只需要設(shè)置Glance鏡像的property就可以了:通過(guò)這個(gè)配置不僅使根磁盤(pán)會(huì)使用virtio-scsi驅(qū)動(dòng),掛載新的Cinder volume也會(huì)默認(rèn)使用virtio-scsi驅(qū)動(dòng)。需要注意的是

22、,制作OpenStack鏡像時(shí)一定要保證initrd中包含virtio-scsi驅(qū)動(dòng),否則操作系統(tǒng)會(huì)由于在初始化時(shí)不識(shí)別SCSI塊設(shè)備導(dǎo)致啟動(dòng)失敗:如果鏡像的initrd沒(méi)有virtio驅(qū)動(dòng),可以編輯/etc/sysconfig/kernel文件,配置INITRD_MODULES參數(shù):然后重新生成initrd文件:啟動(dòng)虛擬機(jī)后,如果根硬盤(pán)的設(shè)備名稱(chēng)為/dev/sda,則說(shuō)明使用的是virtio-scsi驅(qū)動(dòng)。5 使用qemu-guest-agent5.1 qemu-guest-agent簡(jiǎn)介我們都知道OpenStack虛擬機(jī)啟動(dòng)時(shí)是通過(guò)cloud-init完成初始化配置的,比如網(wǎng)卡配置、主機(jī)名

23、配置、注入用戶(hù)密碼等。而虛擬機(jī)啟動(dòng)之后處于運(yùn)行狀態(tài)時(shí),外部如何與虛擬機(jī)通信呢,這就是qemu-guest-agent要完成的事,這其實(shí)在如何構(gòu)建OpenStack鏡像(該文可點(diǎn)擊到專(zhuān)欄閱讀)一文中已經(jīng)介紹過(guò),這里直接搬過(guò)來(lái)。qemu-guest-agent是運(yùn)行在虛擬機(jī)的一個(gè)daemon服務(wù),libvirt會(huì)在宿主機(jī)本地創(chuàng)建一個(gè)unix socket,并模擬為虛擬機(jī)內(nèi)部的一個(gè)串口設(shè)備,從而實(shí)現(xiàn)了宿主機(jī)與虛擬機(jī)通信,這種方式不依賴(lài)于TCP/IP網(wǎng)絡(luò)。如下是開(kāi)啟qemu-guest-agent的虛擬機(jī)xml配置信息:以上宿主機(jī)的socket文件為org.qemu.guest_agent.0.ins

24、tance-00003c2c.sock,在虛擬機(jī)內(nèi)部映射為/dev/virtio-ports/org.qemu.guest_agent.0。通過(guò)這種方式,宿主機(jī)只要發(fā)送指令到該socket文件中就會(huì)在虛擬機(jī)對(duì)應(yīng)的串口設(shè)備中收到,虛擬機(jī)內(nèi)部的qemu-guest-agent會(huì)輪詢(xún)查看這個(gè)串行設(shè)備是否有指令,一旦接收到指令就可以執(zhí)行對(duì)應(yīng)的腳本,從而實(shí)現(xiàn)了宿主機(jī)控制虛擬機(jī)執(zhí)行命令的功能,其中最常用的指令就是通過(guò)libvirt修改虛擬機(jī)密碼。更多關(guān)于qemu-guest-agent請(qǐng)參考官方文檔。5.2 在OpenStack中應(yīng)用首先在制作鏡像時(shí)需要安裝qemu-guest-agent服務(wù):在glan

25、ce鏡像中添加hw_qemu_guest_agentproperty:可以通過(guò)Nova的nova set-password 子命令驗(yàn)證修改虛擬機(jī)的密碼功能。需要注意的是,Nova默認(rèn)修改的是管理員用戶(hù)的密碼,Linux系統(tǒng)為root,Windows系統(tǒng)為Administrator,因此上傳鏡像時(shí)需要指明鏡像是什么操作系統(tǒng)類(lèi)型:當(dāng)然你也可以通過(guò)os_admin_user屬性配置修改其他用戶(hù)的密碼,比如配置修改密碼時(shí)指定用戶(hù)不是root,而是ubuntu用戶(hù):6 網(wǎng)卡多隊(duì)列默認(rèn)情況下網(wǎng)卡中斷由單個(gè)CPU處理,當(dāng)有大量網(wǎng)絡(luò)包時(shí)單個(gè)CPU處理網(wǎng)絡(luò)中斷就可能會(huì)出現(xiàn)瓶頸。通過(guò)網(wǎng)卡多隊(duì)列技術(shù)可以把網(wǎng)卡的中斷

26、分?jǐn)偟蕉鄠€(gè)CPU中。阿里云官方文檔測(cè)試表明在網(wǎng)絡(luò)PPS和網(wǎng)絡(luò)帶寬的測(cè)試中,與1個(gè)隊(duì)列相比,2個(gè)隊(duì)列最多可提升50%到1倍,4個(gè)隊(duì)列的性能提升更大。OpenStack支持配置網(wǎng)卡多隊(duì)列(要求內(nèi)核版本大于3.0),配置方法如下:隊(duì)列長(zhǎng)度固定為虛擬機(jī)的核數(shù)。創(chuàng)建虛擬機(jī)查看網(wǎng)卡信息:網(wǎng)卡信息表明支持的最大隊(duì)列(Combined)為2,目前設(shè)置為1,可以通過(guò)ethtool工具修改配置:為了保證中斷自動(dòng)均衡到所有的CPU,建議開(kāi)啟irqbalance服務(wù):7 watchdog在一些分布式集群中,我們可能期望虛擬機(jī)crash時(shí)自動(dòng)關(guān)機(jī),防止出現(xiàn)集群腦裂?;蛘弋?dāng)負(fù)載過(guò)高時(shí)自動(dòng)執(zhí)行重啟,使服務(wù)恢復(fù)正常。OpenStack支持配置虛擬watchdog,首先制作鏡像時(shí)需要安裝并開(kāi)啟watchdog服務(wù):配置如下glance image屬性:其中支持的action列表如下:rese

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論