前言:想要寫出一篇引人入勝的文章?我們特意為您整理了談中小規(guī)模私有服務器集群方案設計范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:私有服務器集群部署的程序運行環(huán)境具備一定的可控性和靈活性。針對中小型企業(yè),尤其是在企業(yè)項目孵化、驗證、開發(fā)、測試等階段,程序運行環(huán)境的可控性和靈活性是十分必要的。該文針對中小規(guī)模私有服務器集群方案設計進行研究,提出了一套集群設計方案,能夠保證集群環(huán)境的可控性和靈活性,最大限度地利用服務器硬件資源、提升開發(fā)效率、降低運維成本。中小型企業(yè)通過應用該方案能夠節(jié)省大量的經(jīng)濟成本。
關鍵詞:私有云;服務器集群;集群方案;隔離網(wǎng)絡
盡管目前的公有云和私有云實踐如火如荼,但是云架構本身具有一定的技術和經(jīng)濟門檻,并需要一個專業(yè)的云架構運維團隊。具備這種條件對中小型企業(yè)來說具有一定的難度。中小規(guī)模私有服務器集群自身具備的自主全可控的優(yōu)勢,解決中小型企業(yè)存在基本需求但尚未有上云需求的兩難問題。中小型企業(yè)可以通過部署私有服務器集群,來支撐企業(yè)項目的孵化、驗證、開發(fā)、調(diào)試等階段的基本需求。針對部分項目的特殊需求,項目系統(tǒng)需要運行在私有的隔離網(wǎng)絡環(huán)境中,都需要部署一套私有服務器集群。私有服務器集群在建設和使用方面都必須滿足一定的規(guī)范,才能夠達到合理利用服務器硬件資源、提升開發(fā)效率、降低運維成本的效果。本文中的中小規(guī)模私有服務器集群設計方案就是私有服務器集群的建設和使用規(guī)范。
1集群方案設計原則
中小規(guī)模私有服務器集群方案設計的原則是要充分提高集群的可控性和靈活性。集群的可控性能夠保證項目軟件具備一致的驗證、開發(fā)、測試、運行環(huán)境,保證軟件不會因為程序運行環(huán)境差異而產(chǎn)生異常,避免產(chǎn)生額外的調(diào)試負擔。集群的靈活性能夠保證集群可以部署多樣化的程序運行環(huán)境,有針對性地滿足各種項目不同的環(huán)境需求。
2集群設計方案
中小規(guī)模私有服務器集群所涉及的內(nèi)容非常廣泛,需要能夠配置多種程序運行環(huán)境,承載項目的各種應用程序。集群方案的設計主要分為硬件系統(tǒng)和軟件服務兩大部分。集群方案的整體架構如圖1所示。硬件系統(tǒng)主要包括服務器及其安裝的操作系統(tǒng)、配套網(wǎng)絡設備等。軟件服務指的是運行在集群上的組建各種軟件環(huán)境的應用程序及配套服務。軟件服務分為三類,分別是:(1)集群基礎服務:構建集群所需的基礎設施服務,主要包括系統(tǒng)軟件源、自定義軟件源和時間同步服務等;(2)應用服務:運行在硬件系統(tǒng)之上的與業(yè)務相關的各種應用服務,包括大數(shù)據(jù)服務、Docker微服務、數(shù)據(jù)庫服務、團隊協(xié)作服務、單應用服務和虛擬化云服務等。根據(jù)不同的業(yè)務場景需求選擇安裝一種或多種應用服務;(3)操作管理服務:操作管理集群的基礎服務,主要包括用戶權限管理、遠程管理服務、文件交互服務、集群內(nèi)容管理等。
2.1硬件系統(tǒng)
組建中小規(guī)模私有服務器集群通常需要服務器3臺及以上,如果數(shù)量不足3臺,那么只需要將各項服務混合部署即可。集群中服務器的處理器總核數(shù)、內(nèi)存容量、磁盤類型及容量、網(wǎng)卡類型及帶寬可以根據(jù)業(yè)務的實際需求來自行選擇。表1中提供了計算型、存儲型和中間型三種類型中高檔需求的服務器配置參考示例。集群配套網(wǎng)絡設備的核心是交換機,交換機應該支持1000Mb/s速率或更高,可以采用華為、H3C或者思科等品牌的網(wǎng)管或非網(wǎng)管交換機。在視頻傳輸、大數(shù)據(jù)分布式計算、分布式存儲等必要的應用場景下,如果遇到網(wǎng)絡性能瓶頸,可以選擇使用光口萬兆交換機。服務器的操作系統(tǒng)建議使用CentOS7,因為CentOS官方提供了完整的基礎軟件安裝源,同時CentOS7已經(jīng)從系統(tǒng)內(nèi)核原生支持Docker服務。如果服務器的數(shù)量增加到5臺以上,可以將其中一臺服務器安裝為WindowsServer桌面版操作系統(tǒng),因為項目中使用的部分軟件可能必須運行在WindowsServer操作系統(tǒng)上。如果安裝WindowsServer系統(tǒng)純粹為了方便運維管理,那么可以適當降低該服務器的配置。評價硬件系統(tǒng)性能負載的指標主要是系統(tǒng)線程數(shù)與處理器總核數(shù)的比例關系、內(nèi)存使用量、磁盤讀寫速度、磁盤使用量、網(wǎng)卡實時帶寬大小等方面。
2.2軟件服務
2.2.1集群基礎服務集群基礎服務作為服務器集群的基礎設施,主要包括基礎軟件源、自定義軟件源和時間同步服務等三部分。集群內(nèi)部的基礎軟件源和自定義軟件源保證了集群內(nèi)各服務器安裝的所有軟件都來自同一源頭,時間同步服務可以為集群中各個服務器提供時間同步服務,共同保證了程序運行環(huán)境的一致性,達到集群環(huán)境的可控性。(1)基礎軟件源CentOS官方提供了完整的操作系統(tǒng)配套基礎軟件的安裝源,這些軟件中包括可執(zhí)行的工具軟件,也包括其他軟件依賴的運行庫軟件。將CentOS官方提供的基礎軟件鏡像中的軟件源部署到服務器集群內(nèi)部,以HTTP的形式為每一臺CentOS服務器提供遠程軟件源支持。需要注意的是,即使服務器集群可以連接互聯(lián)網(wǎng),也推薦在集群中部署基礎軟件源,以確保軟件安裝源的可控性。(2)自定義軟件源如果遇到一些CentOS官方軟件源中沒有的軟件,或者軟件版本等不符合要求的軟件,就需要創(chuàng)建自定義軟件源。自定義軟件源可以是使用createrepo命令創(chuàng)建的rpm包軟件源形式,也可以是提供程序可執(zhí)行文件壓縮包的形式。自定義軟件源需要符合軟件完備性的要求,也就是通過自定義軟件源安裝軟件的時候,除了能夠依賴集群內(nèi)的基礎軟件源之外,不能夠再依賴其他任何第三方的服務。軟件依賴的完備性是為了防止經(jīng)過一段時間后,外部依賴軟件版本更新,導致項目軟件無法適配依賴軟件新版本的情況發(fā)生。(3)時間同步服務在服務器集群中存在不同服務器之間的系統(tǒng)交互,或者集群部署分布式系統(tǒng)時,服務器之間的時間不一致會導致系統(tǒng)功能出現(xiàn)異常甚至系統(tǒng)崩潰。所以在集群中需要時間同步服務,保證各個服務器之間的時間同步。集群中的時間同步服務整體的設計結構如圖2所示。集群內(nèi)的時間同步服務需要選取一臺CentOS服務器作為集群時間同步服務器,其他的服務器啟動時間同步服務,通過該服務器進行時間同步。如果集群網(wǎng)絡能夠連接其他網(wǎng)絡或者互聯(lián)網(wǎng),集群時間同步服務器可以指定向其他網(wǎng)絡或者互聯(lián)網(wǎng)的時間同步服務器進行時間同步。在CentOS服務器上,使用chrony來創(chuàng)建時間同步服務,可以配置接受其他服務器進行時間同步的請求,也可以配置向其他服務器請求時間同步。WindowsServer類型的服務器,可以將系統(tǒng)的時間同步服務器地址修改為集群時間同步服務器,實現(xiàn)時間同步。
2.2.2應用服務集群中安裝的應用服務是體現(xiàn)集群功能靈活性的關鍵,集群中的應用服務可以單獨部署,也可以混合部署,主要包括大數(shù)據(jù)服務、Docker微服務、數(shù)據(jù)庫服務、團隊協(xié)作服務、單應用服務、虛擬化云服務等。(1)大數(shù)據(jù)服務大數(shù)據(jù)服務中包含大數(shù)據(jù)的多種組件,根據(jù)不同組件的相互配合,能夠滿足多種復雜場景之下的大數(shù)據(jù)應用。集群中可以安裝Ambari系統(tǒng)管理大數(shù)據(jù)組件,其中包括HDFS、MapRe⁃duce、Spark、Kafka、Storm、Flume、Zookeeper等。(2)Docker微服務Docker是目前非常主流的一種微服務組件管理方式,提供了多種多樣的公用組件,還可以配合k8s、Compose等組件進行服務管理。Docker為各種不同組件抽象出一套通用的管理方法,將各個組件的安裝管理模式統(tǒng)一化,使各個組件的操作差異僅僅局限在軟件配置上。極大降低了組件的使用復雜程度,有利于開發(fā)人員的學習和使用。(3)數(shù)據(jù)庫服務集群式的數(shù)據(jù)庫服務包括兩種形式,一種是MySQL多節(jié)點部署的主從備份式數(shù)據(jù)庫,另外一種是并行計算數(shù)據(jù)庫,如Greenplum。前者實現(xiàn)低延時OLTP的高可用配置數(shù)據(jù)庫;后者實現(xiàn)了大規(guī)模的數(shù)據(jù)倉庫,以存儲大量、追加型、無修改、不刪除類型的日志型數(shù)據(jù),滿足OLAP和容忍較高延時的OLTP場景需求。(4)團隊協(xié)作服務項目團隊開發(fā),需要團隊協(xié)作服務的支持,需要安裝Git、SVN等代碼托管服務,再進一步還可以安裝Jenkins等用于流水線作業(yè)、自動化運維的服務組件。(5)單應用服務單應用服務指的是單服務器上運行的軟件,可能是一個Python腳本,也可能是一個Java開發(fā)的可運行Jar包程序。單應用服務程序的部署需要考慮部署服務器的處理器負載、內(nèi)存、磁盤和網(wǎng)絡帶寬的使用情況,要保持各個服務器運行負載基本持平。為了保證程序運行安全和系統(tǒng)穩(wěn)定,單服務運行時需要采取分用戶的方式運行,為應用程序創(chuàng)建特定用戶,分配必要的權限,使程序運行在限制權限的環(huán)境中,不能因為單個服務的問題,導致其他服務甚至系統(tǒng)異常。(6)虛擬化云服務項目系統(tǒng)的開發(fā)是一個非常復雜的工程。系統(tǒng)的涉及面越廣,出現(xiàn)的不可控因素的可能性越大,需要的程序運行環(huán)境越復雜,僅僅靠有限數(shù)量的服務器和CentOS7、WindowsServer兩種操作系統(tǒng)無法支撐。在這種情況下,可以通過虛擬化云服務對系統(tǒng)環(huán)境進行擴展,安裝CentOS6、CentOS7、Ubuntu、Win⁃dows等操作系統(tǒng)的云主機運行環(huán)境,增強集群環(huán)境的靈活性。目前主流的服務器處理器都支持虛擬化特性,部分服務器需要在BIOS中打開虛擬化支持。安裝虛擬化云服務,可以在CentOS7系統(tǒng)中安裝VMware軟件作為虛擬機管理器,在Win⁃dowsServer上安裝VMware客戶端,遠程管理運行在CentOS7系統(tǒng)上的VMware云主機。通過對云主機設置不同的網(wǎng)絡連接方法和端口映射模式,可以靈活地調(diào)整外部對云主機內(nèi)部應用的使用方法。
2.2.3操作管理服務(1)用戶權限管理對應用程序進行分用戶權限進行管理,是保證集群服務安全性的有效手段。通過對不同用戶設置不同的權限,降低當前用戶運行程序帶來的異常對其他用戶運行程序造成的影響。(2)遠程管理服務服務器集群的維護工作,除了在系統(tǒng)崩潰、網(wǎng)絡中斷等極端情況下,都會使用遠程管理的方法。遠程管理服務主要有面向Linux的SSH、VNC服務和面向Windows的遠程桌面、Team⁃Viewer等遠程控制服務。服務器集群中必須部署符合實際情況的遠程管理服務。(3)文件交互服務服務器集群中豐富的應用內(nèi)容,都需要從集群外部獲得相關文件;集群內(nèi)部生成的文件,也有可能需要從集群內(nèi)部導出到集群外部。集群內(nèi)外文件交互的方式通常有HTTP、遠程桌面拷貝、SFTP/FTP等方式,特殊環(huán)境下只能通過U盤,甚至光盤拷貝來進行文件交互。(4)集群內(nèi)容管理集群投入使用后,集群中的內(nèi)容會逐漸增多,如果不能夠對集群內(nèi)容進行有效的管理,集群使用和運維工作會變得越來越困難。對集群內(nèi)容進行清單式管理,就是要詳細記錄集群內(nèi)安裝的各項服務的配置信息和各項服務之間的關聯(lián)情況。各項服務的配置信息包括服務名稱、服務內(nèi)容、服務部署的IP地址、應用的端口、用戶名/密碼、啟動方式、關閉方式等細節(jié)信息。各項服務之間的關聯(lián)情況包括各個服務的相互依賴情況。清單式的集群內(nèi)容管理不僅方便集群的日常維護,也便于集群使用人員的信息共享。
3軟件沖突解決方案
在服務器集群中混合部署多種應用程序,可能會遇到大量的軟件沖突問題,包括軟件依賴沖突、部署端口沖突等。解決沖突的方案有三種:(1)通過修改程序源代碼或者修改配置文件的方式來消除沖突點;(2)將沖突雙方調(diào)整到不同的服務器上部署;(3)利用集群中的虛擬化云服務重建一套云主機環(huán)境部署沖突程序。
4總結
本文提出了一套中小規(guī)模私有服務器集群設計方案,通過對硬件環(huán)境和軟件服務的規(guī)范化設計,可以使集群滿足大數(shù)據(jù)計算、微服務部署、數(shù)據(jù)庫存儲、虛擬化云環(huán)境等多方面的綜合應用。集群基礎服務構建了服務器集群的基礎設施,操作管理服務規(guī)范了對集群使用的原則和方法,有利于集群的規(guī)范化管理。
參考文獻:
[1]劉勝娃,陳思錦,李衛(wèi),等.面向企業(yè)私有云計算平臺的安全構架研究[J].現(xiàn)代電子技術,2014,37(4):34-36.
[2]張延彬,張誌,岳思思.私有云資源池網(wǎng)絡應用實踐[J].網(wǎng)絡安全和信息化,2019(11):84-87.
[3]代彥.基于Vmware虛擬化技術的服務器集群的架構與應用[J].電子技術與軟件工程,2018(23):129.
[4]毛少楓.基于Docker容器的在線實驗系統(tǒng)設計與實現(xiàn)[D].武漢:華中科技大學,2019.
[5]李廣鵬,王柯.基于私有云環(huán)境全棧數(shù)據(jù)保護的研究及實踐[J].中國信息化,2019(10):56-57.
作者:賈叢飛 單位:公安部第一研究所