這是頭條一個網友的提問,細想一下,這個問題實在復雜,一番短文很難說明清楚,如果把各種技術內容全部寫下來,估計是幾本書的篇幅,所以我先嘗試從分層的角度來解釋一下,再回答這個問題,希望對網友了解Laxcus集群作業系統有點幫助,
粗略地說,Laxcus集群作業系統大致可以分成這樣幾層:核心層、分布層、管理層、基礎設施層、虛擬化層、應用層、安全層,下面逐一說明,
1. 基礎層,這一層是系統核心,它管理物件是單臺服務器和硬體設備,服務器在基礎層被映射成“節點”,系統啟動的時候,硬體設備被抽象成“資源”,加入到節點管理佇列中,之前談過Laxcus支持各種異構CPU,就是在基礎層處理,這個管理佇列類似U盤的熱插拔,需要的時候加入,不需要的時候再移出,非常靈活,也便于遷移,
2. 分布層,提供網路通信和基于網路通信的分布存盤分布計算,在基礎層被虛化的節點會在分布層聚合,形成一個巨大的資源池,受到系統統一管理,同時分布層還起到屏蔽基礎層硬體設備的作用,為上層提供介面服務,以向下層傳遞上層處理請求,功能類似HTTP/FTP + 5G Massive MIMO + 谷歌 GFS / Hadoop HDFS的組合,
3. 管理層,這一層巨復雜,計算機集群的各種管理作業位于這一層,比如流量控制、分布調度、負載平衡、冗余容錯之類,從Laxcus 5.0版本開始,計算機集群的管理作業已經委托給DFL人工智能模型來處理,
4. 公共設施層,提供超大規模存盤計算必需的具有公共屬性的功能,目前在云端的各種剛需應用,包括資料庫、大資料、人工智能、應用容器、分布鎖、分布事務等,都已經在公共設施層集成,
5. 虛擬化層,是為了滿足多用戶接入,提高資源復用而設計的功能,系統啟動之后,虛擬化會把一個物理的計算機集群分割成N個虛擬的計算機集群,然后再分配給用戶使用,這相同于把許多VMWare連接起來后的效果,虛擬集群之間是邏輯隔離的,用戶的應用業務只能在自己的虛擬空間里運行,
6. 應用層,這一層提供具有用戶屬性的功能,分布編程介面包DSDK、開發和運行應用軟體,處理大資料、人工智能、邊緣計算業務都在這一層,
7. 安全層,這一層不是單獨的,它是嵌入到上述各層,管理所有子系統,不論物理資源還是虛擬資源,包括CPU、記憶體、硬碟、網路通信、用戶、用戶業務、應用軟體都受它管理,同時為各層提供各種安全保護手段,比如非對稱加密、數字簽名、對稱密鑰、防網路攻擊策略、沙箱、各種資源安全策略、量子保密通信之類,我個人了解,目前所有分布式系統的安全體系,Laxcus提供的最完整,
層與層之間,還有DFL人工智能模型提供的各種機制來處理集群與集群,節點與節點之間協調控制銜接,正常狀態下,集群運行基本不需要人員干預,DFL人工智能模型會智能分配各種作業,
介紹了分層,現在來回答問題,Laxcus集群作業系統如何管理幾十萬臺服務器,
在Laxcus集群作業系統里面,有一項叫“多域并行集群”的技術,它位于“分布層”,由一個主域集群和多個子域集群組成,這是一種集群化的主從結構(master/slave),主域集群負責管理子域集群,子域集群接受主域集群管理,子域集群的數量,由主域集群物理性能決定,由于這個“多域并行集群”的出現,Laxcus多集群并行規模可以放大近千倍,
第二項技術:“松耦合架構”,它同時位于基礎層、分布層、管理層,以“異步+弱依賴”的方式管理集群業務,松耦合架構的優勢在于它支持迅速擴大單集群節點數量,但不影響集群性能和穩定性,根據我們測驗結果,以核心節點采用Power8服務器為例,單集群節點數量在5000以下,同時輔以各種并行測驗業務在節點上運行時,能夠保證集群穩定運行,超過會出現管理峰值,單集群穩定性會下降,
第三項技術:“基于DFL人工智能模型的自適應機制”,這是DFL人工智能模型中的一個子集,負責管理單個節點,維持單節點穩定性,Laxcus集群運行時,系統會把管理作業下沉到每個節點,自適應機制使用DFL提供的深度學習,會根據節點不同的物理性能,選擇一個最佳作業區間,主動干預服務器載荷,讓服務器在允許范圍內運行,
上述三項技術是Laxcus集群作業系統分別從“多集群”、“單集群”、“單節點”三個維度對計算機集群實施的管理,目前對于集群節點數量,我們有兩組資料,在仿真環境里,多域集群并行數量超過800組,單域集群節點數量在3,000個以上,合計2,400,000個節點,生產環境中,多域集群并行數量最大是28組,單域集群節點數量最大500個左右,最大的多域集群總節點數量超過1,200臺物理服務器,所以現在現實情況是,可用節點數量仍然離最大目標相去甚遠,我們只能期待有更大規模的計算機集群出現,有更多用戶使用Laxcus集群作業系統,
不知這些介紹說清楚沒有?
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/278790.html
標籤:大數據
上一篇:兩個欄位A和B,不管A=1,B=2, 還是B=2,A=1 都group by 一條出來
下一篇:第二講-資料庫的抽象
