鯤鵬遷移第一批吃螃蟹的人,踐行技術國際化

摘要:基於ARM架構的伺服器晶片鯤鵬920,經過一年多的沉澱,國產化的步伐在鯤鵬這個後浪的推動下,滿地開花。

全球化競爭日益激烈的今天,大國都已把科技作為戰略博弈的核心。在這樣的宏觀態勢下,核心技術和產品的國產替代迫在眉睫。

以數據中心為例,X86的江湖地位已大不如從前,ARM伺服器的崛起正在撬動英特爾一統天下的格局。

去年,華為就推出了首款基於ARM架構的伺服器晶片鯤鵬920,強勢闖入伺服器市場。經過一年多的沉澱,國產化的步伐在鯤鵬這個後浪的推動下,滿地開花。

曾瓊,是中軟國際的系統工程師,也是第一批投入到鯤鵬適配調優浪潮中的專業技術人才。經過60多個鯤鵬遷移項目的洗禮,他總結了一些鯤鵬適配移植的經驗,讓後來者少走點彎路,少踩點坑。

投入到鯤鵬移植,推動技術國產化

作為一個接觸Linux差不多10年的IT老人,曾瓊做過5年的嵌入式Linux系統開發,5年的作業系統運維,長年苦於交叉編譯的繁瑣:在當前編譯平台下,編譯出來的程式能運行在體系結構不同的另一種目標平台上,但編譯平台本身卻不能運行該程式。

對此,曾瓊分析了4個原因:

1、即使目標平台資源很充足,可以本地編譯,但是第一個在目標平台上運行的本地編譯器總需要通過交叉編譯獲得;

2、目標平台的運行速度往往比主機慢得多,許多專用的嵌入式硬體被設計為低成本和低功耗,沒有太高的性能;

3、整個編譯過程是非常消耗資源的,嵌入式系統往往沒有足夠的記憶體或磁碟空間;

4、交叉編譯使我們不需要花時間將各種支援包移植到目標板上。

總結下來就是場景、算力和生態的問題。

這個情況一直在持續,直到鯤鵬的出現,改變了整個使用格局。

當時曾瓊在西安做EulerOS的系統運維,回想初次接觸國產作業系統,他形容自己是滿心的期待和感慨。

「那時EulerOS還沒有被扶正,我因為工作原因,18年開始接觸鯤鵬,記得第一次直接在鯤鵬架構上編譯出AArch64軟體包的那種舒爽,真實且感慨。後來隨著不斷的整合編譯,越來越多的開源包被整合到EulerOS。作為一個嘗鮮人,真實體驗到EulerOS運行在鯤鵬上的感覺。」

後來曾瓊所在的公司成立了負責鯤鵬遷移工作的專家團隊,從早期的鯤鵬適配、行業方案驗證、數據遷移到性能測試、調優,一路走來,曾瓊和團隊在鯤鵬上積累了一套端到端交付的能力。

圖: 2019年在陝西鯤鵬訓練營上分享鯤鵬移植適配經驗

圖:2019年獲得公司鯤鵬移植金牌團隊

從8小時縮短到1.5小時,高效完成鯤鵬遷移的秘訣

這一年時間裡,曾瓊參與了60多個鯤鵬遷移項目,涉及航運額20多個。

他總結,「在整個項目交付過程中,除了對鯤鵬架構的差異適配,各個開源組件與自研程式碼的適配外,還要掌握IaaS\PaaS\SaaS各層級的技術。而且得理解華為雲的各個雲服務,才能高效快速的幫助客戶設計合理的上雲規劃,高性價比、高效的解決客戶的痛點,加快客戶的業務改造。」

基於一年的鯤鵬遷移經驗,曾瓊將遷移項目分為三大類:大數據類,資料庫類,容器類。

以大數據為例,這部分客戶主要的問題在於平台的適配。

很多用到大數據的客戶都是採用CDH進行管理,然而CDH不支援鯤鵬且是閉源的,因此要推薦客戶首選華為雲的MRS服務。同時曾瓊和團隊也在第一時間適配了Ambari大數據管理平台,為客戶提供最小改造,完善行業場景的適配。

如果遇到平台在拉起過程中出現適配不到位的情況,曾瓊表示需要儘可能使用華為的遷移工具提前進行掃描,找出並整改所有架構不適配的部分,確保一次遷移成功。

另外,當客戶需要業務改造時,曾瓊推薦最多的方案是大數據的算存分離。

「OBS服務的物美價廉讓人愛不釋手,它提供了與大數據存儲組件無感知介面的方式,業務程式碼不用做任何改動,安全高效地完成業務能力提升,我們團隊內部當前的資料和產品也都開始放到了OBS上。」

圖:資料庫存算分離方案

圖:大數據問題定位思維導圖

對於資料庫類的客戶,華為雲鯤鵬雲的RDS與DRS基本是資料庫資源申請與數據遷移的首選。曾瓊表示,「DRS服務簡潔的設計讓很多只會開發的兄弟們也過了一把遷移專家的癮,輕鬆搞定數據遷移。」

比如有個製造類的企業,想要從SQL Server遷移到MySQL,曾瓊原本的調研規劃需要割接8個小時的數據,最終採用RDS服務僅花了1.5個小時就完成所有的遷移。然後再使用校驗功能,快速識別資料庫數據表差異,做了輕微改動便完成了業務上線。

另外,對於國產資料庫的遷移,前期調研與方案設計也非常重要。曾瓊附上了他們總結的資料庫選型導圖與資料庫資訊調研表。

圖:資料庫的選型方案

如何走上性能調優之路?

在鯤鵬移植過程中,最關鍵的是做好業務切換,即在不改動程式碼的情況下,完成性能調優。

性能調優分為系統調優(CPU、記憶體、IO、網路)和應用調優(配置、程式碼、編譯、環境)。

要想做好調優,既要了解鯤鵬多核優勢,也要從計算、存儲中找到網路的問題,因為「一切呈現都是計算,瓶頸多在資源。」

基於60多個鯤鵬遷移項目經驗,曾瓊總結了他的鯤鵬性能調優之路。

首先是基礎知識的掌握和能力的提高:

1、鳥哥的書,馬哥的培訓影片,快速切入對Linux的基本掌握與入門;
2、Linux內核設計與實現;
3、韋東山的嵌入式影片,從軟體層面切入到底層,以及系統啟動,驅動編寫,內核原理實戰;
4、《性能之巔》,了解基本常見的性能定位討論與方法;
5、系統編程,網路編程;
6、掌握暫存器架構、彙編、內嵌彙編、C、Python、Java至少三種以上;
7,掌握虛擬化KVM、QEMU、OpenStack;
8、掌握Docker,K8S等虛擬化技術,掌握各類雲服務,不限於華為雲;
9、掌握大數據開發、資料庫開發、高性能運算、雲原生、AI、異構計算等技能;
10、從物理層、虛擬化、容器化,從SaaS、PaaS、IaaS,從應用、介面、庫、平台、系統調用、內核、驅動、硬體到匯流排和CPU;掌握自上至下的業務與系統架構,縱深理解業務與系統,從計算(CPU)、存儲(記憶體,磁碟)、網路和硬體加速等四方面全面整合上面的技能;

11、了解鯤鵬與X86的差異,多核,硬體加速模式,SSE與NENO區別等.

其次,具備以下能力,方能更好的做好性能調優:

1、基本技能之熟悉軟體架構(業務架構);
2、在調優過程中要對程式碼熟悉(程式碼架構);
3、對系統進行測試驗證 (測試設計);
4、掌握整個伺服器的軟硬體的基本配置:網路,記憶體,磁碟(系統架構)。

工具和方向之外,還要具備對內核、CPU、調度、驅動、記憶體、中斷,各個子系統以及程式碼能力的軟實力。

總的來看,既要用好工具,結合自身經驗做好提問,精準找到問題根因,快速閉合;也要善於利用網路資源,打開思路,查詢開源bug,多做總結整理。

圖:Linux性能調優工具全景

最後

經過一年多的努力,目前獲得鯤鵬認證的行業解決方案已達2000多個,包括作業系統(麒麟、普華、統信),資料庫(達夢、金倉、高斯),中間件(金蝶、東方通、寶蘭德)都已完成了對鯤鵬的適配。

曾瓊強調,基礎組件的完善對鯤鵬的適配起到了非常大的進步。而且昇騰、OpenEuler與OpenGauss給行業注入了新的活力與動能,勢必將進一步加快鯤鵬生態的完善。

「作為鯤鵬領域的先行者,希望個人能夠緊跟鯤鵬社區節奏,不斷提升自己在適配與遷移領域的技術,在性能調優和國產化改造方面突破自己,提供行業領先的鯤鵬移植服務,為國產化改造貢獻一份力量 。」

 

點擊關注,第一時間了解華為雲新鮮技術~