全面升級!龍蜥自動化運維平臺 SysOM 2.0 可支援作業系統一站式遷移 | 龍蜥技術

OpenAnolis小助手發表於2023-02-07

文/系統運維SIG

CentOS 專案將停止維護,企業和個人使用者都面臨著大量的 CentOS 作業系統更新、維護、系統遷移等問題。對於遷移的過程,若透過手動方式進行不僅效率低下,還存在無法標準化、無法原地遷移等問題,也將耗費大量人力和資源,這顯然是不現實的。如何解決依靠工具實現一站式的從遷移的評估、遷移實施到遷移後的最佳化問題迫在眉睫。

基於此,龍蜥社群正式推出圍繞作業系統遷移和運維的自動化運維平臺 SysOM 2.0 版本,此次升級從架構到核心功能都做了最佳化升級,包含三個核心能力:作業系統遷移、全面升級的診斷中心和整體架構的升級。SysOM 2.0 將為使用者提供包括遷移評估、遷移工具、遷移前後的對比和系統最佳化在內的完整遷移功能,保障了使用者從遷移到運維的作業系統管理閉環。圍繞遷移場景,SysOM 2.0 還在監控中心、診斷中心等模組豐富了相關的功能,使作業系統的運維體驗進一步提升。

01 作業系統遷移

還在為 CentOS 停服不知道該換什麼、能不能換、怎麼換、換了之後系統會不會出問題而煩惱嗎?SysOM 2.0 新增的“作業系統遷移”功能可以給你答案。SysOM 2.0 支援 CentOS 7 和 CentOS 8 全系作業系統遷移到龍蜥作業系統(Anolis OS) 7 和 8 版本,為使用者提供簡單視覺化的介面來完成一站式的遷移工作。

SysOM 2.0 作業系統遷移模組功能點包括:遷移評估和遷移實施。支援原地遷移和批次遷移,來解決使用者機器的規模龐大,無法進行輪轉的問題。支援對遷移後系統的異常進行診斷分析和系統調優。

遷移評估:在作業系統進行遷移之前,透過自動化的遷移評估功能,使用者可以瞭解遷移後的 Anolis OS 對原有系統的相容性,包括軟體相容性和硬體相容性,同時會為使用者提供詳細的相容性報告,為後續遷移到 Anolis OS 做充分的資訊決策的準備。

遷移評估功能包括:

  • 遷移風險評估,針對作業系統進行全面的遷移操作風險評估。

  • 系統評估,針對遷移前後系統內建環境變數、服務命令、核心系統呼叫等等系統級配置進行評估。

  • 硬體評估,針對系統硬體資訊和板卡資訊進行評估。

  • 應用評估,針對系統已安裝的應用進行相容性評估。

全面升級!龍蜥自動化運維平臺 SysOM 2.0 可支援作業系統一站式遷移 | 龍蜥技術

(圖/遷移評估)

全面升級!龍蜥自動化運維平臺 SysOM 2.0 可支援作業系統一站式遷移 | 龍蜥技術

(圖/遷移評估報告)

遷移實施:當使用者完成遷移評估之後,可以透過遷移實施的介面操作來完成系統遷移。為了避免在遷移過程發生意外或遷移結果不如預期,使用者可以透過介面提前進行系統備份。遷移實施功能支援單機遷移和批次遷移,支援單步遷移和一鍵遷移,支援備份還原和離線遷移等功能。

遷移實施流程包含:

  • 實施配置,針對實施配置的一些操作。

  • 系統備份,如果有需要則會對當前系統進行備份。

  • 環境準備,遷移前的環境準備和工具部署。

  • 風險評估,實施遷移會進行一次風險評估。

  • 遷移實施,當風險評估透過之後,將執行系統遷移操作。

  • 重啟機器,遷移實施完成之後需要重啟機器,當機器重啟成功後,系統切換為 Anolis OS,標誌著本次系統遷移完成。

如果使用者對系統進行了備份,可以隨時使用系統還原功能將當前系統還原為未遷移的狀態。

全面升級!龍蜥自動化運維平臺 SysOM 2.0 可支援作業系統一站式遷移 | 龍蜥技術

(圖/批次遷移實施)

全面升級!龍蜥自動化運維平臺 SysOM 2.0 可支援作業系統一站式遷移 | 龍蜥技術

(圖/遷移實施)

02 監控中心

SysOM 2.0 新增遷移監控報表功能,該項功能對遷移前後系統的資源總額使用情況、基礎指標變化趨勢以及指標波動等進行採集和視覺化展示,可以讓使用者更加直觀地感受遷移前後,作業系統的變化情況。同時,透過在遷移前後執行一段時間測試任務,可以對實際業務在兩種作業系統上執行的效能有一個直觀的對比效果。

資源變更監控

遷移監控會對遷移前後常用資源的變更情況和變更趨勢進行視覺化展示,可以直觀的對比遷移前後系統的資源變更情況。

全面升級!龍蜥自動化運維平臺 SysOM 2.0 可支援作業系統一站式遷移 | 龍蜥技術

(圖/遷移監控)

基礎指標監控

同時遷移監控會對常用指標(CPU、記憶體、網路、IO、磁碟)進行監控,對每個指標的實時值、變化趨勢、以及波動幅度進行視覺化展示,可以直觀的對比遷移前後各個指標在時間維度上的波動情況。

全面升級!龍蜥自動化運維平臺 SysOM 2.0 可支援作業系統一站式遷移 | 龍蜥技術

(圖/基礎監控)

03 診斷中心

SysOM 2.0 提供排程、儲存、網路、記憶體等全方位的診斷,幫助作業系統使用者進行全方位的問題排查和定位。新增診斷功能:排程抖動診斷、IO 時延分析、IO hang 診斷、網路丟包診斷、網路抖動診斷、網路重傳診斷、記憶體 Cache 分析、記憶體 OOM 診斷和支援自定義命令下發功能。

排程診斷中心

排程抖動診斷:在系統運維場景中,CPU 長時間在 sys 態執行,導致使用者態程式得不到排程;系統長時間關中斷,導致 CPU 無法正常接收 TICK 中斷、引發排程抖動問題。這兩種情況下往往伴隨著業務程式突發排程延遲,甚至系統短暫 hang。排程抖動記錄了排程抖動發生的時間點、發生的次數、和抖動的具體數值,來幫助使用者更好的定位該場景下發生的問題。

全面升級!龍蜥自動化運維平臺 SysOM 2.0 可支援作業系統一站式遷移 | 龍蜥技術

儲存診斷中心

IO 時延分析:IO 高延遲一般意味著 IO 效能瓶頸,如 IO 流量太多、積壓,達到儲存裝置瓶頸或者儲存裝置異常、OS 儲存棧異常等等,造成 IO 請求處理慢、IO 延遲高。該項監控每個儲存裝置的歷史 IO 延遲水位,統計每分鐘訪問的 IO 延遲異常偏離歷史水位的次數,可以快速定位出 IO 延時最大消耗在哪一層級,方便定位問題。

IO 流量分析:系統 IO 流量過高、IO 打滿磁碟,容易引起 IO 資源的爭搶而導致有 IO 需求的使用者程式阻塞,出現這種情況,一般意味著 IO 資源沒有得到合理的分配,讓某些程式佔據了超出預期的大量 IO 資源。該項監控每個儲存裝置在程式級別的 IO 資源(如 iops、吞吐)佔用情況,並且能夠分析出資源佔用最大的程式,方便定位問題。

IO hang 診斷:IO hang 對於系統來說可謂災難,及時發現,並將 IO 流量切換到正常的儲存裝置上,隔離異常的儲存裝置非常重要,該監控項監控系統每個儲存裝置的 IO 訪問路徑上是否存在 IO hang 問題。

網路診斷中心

網路丟包診斷:丟包診斷透過監控記錄丟包的事件、丟包的硬體或網路卡裝置、丟包點和次數以及丟包原因。幫助使用者診斷定位網路丟包的問題。

網路抖動診斷:抖動診斷目前支援 icmp 報文。其包含兩個部分,一個是 ping 發起端的報文時延,即傳送報文路徑,另外一個是 ping 接收端的報文時延,即接收報文路徑。

網路重傳診斷:重傳診斷透過記錄重傳的時間、IP、TCP socket 所處的狀態和擁塞狀態,幫助使用者瞭解網路重傳發生的情況。

記憶體診斷中心

記憶體 Cache 分析:記憶體 Cache 分析功能用於解析系統中或容器組和容器內部檔案快取和共享記憶體對應的檔案,以及檔案快取活躍和非活躍的佔比。

記憶體 OOM 診斷:OOM(Out of memory)是生產環境中常見的異常,當 OOM 發生時伴隨著大量核心日誌,而這些核心日誌往往難於分析。該診斷可以幫助使用者定位系統 cgroup 發生定位記憶體洩漏、cpuset、mempolicy 的原因等設定不合理導致的 OOM。

自定義診斷中心

命令診斷:考慮到運維人員診斷問題時會有各種各樣的場景,而這些場景有可能是SysOM現有的一些診斷功能無法精確覆蓋到的,因此新增了一個命令診斷功能,支援使用者像平常終端輸入命令一樣,自定義輸入自己需要的命令,然後可以檢視返回的結果。

04 整體架構升級

SysOM 1.0 架構設計適用於在單機上部署全量功能,可以一鍵式整合主機管理、主機監控、主機診斷、當機分析和安全檢測等強大的運維功能。隨著 SysOM 在多個場景的落地以及開源社群的熱度升高,功能的新增和管理規模的增長對 SysOM 的架構設計提出了新的需求:

  • 支援大規模場景。

  • 支援快速功能擴充套件。

針對上述需求,SysOM 2.0 對整體的架構設計進行了全面升級,使整個平臺可以更加靈活快速的部署和接入新的服務:

  1. SysOM 將後端各個元件微服務化,實現部署分離,在大規模場景下支援分散式容器化部署,並且可以根據各個微服務的負載對指定微服務進行水平擴容。

  2. SysOM 引入通用事件中心(Common Event Center,CEC)支撐微服務間的非同步通訊,促進微服務間的解耦,保證高內聚、低耦合、職責單一、關係清晰,同時可插拔式的設計可以相容各種型別的訊息佇列(Message Queue,MQ)技術,在不修改程式碼的情況下在多種MQ之間靈活切換。

  3. SysOM 提供了統一的通道能力,各個微服務可以使用通道 SDK(Channel SDK)對節點(Node)進行命令執行、檔案下發和檔案下載等功能,其插拔式的設計可以快速支援各種不同型別的通道,並且通道微服務採用全非同步程式設計,大大提升了並行處理能力。

圖片

(圖/SysOM 2.0 架構圖)

05 使用實踐

下載 rpm 包

wget 

安裝 rpm 包

rpm -ivh sysom-2.0-1.an8.x86_64.rpm 
# 或 yum install -y sysom-2.0-1.an8.x86_64.rpm

  • 預設安裝路徑為 /usr/local/sysom 下

  • 預設配置使用的 nginx 對外埠為 80,可以透過 export SERVER_PORT=xxx 來設定

  • 預設配置的內網IP是透過 ip -4 route 命令查詢的第一個 IP,可以透過 export SERVER_LOCAL_IP=xxx.xxx.xxx.xxx 來設定

啟動

# 使用以下命令進行啟動:
bash -x /usr/local/sysom/init_scripts/server/init.sh

當服務日誌輸出下列日誌表示部署成功:

Oct 10 12:58:51 mfeng bash[3217754]: /usr/local/sysom/init_scripts/server
Oct 10 12:58:51 mfeng bash[3217754]: + for dir in `ls`
Oct 10 12:58:51 mfeng bash[3217754]: + '[' -d init.sh ']'
Oct 10 12:58:51 mfeng bash[3217754]: + for dir in `ls`
Oct 10 12:58:51 mfeng bash[3217754]: + '[' -d stop.sh ']'
Oct 10 12:58:51 mfeng bash[3217754]: + sed -i 's/^FIRST_INIT_DONE=0/FIRST_INIT_DONE=1/g'     /usr/local/sysom/init_scripts/server/init.sh

透過 WEB 前端訪問

部署成功之後,可以透過訪問部署時指定的公網/私網地址訪問 SysOM 前端,比如 。

預設的使用者名稱密碼:admin/123456

SysOM 提供了 Demo 體驗網站,可以訪問:

全面升級!龍蜥自動化運維平臺 SysOM 2.0 可支援作業系統一站式遷移 | 龍蜥技術

06 系列直播預告

全面升級!龍蜥自動化運維平臺 SysOM 2.0 可支援作業系統一站式遷移 | 龍蜥技術

直播預告: 週二(今天)16:00-17:00 ,龍蜥社群邀請了系統運維 SIG Contributor 闕建明分享《SysOM 2.0 特性及架構介紹》,帶大家瞭解 SysOM 2.0 的架構設計、新增的功能特性以及如何快速擴充套件 SysOM。快來掃描海報二維碼入群,預定前排小板凳觀看直播!

07 關於SysOM

SysOM 是龍蜥社群系統運維 SIG 成員基於其業務真實場景打磨而成的,集監控、告警、診斷、修復、安全能力於一體的作業系統運維平臺。目前 SysOM 已經開源到龍蜥社群,詳見龍蜥社群系統運維 SIG,歡迎大家參與討論、使用、共建。

相關參考連結可移步龍蜥公眾號(OpenAnolis龍蜥)2023年2月7日相同推送檢視。

—— 完 ——


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004278/viewspace-2934228/,如需轉載,請註明出處,否則將追究法律責任。

相關文章