亚洲高清视频在线观看-久操福利-www.四虎在线-毛片毛片毛片毛片毛片毛片毛片-国产色悠悠-欧美视频xxx-免费在线观看a视频-加勒比不卡视频-综合五月婷-性视频一区-免费欧美在线

行業(yè)動態(tài)

了解最新公司動態(tài)及行業(yè)資訊

當前位置:首頁>新聞中心>行業(yè)動態(tài)
全部 4217 公司動態(tài) 1081 行業(yè)動態(tài) 3136

揭秘阿里IT運維的基礎設施,詳細分析是如何支持百萬級規(guī)模服務器管控?

時間:2022-09-08   訪問量:2809

簡介:還記得這些年我們晚上爬起來重啟服務器的黑歷史嗎?雙十一期間,阿里巴巴是如何安全、穩(wěn)定、高效、順暢地管理數百萬主機的?阿里巴巴運維中心技術專家宋毅首次解密阿里巴巴IT運維的基礎設施,詳細分析了如何支撐百萬級規(guī)模服務器的管控?如何像生活中的水原煤一樣做好阿里巴巴運維的基礎設施平臺?

客人介紹

宋健(Song Yi):阿里巴巴運維中臺技術專家。經過10年的工作,他依然專注于運維領??域,對大型運維系統(tǒng)和自動化運維有著深刻的理解和實踐。 2010年加入阿里巴巴,目前負責基礎運維平臺。加入阿里后負責:從零開始搭建支付寶基礎監(jiān)控系統(tǒng),推進全集團監(jiān)控系統(tǒng)整合一、運維工具&測試PE團隊。

從云效應來看2.0智能運維平臺(簡稱:)產品,運維可以定義為兩個平臺,基礎運維平臺和應用運維平臺。基礎運維平臺是統(tǒng)一的,稱為,不愧是阿里巴巴IT運維的基礎設施。

從10000臺服務器到臺服務器,再到數百萬臺服務器,基礎設施的重要性并不是一開始就意識到的,而是逐漸被發(fā)現的。無論是運維系統(tǒng)的穩(wěn)定性、性能還是容量,早已無法滿足服務器數量和業(yè)務的快速下滑。 2015年我們升級架構,系統(tǒng)成功率從90%提升到99.995%,單日調用量也從1000萬提升到1億多。

全球擁有百萬級服務器規(guī)模的公司屈指可數。然而,許多公司已經被業(yè)務拆分。每個企業(yè)管理自己的服務器,一個系統(tǒng)管理數百萬臺機器。應該少一些,所以我們沒有太多可以學習的東西。在大多數情況下,我們都在以自己的方式前進,我們的系統(tǒng)也在這個過程中演變成今天的樣子。

產品介紹

運維服務服務器網絡設備日常巡檢報告_運維服務管理體系建設_服務器運維技術

如上圖,分為三層:主機層、運維層、業(yè)務層。每個團隊根據分層方法進行合作。通過這張圖,可以大致了解產品在組內的位置,是組內唯一的一個。官方默認代理。

應用場景

運維服務管理體系建設_服務器運維技術_運維服務服務器網絡設備日常巡檢報告

貫穿整個服務器生命周期:

產品數據

運維服務服務器網絡設備日常巡檢報告_服務器運維技術_運維服務管理體系建設

這也是我們在阿里產品的一些數據。每天晚上有上億臺服務器操作,1分鐘可以操作50萬臺服務器,有150多個插件,管理服務器規(guī)模在百萬級,Agent資源占用率也很低支持 Linux/主流發(fā)行版。

產品特點

運維服務管理體系建設_服務器運維技術_運維服務服務器網絡設備日常巡檢報告

核心功能可以概括為兩大部分:控制通道和系統(tǒng)配置。這個和開源的//和其他配置管理產品差不多,我們做的更精細一點。

運維服務服務器網絡設備日常巡檢報告_服務器運維技術_運維服務管理體系建設

按照API、Agent細分的功能列表主要供一線開發(fā)運維朋友使用。 API 多用于底層運維系統(tǒng)調用。 Agent代表了可以在每臺機器上直接使用的能力。

API

代理

運維服務管理體系建設_服務器運維技術_運維服務服務器網絡設備日常巡檢報告

圖:左邊是web終端,手動發(fā)信號,可以以JS的形式嵌入到任何網頁中。左邊是批量執(zhí)行命令的功能。首先選擇一批機器,在這個頁面輸入的命令會發(fā)送到這批機器上。系統(tǒng)架構

邏輯架構

運維服務服務器網絡設備日常巡檢報告_運維服務管理體系建設_服務器運維技術

我們的系統(tǒng)是三層架構。每臺機器安裝代理,完善長連接。之后,連接代理的信息會定期上報給中心,中心會維護完整的代理和關系數據。共享兩個進程:

1.代理注冊

代理有一個默認配置文件。啟動后,它首先連接。連接時會上報本機IP、SN等必要信息。它估計應該連接到哪個集群,并將其返回到列表中。然后和它建立一個長連接。

2.發(fā)送命令

外部系統(tǒng)調用代理發(fā)出命令。 proxy收到請求后,會根據目標機器找出對應關系,然后下發(fā)任務給agent,再把命令轉發(fā)給agent執(zhí)行。

部署框架

運維服務管理體系建設_運維服務服務器網絡設備日常巡檢報告_服務器運維技術

最底層是每個IDC,每個IDC會部署一個集群服務器運維技術,Agent會在其中一個隨機建立一個長連接。里面是中心。中心部署了兩個機房進行容災,同時在線提供服務。其中一間機房的死亡不會影響業(yè)務。

問題與挑戰(zhàn)

服務器運維技術_運維服務服務器網絡設備日常巡檢報告_運維服務管理體系建設

如上圖:是前年在系統(tǒng)建設中遇到的問題:

前三個問題有點類似,主要是任務是狀態(tài)引起的。 1.0 可以理解為 2.0 中的代理,相當于一直有大量系統(tǒng)在線 發(fā)出命令時,如果重啟 //agent 的任何角色在 1.0 中,此鏈接上的任務將失敗。比如連接到它的agent重啟后會斷開連接,因為鏈條斷了,當時這個站下達的命令是拿不到結果的。重啟會導致負載不均的第六個問題。假設一個IDC有10000臺機器,兩臺機器分別連接5000臺機器。重啟后,10000臺機器全部連接到一臺機器上。

如果用戶調用API發(fā)出命令失敗,他們會過來讓我們檢查原因。有時候確實是系統(tǒng)問題,但是也有很多環(huán)境問題,比如機器宕機、SSH失敗、負載過高等等。當磁盤滿了等等,百萬級的服務器有10000臺機器,而每晚有百分之一的機器。回答問題的數量可想而知。那個時候,我們很郁悶。每天晚上有一半的團隊成員在回答問題。晚上有一次斷網演習,我們只好爬起來重啟服務恢復。

如何解決這個問題?我們將問題分為兩類:系統(tǒng)問題和環(huán)境問題。

運維服務服務器網絡設備日常巡檢報告_運維服務管理體系建設_服務器運維技術

系統(tǒng)問題

我們已經對系統(tǒng)進行了徹底的構建,采用分布式消息架構,或者以發(fā)送如下命令為例,每次都是一個任務,每個任務的狀態(tài)在2.0 , 代理收到發(fā)出命令的請求后,會先記錄并設置接收任務的狀態(tài),然后發(fā)送給代理。代理收到任務后,會立即響應。代理收到代理的響應后,將狀態(tài)設置為執(zhí)行期間,代理在執(zhí)行完成后主動上報結果,代理收到結果后將狀態(tài)設置為執(zhí)行完成。

整個過程中proxy和agent之間的消息都有確認機制,重試會在不確認的情況下進行。這樣,如果重啟了任務執(zhí)行過程中涉及的角色,對任務本身不會有太大影響。

2.0 集群中的機器會相互通信服務器運維技術,定期上報連接的agent數量等信息,并將接收到的信息與自己的信息結合起來。如果連接的agent太多,會手動斷開最近沒有任務執(zhí)行的機器,通過這種方式解決負載均衡問題。中心節(jié)點與所有節(jié)點有長期連接,并存儲每個連接的代理數量。當發(fā)現某個機房出現異常或容量過高時,會手動觸發(fā)擴容或臨時借用其他機房。擴展將被手動移除。

環(huán)境問題

在2.0中,每一層proxy//agent都有詳細的錯誤碼。通過錯誤碼,可以直觀的判斷出任務錯誤的原因。

對于機器本身的問題,連接監(jiān)控系統(tǒng)中的數據。任務失敗后會觸發(fā)環(huán)境檢測,包括宕機時間、磁盤空間、負載等,如果有相應問題,API會直接返回本機。數據負責人也返回,讓用戶看結果就知道原因和處理誰。同時,這些診斷能力會以釘釘機器人的形式開放,讓你平時可以直接在群@機器人做測試和確認。

運維服務管理體系建設_運維服務服務器網絡設備日常巡檢報告_服務器運維技術

穩(wěn)定

從上面的介紹可以看出,我們可能是運維的基礎設施。就像生活中的水、電和煤一樣,您所有的服務器運營都非常依賴我們。當我們出現故障時,如果線上業(yè)務也出現嚴重故障,那么業(yè)務故障只能等待。由于服務器無法操作,無法發(fā)布和更改,因此對系統(tǒng)穩(wěn)定性的要求非常高。在同城雙機房、異地多中心容災部署中,依賴的存儲是mysql/redis/hbase,而這個存儲本身就有高可用保障。單個存儲故障不會影響業(yè)務,相信業(yè)內很少有系統(tǒng)能達到這個水平。

安全

1分鐘可以操作50萬臺服務器,輸入命令回車瞬間可以操作上萬臺機器。如果是惡意破壞性操作,其影響可想而知。因此實現了攔截高危指令的功能,對一些高危操作進行人工識別和攔截。整個調用鏈也經過加密和簽名,確保第三方難以破解或篡改。針對API賬號可能泄露的問題,還開發(fā)了命令映射功能,通過映射改變操作系統(tǒng)中的命令。例如,要執(zhí)行命令,可能需要傳入 a1b2。每個API賬號的映射關系都不一樣。

環(huán)境

連接監(jiān)控數據可以解決機器停機等環(huán)境問題。前面說了,網絡隔離的問題就不過多討論了。這里我們重點關注CMDB中錄入的數據與Agent采集的數據不一致的問題,主要是SN、IP等基礎信息,因為你在使用的時候,首先從CMDB中提取機器信息,而然后調用我們的系統(tǒng)。如果不一致會直接導致調用失敗,為什么會出現SN/IP不一致的問題?

CMDB 中的數據通常是由手動或其他系統(tǒng)觸發(fā)和輸入的,而 Agent 實際上是從機器上收集的。有的機器顯卡上沒有SN編程,有的機器網卡很多等等,環(huán)境比較復雜,各種情況都有。

這些情況都是通過構建規(guī)范來解決的,分別制定SN和IP采集規(guī)范,允許在機器上自定義機器的SN/IP,并提供采集工具配合規(guī)范。除了我們的Agent,其他所有機器信息都被收集了這個收集工具可以在所有場景中使用。當規(guī)范更新時,我們會同步更新,實現對底層業(yè)務的透明化。

原創(chuàng)

更多技術干貨,請關注云棲社區(qū)知乎組織號:阿里云云棲社區(qū)-知乎

上一篇:中國IT服務市場2023年將達萬億規(guī)模(組圖)

下一篇:衢州邦芒人力項目外包,給您超高的性價比服務

發(fā)表評論:

評論記錄:

未查詢到任何數據!

在線咨詢

點擊這里給我發(fā)消息 售前咨詢專員

點擊這里給我發(fā)消息 售后服務專員

在線咨詢

免費通話

24小時免費咨詢

請輸入您的聯系電話,座機請加區(qū)號

免費通話

微信掃一掃

微信聯系
返回頂部
主站蜘蛛池模板: 彝良县| 孙吴县| 安塞县| 陆河县| 班戈县| 九龙县| 从化市| 于田县| 浦县| 墨玉县| 浦县| 永泰县| 望奎县| 安阳县| 嫩江县| 都昌县| 和静县| 丰宁| 沁源县| 天全县| 安塞县| 宁强县| 秭归县| 昌邑市| 普兰店市| 黄梅县| 民勤县| 湛江市| 随州市| 南昌县| 宜章县| 防城港市| 屏山县| 乌苏市| 隆子县| 聂拉木县| 江口县| 深水埗区| 仙居县| 仁化县| 安徽省|