




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、OpenStack的Resize和冷遷移代碼解析及改進(jìn)OpenStack 的Resize(升級(jí))功能,我們可以改變虛擬機(jī)的CPU核數(shù)、內(nèi)存及磁盤大小,當(dāng)然虛擬機(jī)只能向上升級(jí),不允許向下降級(jí)。通過分析源代碼,我們發(fā)現(xiàn) Resize的過程其實(shí)就是冷遷移的過程,Resize多傳進(jìn)去了一個(gè)flavor參數(shù)。下面將分析OpenStack升級(jí)虛擬機(jī)和冷遷移的功能。一、前端入口(一) Resize/usr/share/openstack-dashboard/openstack_dashboard/dashboards/project/instances/workflows/resize_insta
2、nce.py/usr/share/openstack-dashboard/openstack_dashboard/api/nova.py從代碼可知,利用novaclient客戶端,向后端發(fā)出升級(jí)請(qǐng)求 (二) 冷遷移/usr/share/openstack-dashboard/openstack_dashboard/dashboards/admin/instances/tables.py/usr/share/openstack-dashboard/openstack_dashboard/api/nova.py從代碼可知,利用novaclient客戶端,向后端發(fā)出遷移請(qǐng)求二、后
3、端響應(yīng)當(dāng)novaclient發(fā)出請(qǐng)求時(shí),一般由nova-api組件作出響應(yīng)。我們將分別分析nova-api如何對(duì)resize和冷遷移進(jìn)行響應(yīng)。(一) Resize對(duì)Resize請(qǐng)求進(jìn)行響應(yīng)的函數(shù)位于文件/usr/lib/python2.7/dist-packages/nova/api/openstack/compute/servers.py繼續(xù)深入self._resize()函數(shù)從上述代碼可知,最后通過compute_api.resize進(jìn)行調(diào)用,它傳了instance和flavor_id兩個(gè)參數(shù)進(jìn)去 (二) 冷遷移/usr/lib/python2.7/dist-
4、packages/nova/api/openstack/compute/contrib/admin_actions.py從代碼可知,冷遷移也調(diào)用了compute_api.resize(),相比Resize功能,它只傳了instance一個(gè)參數(shù)進(jìn)去(三) Resize和冷遷移的共同過程下面將從compute_api.resize()開始分析,這段代碼位于文件/usr/lib/python2.7/dist-packages/nova/compute/api.py/usr/lib/python2.7/dist-packages/nova/conductor/api.pyNova-condu
5、ctor組件響應(yīng)請(qǐng)求/usr/lib/python2.7/dist-packages/nova/conductor/manager.py函數(shù)_cold_migrate()通過上述代碼我們發(fā)現(xiàn),首先是通過rpc調(diào)用nova-scheduler組件調(diào)度最優(yōu)節(jié)點(diǎn)。調(diào)度算法分為兩個(gè)階段,即filter和weight。首先是過濾(filter),從所有的主機(jī)中找到符合實(shí)例運(yùn)行條件的主機(jī),然后從過濾出來的主機(jī)中,找到最合適的一個(gè)主機(jī)。過 濾階段系統(tǒng)默認(rèn)調(diào)用的filter主要包括RetryFilter、AvailabilityZoneFilter、RamFilter、 ComputeFilter、Compu
6、teCapabilitiesFilter、ImagePropertiesFilter,其中比較重要的 filter包括AvailabilityZoneFilter和RamFilter,AvailabilityZoneFiter保證了調(diào)度發(fā)生在同一 個(gè)zone,RamFilter確保了內(nèi)存是否足夠,默認(rèn)情況下,ram的擴(kuò)大系數(shù)為1.5,也就是假如物理內(nèi)存為100G,內(nèi)存被虛擬為150G,通過 nova.conf配置文件,我們可以改變擴(kuò)大系數(shù)。此外,通過配置文件,我們還可以改變調(diào)用的過濾器,除了上述過濾器外,我們還可以使用 CoreFilter、DiskFilter、IoOpsFilter等。這些
7、都是系統(tǒng)自帶的過濾器,我們也可以根據(jù)需求,自己構(gòu)造過濾器。Weight階段,從它做的工作來看,就是從符合條件的主機(jī)中選擇“最合適”的主機(jī),這個(gè)選擇的過程是通過“評(píng)分”來實(shí)現(xiàn)的?,F(xiàn)階段的weight很簡單,主要通過RAMWeigher進(jìn)行權(quán)衡,剩余內(nèi)存越大,權(quán)值越大。目的節(jié)點(diǎn)nova-compute開始響應(yīng)/usr/lib/python2.7/dist-packages/nova/compute/manager.py(2885)_prep_resize()/usr/lib/python2.7/dist-packages/nova/compute/manager.py(3020)resize_in
8、stance() /usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py(4487)migrate_disk_and_power_off()/usr/share/pyshared/nova/compute/manager.py:3153/usr/lib/python2.7/dist-packages/nova/compute/manager.py(3073)_finish_resize()/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py通過self._create_domain_and_network就成功創(chuàng)建了虛擬機(jī)。一、 不足與改進(jìn)通過對(duì)Resize的分析,我們發(fā)現(xiàn)有以下幾個(gè)缺陷1)AvailabilityZoneFilter遷 移過程中,會(huì)出現(xiàn)跨域的resize,availabilityZoneFilter好像并沒有起到過濾錯(cuò)誤,這是由于我們創(chuàng)建虛擬機(jī)時(shí),虛擬機(jī)的域選擇 為ramdom,因此AvailabilityZoneFilter過濾器會(huì)對(duì)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 預(yù)備役介紹課件
- 健康飲食產(chǎn)業(yè)園項(xiàng)目運(yùn)營管理方案(范文模板)
- 城市污水管網(wǎng)建設(shè)工程初步設(shè)計(jì)(參考模板)
- 2025年交流調(diào)頻調(diào)壓牽引裝置項(xiàng)目建議書
- 五年級(jí)上冊(cè)音樂教案(全集)
- 現(xiàn)場施工事故應(yīng)急救援預(yù)案制度
- 2025年新型節(jié)能水泵、風(fēng)機(jī)和壓縮機(jī)項(xiàng)目建議書
- 2025年防沉劑項(xiàng)目發(fā)展計(jì)劃
- 2025年高純工藝系統(tǒng)設(shè)備分條機(jī)項(xiàng)目建議書
- 針對(duì)2025年工業(yè)污染源全面達(dá)標(biāo)排放計(jì)劃的實(shí)施方案的環(huán)境風(fēng)險(xiǎn)評(píng)估與管理001
- 2024-2030年中國工業(yè)防銹劑行業(yè)需求動(dòng)態(tài)與應(yīng)用前景預(yù)測報(bào)告
- 跨學(xué)科主題學(xué)習(xí)-美化校園 2024-2025學(xué)年七年級(jí)地理上冊(cè)新教材教學(xué)課件(人教版2024)
- TZJFS 015-2024 環(huán)境責(zé)任險(xiǎn)風(fēng)險(xiǎn)評(píng)估技術(shù)規(guī)范
- DB511044-2022孤兒成年后社會(huì)融合能力評(píng)估社會(huì)工作服務(wù)指南
- 江蘇省徐州市2023-2024學(xué)年八年級(jí)下學(xué)期期末數(shù)學(xué)試卷(含答案解解)
- 石家莊市國企招聘考試真題題庫2024版
- 畫家簽約合同模板
- 人體常見病智慧樹知到期末考試答案章節(jié)答案2024年
- DZ∕T 0051-2017 地質(zhì)巖心鉆機(jī)型式與規(guī)格系列(正式版)
- 企業(yè)5S標(biāo)準(zhǔn)化管理
- 社區(qū)工作者招聘考試歷年真題庫含備考資料
評(píng)論
0/150
提交評(píng)論