李洪軍 劉雪嬌
[摘 要] 對虛擬服務器資源利用率不高的問題進行梳理和分析,得出主要原因是服務器資源的申請與審核不科學、系統的運行時段不明確及資源需求差異不明確等,進而從規范服務器資源審核與分配流程、動態調整業務系統運行時段、動態調整資源配置、采用Kubernetes部署應用程序等方面提出解決方案。實踐表明,對資源進行調整優化后,CPU利用率、內存利用率、存儲(硬盤)利用率均得到提升,同時還降低了運維成本。
[關鍵詞] 信息系統;資源利用率;IT資源;虛擬服務器;網絡
[中圖分類號] TP 393.05[文獻標志碼] A[文章編號] 1005-0310(2023)02-0012-05
On How to Improve the Resource Utilization Rate of Network Virtual Server
LI? Hongjun, LIU? Xuejiao
(Beijing Digital Education Center, Beijing 100035, China)
Abstract: ?This paper analyses the problem of low utilization of virtual server resources, and finds the main reasons are the improper application and review of server resources, the unclear operation period of the system, and the obscure difference of resource requirements for system operation. The solutions are proposed in terms of standardizing the server resource audit and allocation process, dynamically adjusting the operating time of the business system and the resource configuration, as well as adopting Kubernetes to deploy applications. Practice shows that after adjusting and optimizing the resources, the CPU utilization, memory utilization, and storage (hard disk) utilization have improved, while the operation and maintenance costs have decreased.
Keywords: Information system;Resource utilization rate;IT resources;Virtual server;Network
0 引言
隨著北京市數字教育中心IT建設的不斷深入和完善,各種應用系統得以投入使用,資源規模不斷擴張。在滿足各級各類學校教學需求和教育系統相關管理部門業務需求的前提下,如何提高資源利用率,是教育IT管理者需要考慮的問題。
1 問題及原因
1.1 問題分析
北京市數字教育中心的業務系統主要部署在政務云,承接的業務系統有北京市中小學學籍系統、教師系統等60余個,搭建虛擬服務器1 000余臺,涉及開發和運維廠商30余個,涵蓋眾多業務對象、業務功能和應用邏輯(業務對象包括學生、教師、家長、教育系統管理人員等,涉及幼兒園、小學、中學、大學等各個學段)。業務系統的需求不斷增加,系統之間接口日益繁雜,由此導致運維工作量增大、管理復雜程度增高、運維成本不斷增加等一系列問題。2021年,在政務云的實際使用資源中,只有物理服務器的數量未超出預設的數值,CPU、內存、存儲均超出一定的比例,其中內存超出比例最大(達到183.50%),參見表1。2022年1—5月,按照CPU、內存、存儲的最大平均使用率加權運算,云效率均低于實際控制線(根據云資源的利用情況測算均值),參見表2。
1.2 原因分析
本文通過綜合分析,結合IT資源分配、運作模式及業務系統的使用情況,得到導致云效率不高的原因主要包括以下幾個方面。
1.2.1 服務器資源申請與審核不科學
對于服務器等資源申請的相關工作,主要存在如下問題:由于申請方式多(線下紙質,線上郵件、微信、電話等)、申請人員角色不同(各系統負責人、項目開發工程師等)造成申請混亂,不便于數據歸集;個別申請人員不了解服務器的性能情況(如單節點4核CPU、16 GB內存、500 GB硬盤能承載多少用戶同時登錄該系統,完成正常的業務操作),有的審批人員不了解業務具體情況(系統用戶數量、業務數據增長量、系統架構等),而服務器配置資源不足會造成業務系統運行緩慢,服務器配置資源過量會造成CPU、內存、存儲等資源的閑置和浪費[1];有的系統部署存在多次申請、多次變更配置等情況,造成數據錄入不及時、不準確,從而影響服務器資源統計的準確性,導致資源分配出現問題。
1.2.2 系統的運行時段不明確
有些業務系統沒有根據業務期來設置業務系統的開關、服務器的數量和具體配置。比如,與義務教育入學相關的系統在每年的5—10月期間使用,涉及幼兒入學、小學畢業生升入初中學段等,其他月份不涉及,且7月中旬至8月下旬處于暑假階段,訪問量很少。再如,與學籍相關的系統在6月中旬至7月中旬、9月及10月使用量較大,其他月份使用量較少。
1.2.3 系統運行的資源需求差異不明確
對于高并發的業務系統,資源的申請是按業務高峰期的最高資源需求提出的。教育信息系統的服務對象主要是學生、教師、家長及教育相關的管理人員等,由于服務對象不同,其登錄相關系統的時間段、操作具體業務的時長各不相同。例如,對于幼升小填報系統,每年5月1日系統開啟,“五一”假期后開始填報,一般第一周就能完成60%~80%的信息采集工作,但業務的截止日期為5月末,所以,按照業務高峰期需求配置的服務器資源在高峰期過后,隨著訪問量下降,需要對資源配置進行動態調整。
1.2.4 其他原因
第一,多年的系統建設,有些業務被新系統替代,可能存在訪問量極低或無訪問量的“僵尸”系統。第二,系統在部署階段的測試用服務器,可能存在仍然在運行、未釋放資源的情況。第三,運維公司的個別工程師存在工作交接不暢等問題,個別服務器可能存在管理狀態不明確的情況。
2 解決方案
本文根據上述問題分析,結合業務的實際情況,采取以下解決方案。
2.1 規范服務器資源審核與分配流程2.1.1 調整服務器資源申請與審批流程
對服務器資源申請與相關審批流程進行規范,由原來的多個環節簡化成3個環節,更加扁平化,如圖1所示。
資源申請在線上完成,減少不必要的環節,速度快、效率高,能夠實現系統的快速部署。對于資源審核員,需要了解服務器的性能及業務系統的基本情況,能夠合理地審批服務器資源。通過規范流程,資源申請與審批更加科學,更貼近實際業務情況。同時,以此引導業務需求方申請合理的虛擬服務器資源,特別是對于存儲資源,擴充的速度滿足增長量即可,轉變“資源先占為用”的思想,引導大家共同提高資源利用率[2]。
2.1.2 制定服務器配置標準
對各類型服務器的CPU和內存,制定標配、高配、超高配3個標準,每個標準又分出高、低不同檔次(見表3)。在分配資源時,要兼顧業務的復雜程度、用戶數、并發數、節點服務器的個數,以及現有資源池中CPU、內存的可分配情況。對于存在大量計算的業務系統,隨著業務量的提升,需要增加CPU和內存資源,新增的CPU與內存按照1∶2或1∶4的比例來分配,內存的核心頻率大于等于CPU的外頻才能保持良好的配比[1]。
對于存儲(硬盤)的分配,主要依據服務器的類型實行按需分配,要兼顧業務的復雜程度、用戶數、數據的增速,以及現有資源池中存儲的可分配情況。對于多節點的Web服務器,由于數據增量較少,硬盤按照60%~80%的使用率分配即可,不宜分配過大;對于數據庫、圖片等服務器,由于存在數據增長的情況,前期可以分配稍高些的硬盤資源,使用率按40%~60%分配即可,并兼顧數據的增長情況。由此擬定,對于“跳板機”默認分配60 GB,對于Web服務器默認分配100 GB,對于數據庫服務器默認分配300 GB,等等[3]。
2.2 動態調整業務系統運行時段
大多數系統都存在業務期,因此,需要對業務系統進行梳理,對處于非業務期的系統采取暫時關停的措施,釋放服務器資源。在服務器關機后,CPU和內存都將被釋放。對于多節點的Web服務器,在備份硬盤鏡像文件后,可以釋放硬盤存儲資源,待業務期到來前再重新部署備用;對于中間件服務器、數據庫服務器、單節點的Web服務器等,采取的措施是關機處理,CPU和內存都將被釋放,但硬盤保留,待再次開機時,便于業務快速啟用[4]。這種方式在寒假、暑假、“五一”“十一”、春節等節假日,以及周六、周日期間都可以采用。
2.3 動態調整資源配置
系統資源管理人員應實時關注高并發業務系統的運行情況,當業務系統由業務高峰期轉到一般業務期后,要結合各個應用系統的使用情況,重新調整服務器資源(服務器的數量、單個服務器的配置)。比如,對于幼升小填報系統,每年“五一”假期后開始填報,一般第一周就能完成60%~80%的信息采集工作,此時根據系統使用情況,對于多節點的Web服務器,可采取減少節點Web服務器數量的措施[5]。如原來是10臺Web服務器,待完成60%的采集工作后,可以將節點Web服務器數量調整為4~6臺;待完成80%的采集工作后,可以將節點Web服務器數量調整為2~4臺。再如,與學籍相關的系統在每年的畢業季、升學季用量較大,其他月份使用量較少,業務高峰期主要在6月中旬至7月中旬、9月及10月。待業務高峰期過后,按上述方式調整服務器的數量,同時,也可以降低服務器的配置,如將CPU由8核調整為4核,將內存大小由32 GB調整為16 GB。由此根據業務完成的進度情況動態調整資源配置,在滿足業務需求的同時,提高資源利用率[6]。
2.4 采用Kubernetes部署應用程序
在使用Kubernetes部署應用程序時,可以根據需要高效地分配計算資源,將所有物理計算資源整合為一個整體[7]。例如,在某現有虛擬化環境中,運行4個業務系統,共申請虛擬機40臺(CPU 200核、內存400 GB),CPU平均使用率為10%左右,內存平均使用率為15%左右。對其進行更新后,使用10臺服務器搭建K8s集群環境(CPU 80核、內存320 GB),減少了多個操作系統的內存占用,能在多個實例之間共享未使用的內存,且能夠根據負載自動進行擴容和縮容:當負載達70%時進行擴容,當負載降至10%時進行縮容。同時,當一個節點關閉或掛起時,它承載的服務會自動移動到另一個節點上,在整個過程中不間斷地持續提供服務。目前,CPU平均使用率達50%,內存平均使用率達65%,且4個系統運行流暢,管理方便,提升了服務器資源利用率,節約了服務成本。基于此,在不增加服務器集群資源的情況下,后續可將調查問卷等其他高并發應用部署到K8s平臺中。
2.5 其他措施
1)根據業務情況,對某些系統或服務器進行關停、收回等處理。對“僵尸”信息系統(網站)進行關停處理或與其他業務系統進行合并調整。對“僵尸”系統的判斷標準為出現下列某一種情況:系統年訪問量在1 000人次以下;系統內容長期(180 天以上)未更新;每年新增數據在 100 條以下;專題站點已完成工作,后續不再啟用;安全威脅長期不修復,系統無人運維或運維不到位。同時,管理部門應加強對在用業務系統的監控,如發現系統出現上述情況,核實后應立即采取措施進行處理。此外,對于測試用服務器,進行全網梳理,除生產在用服務器外,將其他服務器進行資源回收。對于管理狀態不明確的服務器,建立相應的管理制度,加強管理,完善流程,收回無業務需求的服務器資源。
2)對低利用率系統進行動態調整。除上述措施外,針對全年業務期無明顯變化的低利用率系統,采取動態伸縮機制,結合資源利用率報告的情況,對其進行降配處理,參考標準見表4。
3)科學調整存儲配置。對存儲的調整要結合現有數據量情況,按照不低于50%的使用率進行配置,超過80%后,應根據數據增長速度進行擴容[8]。
3 結束語
2022年5月末,對資源進行調整優化后,虛擬服務器的數量共有700余臺。6月份的云資源利用率提升至27.57%,略高于當月的云效率控制線,差值首次出現正值;7月份的云效率值已經高于控制線3.55個百分點,參見表5。同時,70%業務系統的云效率都提升了20~30個百分點。為了進一步提高資源利用率,后續將在以下幾個方面進行探索和實踐:
1) 系統開發架構、業務邏輯、業務流程及代碼量均對CPU、內存等服務器的資源消耗產生影響,所以要對系統設計及程序代碼進行優化,減少對資源的消耗。
2)根據業務發生的實際時間段進行調整,實現精細化管理,如:對于主要在白天使用的系統,可以將部分虛擬機設置為早晚自動切換,7:00—20:00開啟,其他時間關閉;對于數據交換系統,需要同步各個業務系統的數據,存在大量的讀寫操作,可以調整在夜間進行,從而避免虛擬機資源(CPU、內存)超額分配產生的影響。
3)針對數量多、體量小的系統,部署“容器化”管理平臺、輕量化虛擬平臺、自動化管理平臺等,進一步提高云資源利用率,同時減少電能消耗和碳排放量等,對環境保護具有重要意義。
[參考文獻]
[1] 朱亞會,陳丹,莊毅.云數據中心資源利用率均衡的虛擬機調度算法[J].小型微型計算機系統,2017,38(2):232-237.
[2] 徐世波,張林,郭延紅,等.智慧校園背景下的網絡運維綜合管理平臺設計研究[J].網絡安全技術與應用,2021(8):98-101.
[3] 龔坤,武永衛,陳康.容器云多維資源利用率均衡調度研究[J].計算機應用研究,2020,37(4):1102-1106.
[4] 楊明極,王鶴,趙加鳳.基于CPU和內存利用率的負載均衡算法的研究[J].科技通報,2016,32(4):160-164.
[5] 鄒業偉.省級教育數據中心運維管理措施探究[J].數據,2021(5):82-84.
[6] 李坤,王百杰.服務器集群負載均衡技術研究及算法比較[J].計算機與現代化,2009(8):7-10.
[7] 王偉軍.基于Kubernetes的容器云平臺建設[J].電腦知識與技術,2019,15(36):47-48.
[8] 葉思菁,宋長青,程昌秀,等.UN Comtrade數據共享平臺設計與實現[J].北京師范大學學報(自然科學版),2022,58(6):963-971.
(責任編輯 白麗媛)
[收稿日期] 2022-06-29
[作者簡介] 李洪軍(1980—),男,黑龍江綏化人,北京市數字教育中心工程師,主要研究方向為信息系統建設、系統運維、網絡安全;劉雪嬌(1991—),女,滿族,北京市人,北京市數字教育中心教研員,主要研究方向為教育技術學。E-mail:zx_lihj@jw.beijing.gov.cn