?

云平臺虛擬機資源自動擴容技術研究

2022-11-02 07:59李茂超
鐵道運營技術 2022年4期
關鍵詞:管理工具實例客戶端

李茂超,敬 昕

(中國鐵路南寧局集團有限公司 信息技術所,1.助理工程師,2.高級工程師,廣西 南寧 530029)

隨著鐵路信息化建設工作的日益深入,云計算管理平臺(下文簡稱云平臺)規模迅速擴大,截至2022年5月,中國鐵路南寧局集團有限公司(簡稱南寧局)云平臺部署服務器已超過200臺,同年計劃從基層單位至云平臺的系統94個,預計年底虛擬機規模將超過500臺,運維人員的工作量不斷增大。因此,研究資源自動擴容技術對提升運維效率、減輕人員運維壓力有重要意義。

1 現狀分析

南寧局部署的管理信息私有云、互聯網網站群、一體化生產集成平臺均采用云平臺架構,為集團公司各類生產、管理、互聯網業務系統提供了統一的計算、存儲及網絡資源。

南寧局采用的云平臺資源監控平臺具有高度集成、分布式和開箱即用的特性,能夠對服務器、網絡設備和存儲等硬件設備以及數據庫、中間件等軟件進行監控,同時還支持快捷添加自定義監控腳本,靈活實現對自研程序的監控。監控平臺的引入實現了600多套信息系統重要節點的監控,改變了南寧局信息運維部門長期存在的人工巡檢的工作模式,有效提升了問題發現與解決效率。

但是,隨著信息系統規模和重要程度日益加大,虛擬化技術的廣泛使用,對人工處置故障的效率有了更高的要求。同時資源管理部門為節約資源往往采用最小規模分配,按需調整的資源管理模式,容易產生因業務突然增長、虛擬機資源調整不及時造成系統崩潰的重大風險。

2 自動擴容技術研究思路

依據智能運管的理念,運維自動化不應僅僅局限在資源監控方面,更應該在資源自動擴容方面發揮作用,真正實現“監”、“控”全流程的自動化。

研究設計的智能運管技術方案主要包括四個部分,分別是云平臺、監控平臺、資源管理程序和操作系統管理工具。

3 自動擴容技術設計

3.1 自動擴容技術構架

自動擴容技術架構如圖1所示。

圖1 自動擴容技術架構設計

云平臺主要由兩部分構成,分別是計算節點和控制節點,計算節點用于提供虛擬機所需的計算資源,控制節點提供網絡管理和資源管控;在每臺虛擬機上均需安裝監控平臺客戶端,控制節點需要安裝操作系統管理客戶端。監控平臺服務器通過監控平臺客戶端采集虛擬服務器當前CPU、內存等資源使用情況信息,如果出現使用率過高情況,監控平臺服務器會產生報警信息;自動化資源管理程序由調度器(Scheduler)和執行器(Executer)兩個子進程組成,調度器用于周期性調用執行器執行相關服務功能,執行器通過調用操作系統管理工具接口獲取出報警信息,篩選出所有與性能瓶頸相關的報警,調用操作系統管理工具接口對云平臺進行操作;操作系統管理服務發送虛擬機模板調整命令到安裝工具控制節點,工具將命令在控制節點執行,實現對虛擬機的擴容。

3.2 云平臺標準構架

在云平臺標準架構下,所有資源都使用通用身份驗證機制的接口進行管理和配置[1]。云平臺所有組件以一種松散的方式組織在一起,分成一個個服務,允許用戶按需插拔和使用。云平臺標準架構如圖2。

圖2 云平臺標準架構視圖

3.3 操作系統管理工具構架

操作系統管理工具可以簡單的實現快速橫向擴展,并且高效地對服務器進行管理[2]。操作系統管理工具工作在C∕S模式下,既可以通過被控服務器上普通SSH服務進行管理,也可以通過操作系統管理工具專用客戶端代理軟件進行通信[3]。架構與組件說明如圖3。

圖3 操作系統管理工具架構與組件

操作系統管理服務器是運行管理服務的服務器。它向一個或多個運行著并已經向服務器注冊過的操作系統管理客戶端發送指令,指令發送到端口為4505的總線上,之后再從端口地址為4506的總線上獲取返回結果[4]。

操作系統管理客戶端配置完后會立即向服務器進行注冊,并通過4505端口訂閱所有目標包含的消息??蛻舳私邮盏较⒑?,在本地執行,執行后產生的結果發送到端口號4506的事件總線上[5]。

速度是操作系統管理工具的最強項,速度的基礎就在于有這一套高性能的事件系統。操作系統管理消息總線使用的是ZeroMQ,它使創建異步拓撲以提供最快的通信成為可能。

4 自動擴容技術實現方案

4.1 統一實例名

為保證資源管理程序能通過監控平臺接口中的報警信息唯一定位到云平臺中的虛擬機實例(如圖4),需要使監控平臺在客戶端(如圖5)和服務器端(如圖6)配置的主機名,云平臺中實例名稱,以及操作系統管理客戶端中配置的客戶端ID(如圖7)均需相同。

圖4 云平臺實例配置

圖5 監控平臺客戶端配置

圖6 監控平臺服務器實例配置

圖7 操作系統管理客戶端id配置

4.2 發現問題實例

為使資源管理程序能精準實現對出現性能瓶頸的服務器進行擴容,需要通過監控平臺提供報警信息。監控平臺提供了完善的接口程序,用于實現報警信息的提取。

為判斷虛擬機是否需要擴容,要將通過實例(host)名獲取實例id(hostid)信息,通過事件(event)獲取事件id(eventid),并以實例id和事件id共同篩選當前發生的報警事件,以此為根據對實例進行擴容。

監控平臺提供了三種方法用于提取實例id,事件id和 報 警 信 息,分 別 是:host.get、event.get和problem.get。host.get用于根據被監控實例列表獲取被監控實例hostid,event.get用于根據與性能瓶頸相關的事件名篩選出相關的eventid,problem.get將結合host.get和event.get方法返回的hostid和eventid,判斷是否存與被控實例相關的性能瓶頸報警。通過這三個接口就可以從所有報警信息中,并定位實例,以此為根據,對云平臺實例進行擴容操作。

圖8為使用host.get方法獲取hostid的代碼實現,其中HOST_LIST為被控虛擬機列表,使用POST方法,將監控平臺接口的返回hostid信息存入返回指令集中。

圖8獲取hostid

圖9 為使用event.get方法獲取eventid的代碼實現,其中EVENT_NAME為與資源是否出現瓶頸相關的事件名,使用POST方法,將監控平臺接口返回的eventid信息存入返回指令集中。

圖9獲取eventid

圖10 為使用hostid和eventid共同篩選當前存在的報警信息,判斷當前哪些被控服務器需要擴容,在此實現代碼中,如果執行后返回報警信息,則表示hostid對應的被控服務器已經出現資源瓶頸,需要對其進行擴容操作。

圖10 報警信息采集實現

4.3 調用操作系統管理接口

將上一步中所有存在資源瓶頸告警的被控服務器匯總成列表,并調用操作系統管理接口在云平臺控制節點上執行遠程操作,逐一對被控服務器進行資源擴容。

5 結論

通過將監控平臺、云平臺、操作系統管理工具技術相結合,研發了一套資源管理程序,設計出一套適用于南寧局云平臺的虛擬機實例自動擴容方案,實現自動發現虛擬機實例的資源出現不足隱患,并對出現性能瓶頸隱患的虛擬機進行自動擴容,保證運行在虛擬機實例上的業務更加穩定。結合鐵路業務特性,自動擴容技術還可以解決客運高峰、財務統計等可預見性資源調整的需求。

在試運行實驗過程中,通過人工干預虛擬機運算量檢驗功能,實驗結果顯示,從虛擬機資源占比超出閾值,到監控平臺自動發現預警,再到操作系統管理工具主動干預完成虛擬機資源擴容,整個流程約30秒。按傳統運維經驗,通過人工處置該故障,從資源問題發現到資源擴容申請、審核,再到最后的資源擴容需要數小時。所以,利用自動擴容技術能夠有效提升了運維自動化程度及運維效率。

猜你喜歡
管理工具實例客戶端
精益A3管理工具在提高STEMI患者繞行急診科直達導管室的應用與探討
精益管理工具在手術室耗材管理中的應用
質量管理工具在減少CT停機天數中的應用
如何看待傳統媒體新聞客戶端的“斷舍離”?
縣級臺在突發事件報道中如何應用手機客戶端
孵化垂直頻道:新聞客戶端新策略
大樞紐 云平臺 客戶端——中央人民廣播電臺的探索之路
現代企業與管理工具的運用
完形填空Ⅱ
完形填空Ⅰ
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合