- 相關(guān)推薦
試析計(jì)算機(jī)軟件中的插件技術(shù)探討性論文
本文提出基于OpenStack構(gòu)建一個(gè)高可用性插件,該插件主要目的是:第一,增加進(jìn)程級(jí)的高可用性模塊,不斷檢測(cè)進(jìn)程的運(yùn)行情況,并利用虛擬機(jī)化技術(shù)對(duì)相應(yīng)的故障進(jìn)行處理;第二,實(shí)現(xiàn)業(yè)務(wù)和云平臺(tái)及時(shí)溝通,對(duì)傳統(tǒng)的Web系統(tǒng)進(jìn)行云化提高專(zhuān)有云的高可用性,并在一定程度上實(shí)現(xiàn)云平臺(tái)的負(fù)載平衡。該插件不僅可以提高云平臺(tái)運(yùn)行環(huán)境出現(xiàn)的故障,而且可以權(quán)衡云中資源的情況,合理分配資源,某種程度上實(shí)現(xiàn)云的負(fù)載平衡,避免了云平臺(tái)“假滿”的情況發(fā)生。
1 OpenStack云平臺(tái)概述
云計(jì)算作為一種新的計(jì)算模型,憑借其節(jié)省資源、降低成本、高可擴(kuò)展性等優(yōu)點(diǎn)得到了快速發(fā)展,在此過(guò)程中開(kāi)源云計(jì)算架構(gòu)也得到不斷發(fā)展和完善。OpenStack具有以下幾個(gè)方面的優(yōu)點(diǎn):代碼架構(gòu)清晰,開(kāi)發(fā)者可以根據(jù)自己的需要修改相應(yīng)的代碼;性能穩(wěn)定,提供了完善虛擬機(jī)管理功能;部署靈活,用戶可以根據(jù)自己的需要,進(jìn)行相應(yīng)地部署。
Opentstack主要有5大組件組成:Nova(計(jì)算服務(wù))、Swift(存儲(chǔ)服務(wù))、Glance(鏡像服務(wù))、Keystone(識(shí)別服務(wù))、Dashboard(用戶界面服務(wù))。Nova是整個(gè)平臺(tái)的核心,是云平臺(tái)的控制器,它提供管理虛擬機(jī)的所有功能,其中包括創(chuàng)建虛擬機(jī)實(shí)例、管理網(wǎng)絡(luò)、控制用戶等。Swift是一個(gè)具有容量大、擴(kuò)展性高,并具有冗余和容錯(cuò)機(jī)制的對(duì)象存儲(chǔ)系統(tǒng)。Glance是負(fù)責(zé)管理虛擬機(jī)鏡像image的,功能主要包括存放image、檢索image等功能,并向外提供接口,用戶可以根據(jù)自己的需求調(diào)用相應(yīng)的AP I請(qǐng)求檢索實(shí)際的鏡像和查詢(xún)VM元數(shù)據(jù)。Keystone主要負(fù)責(zé)管理和認(rèn)證OpenStack租戶、角色,并為Swift提供授權(quán)服務(wù)。Dashboard是提供給用戶訪問(wèn)OpenStack云平臺(tái)Web前端界面,用戶可以使用它方便使用OpenStack云平臺(tái)的功能。
2 基于OpenStack的高可用系統(tǒng)插件設(shè)計(jì)
基于OpenStack云平臺(tái),構(gòu)架一個(gè)自動(dòng)檢測(cè)故障,并進(jìn)行恢復(fù)的云平臺(tái)的插件。該插件主要從三個(gè)層次檢測(cè)故障,第一,從物理主機(jī)層,檢測(cè)物理主機(jī)運(yùn)行時(shí)可能發(fā)生的故障;第二,從虛擬機(jī)層檢測(cè)虛擬機(jī)運(yùn)行時(shí)可能發(fā)生的故障;第三,從虛擬應(yīng)用層,檢測(cè)虛擬機(jī)中運(yùn)行的進(jìn)程發(fā)生的故障。該平臺(tái)主要的思路是借用現(xiàn)有的開(kāi)源云平臺(tái)OpenStack的API,包括GUI層、Scheduler調(diào)度層、邏輯層和功能層層。按照該系統(tǒng)的工作機(jī)制,該系統(tǒng)從邏輯上化分為四個(gè)模塊:感知模塊、策略模塊、執(zhí)行模塊、GUI模塊。
GUI層:主要用來(lái)與用戶進(jìn)行交互,用戶可以通過(guò)該界面,獲得系統(tǒng)的運(yùn)行狀況,其中包括:虛擬機(jī)的運(yùn)行狀態(tài)、虛擬機(jī)的資源情況等,同時(shí)用戶可以通過(guò)界面控制虛擬機(jī)的運(yùn)行狀況(例如停止某臺(tái)虛擬機(jī)),也可以進(jìn)行一些系統(tǒng)的基本配置(比如掃描時(shí)間的設(shè)置),使得整個(gè)系統(tǒng)更靈活、更智能。
Scheduler調(diào)度層:主要是負(fù)責(zé)對(duì)事件隊(duì)列進(jìn)行操作,是整個(gè)系統(tǒng)的核心,該層能夠保證事件有條不紊地被執(zhí)行。此外,它需要對(duì)事件隊(duì)列滿、事件隊(duì)列空等各種異常進(jìn)行處理,同時(shí)保證進(jìn)程同步。邏輯層:我們采取的是事件驅(qū)動(dòng)機(jī)制,每個(gè)事件都有相對(duì)應(yīng)的處理對(duì)象。我們的事件主要分為三種:感知事件、策略事件、執(zhí)行事件。感知模塊響應(yīng)感知事件,策略模塊響應(yīng)策略事件,執(zhí)行模塊響應(yīng)執(zhí)行事件。
功能層:主要是對(duì)LibvirtAPI和OpenStack API的封裝,用來(lái)與OpenStack和Libvirt進(jìn)行交互,是整個(gè)系統(tǒng)的底層,提供對(duì)上述幾層的支持。
3 該插件由三個(gè)模塊組成
感知模塊:由感知層執(zhí)行類(lèi)和感知層功能類(lèi)組成,負(fù)責(zé)感知整個(gè)系統(tǒng)的運(yùn)行情況,感知功能類(lèi)是最底層類(lèi)的,提供對(duì)感知執(zhí)行類(lèi)的支持。
目前,從三個(gè)層次進(jìn)行感知,第一層是感知物理主機(jī),主要包括物理主機(jī)電源、主機(jī)網(wǎng)絡(luò)、物理主機(jī)CPU利用率、物理主機(jī)內(nèi)存使用率、物理主機(jī)硬盤(pán)的使用情況;第二層是感知虛擬機(jī),主要包括虛擬機(jī)狀態(tài)、虛擬機(jī)網(wǎng)絡(luò)、虛擬機(jī)CPU利用率、虛擬機(jī)內(nèi)存使用率、虛擬機(jī)磁盤(pán)的使用情況;第三層是感知虛擬應(yīng)用,主要包括虛擬應(yīng)用狀態(tài)、虛擬應(yīng)用CPU使用率、虛擬應(yīng)用內(nèi)存使用率、虛擬機(jī)應(yīng)用鏈接數(shù)、虛擬機(jī)應(yīng)用是否存在。
策略模塊:是由策略層執(zhí)行類(lèi)和策略功能類(lèi)組成。主要根據(jù)感知的結(jié)果進(jìn)行處理。若感知的結(jié)果是正常的,我們將什么都不處理,若感知的結(jié)果是異常的,我們就要進(jìn)行制定相應(yīng)的恢復(fù)策略。執(zhí)行模塊:主要是由執(zhí)行層執(zhí)行類(lèi)和執(zhí)行功能組成。其主要負(fù)載故障的恢復(fù),針對(duì)主機(jī),我們主要提供重啟主機(jī)、配置主機(jī)網(wǎng)絡(luò)、恢復(fù)主機(jī)上所有虛擬機(jī)、通知管理員等措施;針對(duì)虛擬機(jī),主要由刪除虛擬機(jī)、重啟虛擬機(jī)、遷移虛擬機(jī)、配置虛擬機(jī)網(wǎng)絡(luò)、通知管理員等措施;針對(duì)應(yīng)用層,我們主要是恢復(fù)應(yīng)用、關(guān)閉進(jìn)程等措施。從上面的描述,該插件模塊執(zhí)行的邏輯關(guān)系是:感知模塊觸發(fā)策略模塊,策略模塊塊觸發(fā)執(zhí)行模塊。
【試析計(jì)算機(jī)軟件中的插件技術(shù)探討性論文】相關(guān)文章:
多媒體技術(shù)在幼兒教育中的應(yīng)用和重要性論文(精選8篇)08-31
大數(shù)據(jù)時(shí)代下計(jì)算機(jī)軟件技術(shù)探析論文03-24
信息技術(shù)在服裝設(shè)計(jì)中的應(yīng)用論文03-22
體育教學(xué)與訓(xùn)練實(shí)施中多媒體技術(shù)應(yīng)用論文05-09
現(xiàn)代生物技術(shù)在醫(yī)學(xué)中的應(yīng)用論文(精選6篇)06-27
多媒體技術(shù)在音樂(lè)課堂中的運(yùn)用研究論文03-22
論文的可行性分析02-21
信息技術(shù)中的情感態(tài)度與價(jià)值觀教育的論文03-24