天天看點

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

摘要:基于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給行業注入了新的活力與動能,勢必将進一步加快鲲鵬生态的完善。

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

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

繼續閱讀