亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Linux 大規(guī)模集群應(yīng)用管理模型的研究及實(shí)現(xiàn)

        2022-05-24 11:43:50陳旭輝許竹霞
        電子設(shè)計(jì)工程 2022年10期
        關(guān)鍵詞:進(jìn)程模型管理

        陳旭輝,劉 洋,張 鴻,高 鵬,許竹霞

        (甘肅省氣象信息與技術(shù)裝備保障中心,甘肅 蘭州 730020)

        集群技術(shù)[1-3]是大型互聯(lián)網(wǎng)業(yè)務(wù)、人工智能、大數(shù) 據(jù)等領(lǐng)域廣泛使用的技術(shù),可以提高應(yīng)用系統(tǒng)的可靠性等性能。大型數(shù)據(jù)中心運(yùn)行的一個(gè)業(yè)務(wù)系統(tǒng)一般由多個(gè)集群組成,每個(gè)集群都有自己的管理系統(tǒng),互不兼容,運(yùn)維人員在維護(hù)中不得不在多個(gè)集群、主機(jī)之間來回切換,這種方式效率低、容易出錯(cuò)。ansible、puppet、saltstack[4-6]等運(yùn)維工具可以對(duì)集群多臺(tái)主機(jī)實(shí)施批量操作,但管理功能簡單、缺乏監(jiān)控功能。在HPC 領(lǐng)域[7-9],使用的Torque、slurm、LSF、LICO等管理軟件主要用于并行計(jì)算集群,不適合一般的集群。Veritas InfoScale Availability 是一個(gè)通用的集群應(yīng)用管理軟件[10],但是該軟件存在以下問題:①應(yīng)用監(jiān)控不能真實(shí)反映主機(jī)在集群中的狀態(tài);②無法管理單點(diǎn)啟動(dòng)、資源池等特殊的集群;③不支持分層管理;④采用代理模式,使用不便。AIOps(Artificial Intelligence for IT Operations)將人工智能與運(yùn)維結(jié)合,通過機(jī)器學(xué)習(xí)方法提升運(yùn)維效率[11-12],但技術(shù)門檻高,只在大型互聯(lián)網(wǎng)企業(yè)應(yīng)用。針對(duì)上述問題,文中提出一種通用的無代理集群應(yīng)用管理模型,該模型可以集中管理集群環(huán)境下的各種應(yīng)用。

        1 集群應(yīng)用管理模型

        根據(jù)大型集群環(huán)境應(yīng)用管理的需求,提出無代理分級(jí)管理模型,模型在功能方面具備監(jiān)控和控制雙重功能,在通用性方面支持管理所有的集群應(yīng)用。

        1.1 無代理

        應(yīng)用管理采用無代理模式,被管理計(jì)算機(jī)不用安裝管理軟件,所有管理命令由管理節(jié)點(diǎn)通過SSH在被管理節(jié)點(diǎn)上遠(yuǎn)程執(zhí)行。

        1.2 分級(jí)管理

        模型將集群分為應(yīng)用集群、管理集群、超級(jí)管理集群3 種。應(yīng)用集群指應(yīng)用系統(tǒng)建立的集群,用于運(yùn)行特定的集群應(yīng)用;應(yīng)用管理集群由多個(gè)應(yīng)用集群組成;超級(jí)管理集群由管理集群中的管理節(jié)點(diǎn)組成。3 種集群的關(guān)系圖如圖1 所示。

        圖1 3種集群關(guān)系圖

        模型采用兩級(jí)管理模式,超級(jí)應(yīng)用管理系統(tǒng)是最高級(jí)的管理系統(tǒng),負(fù)責(zé)管理超級(jí)管理集群中的應(yīng)用管理系統(tǒng)。應(yīng)用管理系統(tǒng)運(yùn)行在應(yīng)用管理集群上,負(fù)責(zé)管理轄區(qū)內(nèi)所有的集群應(yīng)用。

        1.3 管理功能

        管理模型定義了系統(tǒng)監(jiān)控、應(yīng)用監(jiān)控、應(yīng)用控制、遠(yuǎn)程運(yùn)維4 個(gè)管理功能。

        1)系統(tǒng)監(jiān)控:對(duì)主機(jī)CPU、內(nèi)存、磁盤空間、磁盤IONODE 空間等使用情況監(jiān)控,可以設(shè)置監(jiān)控告警閾值,共享存儲(chǔ)可以指定由一臺(tái)主機(jī)監(jiān)控。

        2)應(yīng)用監(jiān)控:對(duì)主機(jī)、應(yīng)用、應(yīng)用組運(yùn)行是否正常進(jìn)行實(shí)時(shí)監(jiān)測(cè)。

        3)應(yīng)用控制:集群環(huán)境下的應(yīng)用控制操作主要包含啟動(dòng)、停止、強(qiáng)制停止、重啟、主備切換、守護(hù)、監(jiān)控、負(fù)載均衡等。

        4)遠(yuǎn)程運(yùn)維:具有遠(yuǎn)程查看進(jìn)程、遠(yuǎn)程執(zhí)行命令、應(yīng)用備份、應(yīng)用克隆等功能。

        管理對(duì)象為應(yīng)用、應(yīng)用組、應(yīng)用系統(tǒng)3 種。應(yīng)用是應(yīng)用集群中實(shí)現(xiàn)某一功能的一個(gè)或一組程序;多個(gè)應(yīng)用按順序組成應(yīng)用組;多個(gè)應(yīng)用組按順序組成應(yīng)用系統(tǒng)。

        1.4 通用性

        通用性要求模型支持各種集群應(yīng)用的狀態(tài)監(jiān)控和維護(hù)。在監(jiān)控方面,模型支持主備應(yīng)用集群、并行應(yīng)用集群、資源池應(yīng)用集群、互斥集群4 種集群。在啟動(dòng)、停止等維護(hù)方面,支持多節(jié)點(diǎn)并行啟動(dòng)、均衡方式啟動(dòng)、單節(jié)點(diǎn)啟動(dòng)、互斥啟動(dòng)4 種集群啟動(dòng)方式。應(yīng)用集群的分類標(biāo)準(zhǔn)如下:

        主備應(yīng)用集群指一個(gè)應(yīng)用只能在集群中一臺(tái)主機(jī)上運(yùn)行,其他主機(jī)作為冷備。并行應(yīng)用集群指應(yīng)用在集群中所有主機(jī)上運(yùn)行。資源池應(yīng)用集群指應(yīng)用在集群中任意幾個(gè)主機(jī)上運(yùn)行,且運(yùn)行應(yīng)用的主機(jī)數(shù)量小于集群節(jié)點(diǎn)數(shù)量。當(dāng)兩個(gè)集群以互斥方式運(yùn)行時(shí)為互斥集群。

        多節(jié)點(diǎn)并行啟動(dòng)指應(yīng)用在集群中所有主機(jī)上同時(shí)啟動(dòng)。均衡方式啟動(dòng)指應(yīng)用在集群中部分主機(jī)上同時(shí)啟動(dòng),啟動(dòng)主機(jī)按CPU 負(fù)載自動(dòng)選取。單節(jié)點(diǎn)啟動(dòng)指應(yīng)用在集群中的一個(gè)主機(jī)上啟動(dòng)?;コ鈫?dòng)指一個(gè)集群啟動(dòng)前,必須停止另一個(gè)集群。

        1.5 輸入輸出

        輸入是用戶在執(zhí)行管理命令時(shí)使用的參數(shù),模型的輸入?yún)?shù)有3個(gè),第一個(gè)為命令,第二個(gè)為管理對(duì)象,第三為主機(jī),格式為:<action><any|應(yīng)用系統(tǒng)|應(yīng)用組|應(yīng)用><any|-H host>,其中第二個(gè)和第三個(gè)參數(shù)可以為多個(gè),可以用any 表示全部應(yīng)用或全部主機(jī)。

        應(yīng)用監(jiān)控輸出按應(yīng)用分組顯示,對(duì)異常的組或主機(jī)以紅色顯示。輸出格式有短格式、長格式、監(jiān)控格式3 種。短格式顯示應(yīng)用狀態(tài)和每個(gè)主機(jī)的狀態(tài);長格式在每一行信息前增加“系統(tǒng).應(yīng)用組.應(yīng)用”;監(jiān)控格式只顯示異常的信息。輸出格式根據(jù)第一個(gè)參數(shù)自動(dòng)判斷。

        2 應(yīng)用管理模型在bash下的實(shí)現(xiàn)

        利用提出的管理模型,采用bash 腳本語言設(shè)計(jì)了一套應(yīng)用管理軟件,設(shè)計(jì)原則及架構(gòu)如下。

        2.1 設(shè)計(jì)原則

        1)無依賴:采用bash shell 腳本語言開發(fā),不依賴任何第三方模塊或中間件,可以直接在Linux 機(jī)器上運(yùn)行。

        2)無代理:采用無代理模式,軟件只需部署在一臺(tái)管理機(jī)器上,被管理機(jī)器上不需安裝任何軟件。

        3)低開銷:監(jiān)控行為要盡量減少對(duì)被監(jiān)控機(jī)器的干擾,降低給被管理機(jī)器帶來的額外開銷。

        2.2 管理軟件架構(gòu)

        軟件采用分級(jí)管理模式,由超級(jí)應(yīng)用管理軟件和應(yīng)用管理軟件兩部分組成。超級(jí)應(yīng)用管理軟件管理多個(gè)應(yīng)用管理軟件。應(yīng)用管理軟件由應(yīng)用控制、應(yīng)用監(jiān)控、系統(tǒng)監(jiān)控、維護(hù)工具、日志收集、結(jié)果展示等模塊組成。系統(tǒng)架構(gòu)如圖2 所示。

        圖2 應(yīng)用管理軟件架構(gòu)

        2.3 關(guān)鍵技術(shù)及算法

        2.3.1 應(yīng)用狀態(tài)評(píng)估技術(shù)

        該軟件對(duì)主機(jī)及應(yīng)用狀態(tài)評(píng)估采用運(yùn)行模式、進(jìn)程、進(jìn)程數(shù)量3 個(gè)維度結(jié)合的評(píng)估方法,相比于文獻(xiàn)[13-15]中使用的方法,能夠更加全面、準(zhǔn)確地反映每臺(tái)主機(jī)、每個(gè)應(yīng)用在整個(gè)集群中的狀態(tài)。

        2.3.1.1 監(jiān)控項(xiàng)

        監(jiān)控項(xiàng)是用來監(jiān)控應(yīng)用狀態(tài)的參數(shù),由進(jìn)程關(guān)鍵字和進(jìn)程數(shù)量兩項(xiàng)組成。進(jìn)程關(guān)鍵字用能夠唯一識(shí)別一個(gè)進(jìn)程的字符串表示,可以使用復(fù)合關(guān)鍵字。進(jìn)程數(shù)量是正常狀態(tài)時(shí)該進(jìn)程的數(shù)量,用一個(gè)整數(shù)或范圍表示。一個(gè)應(yīng)用可以配置多個(gè)進(jìn)程監(jiān)控項(xiàng)。

        2.3.1.2 主機(jī)狀態(tài)評(píng)估

        主機(jī)狀態(tài)采用兩次評(píng)估法,首先根據(jù)監(jiān)控項(xiàng)獲取每個(gè)主機(jī)上進(jìn)程的啟動(dòng)情況,然后依據(jù)該應(yīng)用中所有進(jìn)程的狀態(tài),將每臺(tái)主機(jī)狀態(tài)預(yù)評(píng)估為正常、部分異常、未啟動(dòng)、SSH 異常4 種。其次在預(yù)評(píng)估基礎(chǔ)上,結(jié)合應(yīng)用運(yùn)行模式將主機(jī)狀態(tài)修正為正常、部分異常、未啟動(dòng)異常、SSH異常、違反運(yùn)行模式、空閑6種狀態(tài)。

        2.3.1.3 應(yīng)用狀態(tài)評(píng)估

        利用主機(jī)狀態(tài),根據(jù)應(yīng)用運(yùn)行模式對(duì)應(yīng)用狀態(tài)進(jìn)行評(píng)估,評(píng)估規(guī)則如下。

        主備模式:只有一臺(tái)主機(jī)狀態(tài)正常,其他未啟動(dòng),則應(yīng)用為正常;主機(jī)狀態(tài)全部為異常,則應(yīng)用為異常;兩臺(tái)以上主機(jī)正?;虼嬖诓糠之惓5闹鳈C(jī),則應(yīng)用為部分異常。

        并行模式:所有主機(jī)狀態(tài)正常,則該應(yīng)用狀態(tài)為正常;若所有主機(jī)狀態(tài)異常,則應(yīng)用狀態(tài)為異常;至少有一臺(tái)主機(jī)異常,則應(yīng)用狀態(tài)為部分異常。

        資源池模式:集群內(nèi)正常的主機(jī)數(shù)量在設(shè)定的范圍內(nèi),且無異?;虿糠之惓V鳈C(jī),則應(yīng)用狀態(tài)為正常;主機(jī)全部異常,則應(yīng)用狀態(tài)為異常;若正常的主機(jī)數(shù)量超過設(shè)定范圍或存在異常的主機(jī),則應(yīng)用狀態(tài)為部分異常。

        互斥模式:互斥應(yīng)用需要根據(jù)兩個(gè)應(yīng)用的狀態(tài)進(jìn)行再次評(píng)估,如果一個(gè)應(yīng)用正常,另一個(gè)異常,則將異常的應(yīng)用狀態(tài)修正為正常,如果兩個(gè)應(yīng)用都正常,則將它們都修正為異常,其他情況不用修正。

        2.3.2 并行化

        在軟件執(zhí)行的不同階段,采用了應(yīng)用系統(tǒng)間并行、應(yīng)用組間并行、應(yīng)用組內(nèi)并行、應(yīng)用內(nèi)多主機(jī)并行、主機(jī)內(nèi)監(jiān)控命令并行5 種并行技術(shù),將可以同時(shí)執(zhí)行的命令全部并行化。在編程中,使用了bash 的進(jìn)程并行、函數(shù)并行、代碼塊并行3 種并行技術(shù)。

        2.3.3 緩存加速技術(shù)

        該軟件采用了應(yīng)用配置緩存、SSH 命令輸出緩存兩種緩存技術(shù)。1)應(yīng)用配置緩存:在首次執(zhí)行應(yīng)用管理命令時(shí),將解析后的應(yīng)用配置文件緩存到內(nèi)存,后期直接從內(nèi)存讀入配置。2)SSH 命令輸出緩存:對(duì)一臺(tái)主機(jī)首次執(zhí)行SSH 命令時(shí),執(zhí)行合并后的監(jiān)控命令,獲取該主機(jī)上所有應(yīng)用的狀態(tài)并緩存,其他并行執(zhí)行的進(jìn)程需要該主機(jī)上應(yīng)用的狀態(tài)時(shí),直接從緩存中讀取,不需執(zhí)行SSH。

        2.3.4 多叉樹剪枝分層算法

        在對(duì)應(yīng)用組進(jìn)行啟動(dòng)、重啟操作時(shí),必須依照應(yīng)用組之間的依賴關(guān)系按順序執(zhí)行,軟件有先啟動(dòng)依賴、后重啟依賴兩種依賴關(guān)系。依賴關(guān)系一般由依賴圖或依賴樹描述[16],文中使用可以體現(xiàn)層次關(guān)系的依賴樹來表示多個(gè)應(yīng)用組之間的依賴關(guān)系,并采用多叉樹剪枝分層算法對(duì)依賴樹進(jìn)行剪枝,生成一顆無重復(fù)的多叉樹。該算法首先使用前序遍歷法搜索每個(gè)節(jié)點(diǎn),并裁剪、移動(dòng)重復(fù)的節(jié)點(diǎn),最終生成帶有分層信息的無重復(fù)多叉樹。

        重復(fù)節(jié)點(diǎn)裁剪規(guī)則:不同層重復(fù)的節(jié)點(diǎn)將低層的子樹剪枝后接到高層,同層重復(fù)的節(jié)點(diǎn)保留右節(jié)點(diǎn)刪除左側(cè)節(jié)點(diǎn),其下子節(jié)點(diǎn)合并到右側(cè)節(jié)點(diǎn)的子節(jié)點(diǎn)中。

        圖3(a)是根據(jù)應(yīng)用組A 的依賴關(guān)系生成的初始啟動(dòng)樹,共5 層,其中應(yīng)用組E、F 組有重復(fù),經(jīng)過裁剪后生成圖3(b)所示的無重復(fù)6 層多叉樹。

        圖3 初始啟動(dòng)樹和裁剪后啟動(dòng)樹

        2.3.5 資源池負(fù)載均衡調(diào)度算法

        資源池負(fù)載均衡調(diào)度負(fù)責(zé)將一個(gè)應(yīng)用按照主機(jī)CPU 負(fù)載合理地加載或遷移到適合的主機(jī)上。調(diào)度策略如下:初次啟動(dòng)時(shí),應(yīng)用自動(dòng)加載到CPU 負(fù)載最輕的主機(jī)上。后期負(fù)載均衡調(diào)度時(shí),應(yīng)用遷移到可用主機(jī)中CPU 負(fù)載最輕的主機(jī)上,且每次調(diào)度只能遷移運(yùn)行該應(yīng)用的主機(jī)中一半的主機(jī)。

        3 軟件與Veritas InfoScale對(duì)比

        Veritas InfoScale 是功能比較全面的集群應(yīng)用管理軟件,為應(yīng)用提供了高可用方案,可以實(shí)現(xiàn)對(duì)集群中應(yīng)用的啟動(dòng)、停止、監(jiān)控、故障恢復(fù)等操作。文中的應(yīng)用管理軟件可以實(shí)現(xiàn)InfoScale 的應(yīng)用管理功能,同時(shí)還增加了一些其不具備的功能,可以管理任意集群應(yīng)用,二者功能比較如表1 所示,表中的“是”表示支持或有,“否”表示不支持或沒有。

        表1 應(yīng)用管理系統(tǒng)與Veritas InfoScale的功能比較

        4 在氣象大數(shù)據(jù)云平臺(tái)中的應(yīng)用

        4.1 運(yùn)行環(huán)境

        甘肅省氣象局大數(shù)據(jù)云平臺(tái)有Linux主機(jī)147臺(tái),按照功能劃分為12 個(gè)相對(duì)獨(dú)立的應(yīng)用系統(tǒng),共有105 個(gè)應(yīng)用組、367 個(gè)應(yīng)用,一個(gè)應(yīng)用表示一個(gè)應(yīng)用集群。每個(gè)應(yīng)用系統(tǒng)建立一個(gè)管理集群,在每個(gè)管理集群中選2 臺(tái)主機(jī)作為管理節(jié)點(diǎn),部署應(yīng)用管理軟件,然后將24 臺(tái)管理節(jié)點(diǎn)組成超級(jí)管理集群,選擇其中任意一臺(tái)作為超級(jí)管理節(jié)點(diǎn),部署應(yīng)用超級(jí)管理軟件。系統(tǒng)劃分如表2 所示。

        表2 甘肅氣象大數(shù)據(jù)云平臺(tái)應(yīng)用系統(tǒng)

        4.2 運(yùn)行分析

        1)通用性方面,軟件支持大數(shù)據(jù)平臺(tái)中所有的應(yīng)用集群,管理的應(yīng)用集群達(dá)到360 多個(gè)[17-18]。如spark 集群的應(yīng)用組包含兩個(gè)應(yīng)用,master 應(yīng)用以主備模式運(yùn)行,可以運(yùn)行在集群中任意一臺(tái)主機(jī)上,有浮動(dòng)IP。slave 是資源池模式應(yīng)用,運(yùn)行在除master節(jié)點(diǎn)之外的任意2 臺(tái)主機(jī)上。

        2)監(jiān)控方面,軟件可以真實(shí)反映集群應(yīng)用的運(yùn)行情況,可以快速定位故障節(jié)點(diǎn)及故障原因,并可以通過微信向管理人員發(fā)送告警信息。圖4 是spark 應(yīng)用組正常運(yùn)行時(shí)監(jiān)控命令輸出結(jié)果,其中第3 列表示正在運(yùn)行的進(jìn)程數(shù)量,第4 列表示配置的進(jìn)程數(shù)量,雖然部分主機(jī)上進(jìn)程沒有啟動(dòng),但符合集群運(yùn)行模式要求,主機(jī)及應(yīng)用狀態(tài)均為正常。

        圖4 spark應(yīng)用組正常時(shí)監(jiān)控輸出

        3)監(jiān)控性能方面,采用并行技術(shù)可以明顯提高監(jiān)控的效率。圖5 是不同并行方案所需的時(shí)間。在未使用并行技術(shù)時(shí),對(duì)147 臺(tái)主機(jī)的應(yīng)用狀態(tài)監(jiān)控需執(zhí)行600 多次SSH,用時(shí)2 min 以上;在使用5 種并行及緩存技術(shù)后,只需執(zhí)行147次SSH,用時(shí)不到5 s。而且增加主機(jī)數(shù)量對(duì)監(jiān)控性能影響不大,5 種并行技術(shù)中,應(yīng)用內(nèi)多主機(jī)并行效果最明顯,其次為應(yīng)用組內(nèi)并行。

        圖5 不同并行方案比較

        5 結(jié)束語

        文中提出的Linux 集群應(yīng)用無代理分級(jí)管理模型支持各種類型的集群,具有監(jiān)控和管理功能,管理效率高,可以用于設(shè)計(jì)大型復(fù)雜業(yè)務(wù)的統(tǒng)一監(jiān)控管理平臺(tái)。

        利用bash 設(shè)計(jì)的Linux 集群應(yīng)用管理軟件實(shí)現(xiàn)了甘肅省氣象大數(shù)據(jù)平臺(tái)所有應(yīng)用的集中統(tǒng)一管理,降低了應(yīng)用管理的難度,減少了運(yùn)維工作中的失誤,提高了運(yùn)維的效率,提升了應(yīng)用系統(tǒng)的可用性。

        猜你喜歡
        進(jìn)程模型管理
        一半模型
        棗前期管理再好,后期管不好,前功盡棄
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        債券市場(chǎng)對(duì)外開放的進(jìn)程與展望
        中國外匯(2019年20期)2019-11-25 09:54:58
        3D打印中的模型分割與打包
        “這下管理創(chuàng)新了!等7則
        雜文月刊(2016年1期)2016-02-11 10:35:51
        人本管理在我國國企中的應(yīng)用
        社會(huì)進(jìn)程中的新聞學(xué)探尋
        我國高等教育改革進(jìn)程與反思
        欧美性受xxxx狂喷水| 女人被弄到高潮的免费视频 | 日韩精品人妻系列中文字幕| av色综合久久天堂av色综合在| 亚洲学生妹高清av| 亚洲最大无码AV网站观看| 一区二区黄色素人黄色 | 国产二区交换配乱婬| 在线观看国产精品日韩av| 成人精品国产亚洲欧洲| 日本大片一区二区三区| 亚洲精品成人无限看| 在线亚洲人成电影网站色www| 日本加勒比东京热日韩| 亚洲中文乱码在线观看| 亚洲日韩小电影在线观看| 亚洲av无码国产剧情| 北岛玲中文字幕人妻系列| 在线视频自拍视频激情| 欧美性生交活xxxxxdddd| 中文字幕日韩一区二区三区不卡| 国产精品黄色片在线观看| 亚洲av网一区二区三区成人| 一本一道vs无码中文字幕| 免费无码av片在线观看 | 国产精品毛片无码| 蜜臀aⅴ永久无码一区二区| 中文字幕在线乱码av| 亚洲精品一品区二品区三品区| 国产国拍亚洲精品mv在线观看| 国产激情视频免费观看| 激情亚洲一区国产精品| 国产在视频线精品视频| 欧美色资源| 日本一区二区三区女优在线| 国内最真实的xxxx人伦| 免费人成毛片乱码| 中文字幕久区久久中文字幕| 曰韩内射六十七十老熟女影视| 蜜桃成人无码区免费视频网站| 国产人禽杂交18禁网站|