河南大學 李雪瑤
傳統機房管理的部署方式分為兩種,一種是一對一式部署,一臺服務器對應一個服務系統,這種方式能夠實現不同服務系統之間的物理隔離,具有較高的安全性和響應速度,但僅有一個服務系統難以實現對服務器資源的有效利用;另一種是一對多式部署,一臺服務器對應多個服務系統,這種方式能夠最大程度利用服務器資源,但不同服務系統之間難免會出現交叉混淆,安全性較低,并且其中一個服務系統負載較大時,會對其他服務系統造成影響,出現服務器資源配置混亂的問題。所以兩種傳統部署方式都有一定的應用缺陷,不利于機房的精細化管理,可以使用虛擬服務器管理技術重新設計機房管理系統架構[1]。虛擬服務器管理技術能夠集中管理所有服務器的數據中心,通過集群將數據中心資源進行優化配置,分割成多個子集,能夠讓多個主機同時運行,服務系統則運行在一個或多個虛擬機中。由此通過主機中的虛擬機實現服務器資源的動態配置,當一對一運行模式時,虛擬機只在對應的服務系統中運行,遵循物理隔離,保證安全性;當一對多運行模式時,虛擬機根據不同服務系統之間的負載情況對資源進行分配,負載較大的服務系統分配的服務器資源較多,反之較低。該系統主要分為數據中心管理模塊、集群管理模塊、主機管理模塊和虛擬機管理模塊[2]。
2.1.1 數據中心管理模塊的設計
設計使用DataCenterManager 來抽象數據中心管理模塊,DataCenterManager 中設有兩個變量,分別是morDC 和dcName,分別代表數據中心受管對象和數據中心的名稱。實現流程為查找數據中心、查找所有集群、查找hostFolder、查找vmFolder 和創建集群功能[3]。
2.1.2 集群管理模塊的設計
設計使用ClusterManager 來抽象集群管理模塊,ClusterManager 中設有三個變量,分別是morCluster、clusterName 和dataCenter,分別代表受管對象引用、集群受管對象和集群名稱。實現流程為查找集群、查找所有主機、查找資源池、刪除集群、創建集群和添加主機功能[4]。
2.1.3 主機管理模塊的設計
設計使用HostSystemManager 來抽象主機管理模塊,HostSystemManager 中設有三個變量,分別是morHost、hostName 和cluster,分別代表集群受管對象、主機名稱和主機對應集群受管對象。實現流程為查找主機、查找所有虛擬機、創建虛擬機、查詢主機的信息和查詢主機的性能[5]。
2.1.4 虛擬機管理模塊的設計
設計使用VirtualMachineManager 來抽象虛擬機管理模塊,VirtualMachineManager 中設有三個變量,分別是morVM、vmName 和hostSystem,分別代表虛擬機受管對象虛擬機名稱和虛擬機對應主機受管對象。實現流程為查找主機、查找虛擬機的信息、配置虛擬機的屬性、定制虛擬機的客戶機系統、創建模板和克隆虛擬機[6]。
系統管理模塊的實現程序如圖1 所示。

圖1 系統管理模塊的實現程序Fig.1 Implementation program of the system management module
文章使用Apache JMeter 來測試基于虛擬服務器管理技術的機房管理系統的性能情況。Apache JMeter 是Apache 組織基于Java 開發的壓力測試工具,可用于測試靜態和動態資源,如靜態文件、Java 小服務程序、CGI 腳本、Java 對象、數據庫和FTP 服務器等。JMeter 能夠模擬服務器、網絡或對象中的巨大負載,在不同壓力類別下測試它們的強度和分析整體性能[7]。
文章在Apache JMeter 中設定三個測試機、兩個Tomcat服務器、一個Nginx 服務器和一個MySQL 服務器。測試步驟分為單個Tomcat 測試和兩個Tomcat 測試兩部分,通過兩次測試的數據對比判斷文章機房管理系統的應用性能。三臺測試機均設置為1000 個并發線程,每個線程循環2 次。
單個Tomcat 測試數據測試數據如表1 所示。
根據表1 可以得知,總請求次數為41132 次、整體響應時間為3434ms、錯誤比例均為0.00%、延遲為631.9KB/sec,說明服務器會在3434ms內,完成41132次請求。

表1 單個Tomcat 測試數據Tab.1 Single Tomcat test data
在進行單個Tomcat 測試中發現服務器192.179.1.72的負載過重,機房管理系統將服務器192.179.1.83 的服務器資源分配到服務器192.179.1.72中,提升服務器192.179.1.72 的性能,兩個Tomcat 測試數據如表2 所示。
根據表2 可以得知,總請求次數為42784 次、整體響應時間為2798ms、錯誤比例均為0.00%、延遲為581.3KB/sec,說明服務器會在2798ms內,完成42784次請求。證明相比于單個服務器,兩個服務器分擔負載的方式能夠大幅度提升服務系統的性能,在請求次數增加1652 次的前提下,響應時間減少636ms。

表2 兩個Tomcat 測試數據Tab.2 Two Tomcat test data
綜上所述,文章設計的基于虛擬服務器管理技術的機房管理系統包括數據中心管理模塊、集群管理模塊、主機管理模塊和虛擬機管理模塊4 個模塊,能夠在服務系統負載較大的情況下,動態分配服務器資源,負載較大的服務系統分配的服務器資源較多,反之較低,進而實現對服務系統性能的提升和機房的精細化管理。經過Apache JMeter 測試后,通過測試數據可以驗證文章機房管理系統的應用性能,在請求次數增加1652 次的前提下,響應時間減少636ms。
引用
[1] 陳琛.使用Fail2ban防御針對虛擬服務器的暴力破解攻擊[J].網絡安全和信息化,2022(1):134-138.
[2] 游釤栗,熊衛華,應繁.基于服務器虛擬化的智慧云桌面系統設計與應用[J].軟件工程,2022,25(10):54-58.
[3] 彭紅旭.服務器虛擬化技術在民辦高校經管實驗中心的應用探究[J].電腦知識與技術,2022,18(15):112-113+122.
[4] 金俊玲,王昕.基于服務器虛擬化技術的數據中心網絡安全設計[J].網絡安全技術與應用,2022(5):5-7.
[5] 鄭臣明,姚宣霞,周芳,等.基于硬件虛擬化的云服務器設計與實現[J].工程科學學報,2022,44(11):1935-1945.
[6] 徐巖.服務器虛擬化技術在醫療業務信息化的應用研究[J].網絡安全技術與應用,2022(1):115-117.
[7] 宋文彬,潘晉.多玩家在線游戲中的虛擬世界劃分和服務器分配[J].國外電子測量技術,2022,41(3):137-144.