?

計算機軟件中的插件技術分析

2016-11-09 00:32邱恩海
數字技術與應用 2016年9期
關鍵詞:插件云計算

邱恩海

摘要:虛擬化作為信息技術領域一個新興的事物,云計算近年來逐步推廣和普及。由于云計算擬化技術大大節省物理資源、具有良好的隔離性、高可用的優點,云計算大受IT界的歡迎。目前,在如何提高云平臺的高可用性方面已經有很多的研究,傳統的云平臺高可用性措施都停留在物理主機層面,沒有提供應用級、業務級的高可用性措施。大多平臺的高可用性只針對公有云的,對私有云需要越來越大,雖然現在有很多的管理云平臺和很多業務平臺但是連通性不好,當業務出現故障,不能及時地通知管理平臺。文提出基于OpenStack構建一個高可用性插件。

關鍵詞:云計算 OpenStack 插件 運行環境

中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-9416(2016)09-0248-01

本文提出基于OpenStack構建一個高可用性插件,該插件主要目的是:第一,增加進程級的高可用性模塊,不斷檢測進程的運行情況,并利用虛擬機化技術對相應的故障進行處理;第二,實現業務和云平臺及時溝通,對傳統的Web系統進行云化提高專有云的高可用性,并在一定程度上實現云平臺的負載平衡。該插件不僅可以提高云平臺運行環境出現的故障,而且可以權衡云中資源的情況,合理分配資源,某種程度上實現云的負載平衡,避免了云平臺“假滿”的情況發生。

1 OpenStack云平臺概述

云計算作為一種新的計算模型,憑借其節省資源、降低成本、高可擴展性等優點得到了快速發展,在此過程中開源云計算架構也得到不斷發展和完善。OpenStack具有以下幾個方面的優點:代碼架構清晰,開發者可以根據自己的需要修改相應的代碼;性能穩定,提供了完善虛擬機管理功能;部署靈活,用戶可以根據自己的需要,進行相應地部署。

Opentstack主要有5大組件組成:Nova(計算服務)、Swift(存儲服務)、Glance(鏡像服務)、Keystone(識別服務)、Dashboard(用戶界面服務)。Nova是整個平臺的核心,是云平臺的控制器,它提供管理虛擬機的所有功能,其中包括創建虛擬機實例、管理網絡、控制用戶等。Swift是一個具有容量大、擴展性高,并具有冗余和容錯機制的對象存儲系統。Glance是負責管理虛擬機鏡像image的,功能主要包括存放image、檢索image等功能,并向外提供接口,用戶可以根據自己的需求調用相應的API請求檢索實際的鏡像和查詢VM元數據。Keystone主要負責管理和認證OpenStack租戶、角色,并為Swift提供授權服務。Dashboard是提供給用戶訪問OpenStack云平臺Web前端界面,用戶可以使用它方便使用OpenStack云平臺的功能。

2 基于OpenStack的高可用系統插件設計

基于OpenStack云平臺,構架一個自動檢測故障,并進行恢復的云平臺的插件。該插件主要從三個層次檢測故障,第一,從物理主機層,檢測物理主機運行時可能發生的故障;第二,從虛擬機層檢測虛擬機運行時可能發生的故障;第三,從虛擬應用層,檢測虛擬機中運行的進程發生的故障。該平臺主要的思路是借用現有的開源云平臺OpenStack的API,包括GUI層、Scheduler調度層、邏輯層和功能層層。按照該系統的工作機制,該系統從邏輯上化分為四個模塊:感知模塊、策略模塊、執行模塊、GUI模塊。

GUI層:主要用來與用戶進行交互,用戶可以通過該界面,獲得系統的運行狀況,其中包括:虛擬機的運行狀態、虛擬機的資源情況等,同時用戶可以通過界面控制虛擬機的運行狀況(例如停止某臺虛擬機),也可以進行一些系統的基本配置(比如掃描時間的設置),使得整個系統更靈活、更智能。

Scheduler調度層:主要是負責對事件隊列進行操作,是整個系統的核心,該層能夠保證事件有條不紊地被執行。此外,它需要對事件隊列滿、事件隊列空等各種異常進行處理,同時保證進程同步。

邏輯層:我們采取的是事件驅動機制,每個事件都有相對應的處理對象。我們的事件主要分為三種:感知事件、策略事件、執行事件。感知模塊響應感知事件,策略模塊響應策略事件,執行模塊響應執行事件。

功能層:主要是對LibvirtAPI和OpenStack API的封裝,用來與OpenStack和Libvirt進行交互,是整個系統的底層,提供對上述幾層的支持。

該插件由三個模塊組成。

感知模塊:由感知層執行類和感知層功能類組成,負責感知整個系統的運行情況,感知功能類是最底層類的,提供對感知執行類的支持。目前,從三個層次進行感知,第一層是感知物理主機,主要包括物理主機電源、主機網絡、物理主機CPU利用率、物理主機內存使用率、物理主機硬盤的使用情況;第二層是感知虛擬機,主要包括虛擬機狀態、虛擬機網絡、虛擬機CPU利用率、虛擬機內存使用率、虛擬機磁盤的使用情況;第三層是感知虛擬應用,主要包括虛擬應用狀態、虛擬應用CPU使用率、虛擬應用內存使用率、虛擬機應用鏈接數、虛擬機應用是否存在。

策略模塊:是由策略層執行類和策略功能類組成。主要根據感知的結果進行處理。若感知的結果是正常的,我們將什么都不處理,若感知的結果是異常的,我們就要進行制定相應的恢復策略。

執行模塊:主要是由執行層執行類和執行功能組成。其主要負載故障的恢復,針對主機,我們主要提供重啟主機、配置主機網絡、恢復主機上所有虛擬機、通知管理員等措施;針對虛擬機,主要由刪除虛擬機、重啟虛擬機、遷移虛擬機、配置虛擬機網絡、通知管理員等措施;針對應用層,我們主要是恢復應用、關閉進程等措施。

從上面的描述,該插件模塊執行的邏輯關系是:感知模塊觸發策略模塊,策略模塊塊觸發執行模塊。

參考文獻

[1]張倩楠.關于計算機軟件中的插件技術的探討[J].信息通信,2015,(4):112-112.

[2]王雪.計算機軟件中的插件技術研究[J].科學與財富,2015,(6):484-484.

[3]蔡廣松.關于計算機軟件中的插件技術的探討[J].計算機光盤軟件與應用,2013,(15):304-304,306.

[4]蔡霖.插件技術在計算機軟件技術中的運用[J].數字通信世界,2015,(10):52-52.

猜你喜歡
插件云計算
自編插件完善App Inventor與樂高機器人通信
插件技術在計算機軟件技術中的運用
實驗云:理論教學與實驗教學深度融合的助推器
MapWindowGIS插件機制及應用
基于Revit MEP的插件制作探討
插件技術在計算機軟件中的應用分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合