基於倚天710 ARM CPU架構的倚天雲端服務器可以顯著提升執行個體的計算、儲存和網路效能。您可以將x86平台的應用遷移到倚天執行個體伺服器上使用,擷取更優效能的雲端服務體驗。本文介紹遷移到倚天雲端服務器的遷移步驟、情境和使用流程。
遷移背景
什麼是倚天雲端服務器
倚天雲端服務器是基於倚天執行個體(包含倚天710 ARM CPU架構的ECS執行個體)的雲端服務器。通過晶片快速路徑加速手段,完成計算、儲存、網路效能的數量級提升,可應用於雲原生、視頻編解碼、高效能運算、基於CPU的機器學習和遊戲服務等情境。
基於倚天710 ARM CPU架構的執行個體規格類型系列包括g8y、c8y和r8y。您可以通過以下連結瞭解執行個體規格及計算、儲存、網路等指標資料。
遷移必要性
倚天雲端服務器採用ARM架構(與x86架構不同)。若需將x86平台上的原始碼程式部署到倚天雲端服務器上使用,必須經過重新編譯,並建議進行針對性最佳化以提升效能。
遷移步驟
將基於x86平台的應用遷移到倚天伺服器上,主要分為以下兩步:
遷移前準備
您需要規劃雲端服務器的作業系統、基礎軟體選型、硬體資源配置;需要檢查代碼是否存在x86架構相關的彙編指令、硬體特性依賴等;需要檢查第三方庫是否提供ARM版本;需要進行相容性測試等。
軟體編譯遷移。
根據軟體程式設計語言,安裝編譯器、軟體版本等,之後重新編譯。
遷移情境
軟體編譯遷移主要包含以下兩種情境:
源碼軟體:指開發人員開發的或者基於開源軟體增強開發的軟體。自研軟體使用的程式設計語言主要包含以下兩類:
編譯型語言:以C++/Go為代表的編譯型語言,這些語言會將原始碼編譯成架構相關的二進位檔案,因此遷移後必須進行重新編譯。更多資訊,請參見Make/CMake構建檔案和C/C++語言遷移。
解釋型語言:以Java/Python為代表的解釋型語言,這些語言原始碼編譯檔案與架構無關,理論上可以跨架構運行。但是,如果解釋型語言引入了本地庫,比如Java應用通過JNI調用了C開發的動態連結程式庫,那麼此應用就與架構相關,必須重新編譯。更多資訊,請參見Java語言遷移和Python語言遷移。
開源軟體:開源軟體指開發人員從開源社區下載未做源碼修改的軟體或者所使用作業系統生態中預設攜帶的軟體。當前大部分開源軟體在倚天ARM平台上已經提供較好的應用生態,您可以直接使用作業系統提供的開源生態軟體來安裝部署。更多資訊,請參見開源軟體遷移。
遷移流程
從x86平台遷移到倚天雲端服務器之前,需要準備環境資源,包括雲端服務器、作業系統、基礎軟體。將x86平台業務軟體遷移到倚天雲端服務器,具體流程如下:
步驟一:建立倚天雲端服務器
具體步驟,請參見自訂購買執行個體。您需要注意以下參數。
參數 | 說明 |
執行個體規格 |
|
鏡像 |
|
步驟二:軟體遷移
軟體遷移主要分為自研軟體和開源軟體,推薦使用的編譯器、運行庫、應用等版本如下表所示。請自行安裝使用。
分類 | 軟體 | 推薦版本 | 說明 |
編譯器 | GCC | gcc 10.2.1 | 建議使用gcc 10以上版本,效能有大幅提升。 |
LLVM | LLVM 13/clang 13 |
| |
Glibc | glibc 2.32 | 無 | |
JDK | Dragonwell 11或OpenJDK 11 | 優先推薦Dragonwell,效能和支援更好。 | |
Golang | go 1.18+ | Go SDK正持續針對ARM架構進行最佳化,推薦您使用最新版本:
| |
Python | 3.8 | Python 2.7版本已於2020年1月1日停止維護(EOL),Python 3.6版本已於2022年12月23日停止維護(EOL),建議您使用Python 3.7及以上版本。 | |
PHP | 7.4+ | 對應社區支援 | |
容器 | K8s | K8s 1.22 Containerd 1.5.0+ | 對應社區支援 |
Web應用 | Nginx | 使用推薦的作業系統版本提供的內建版本 | 作業系統發行商維護支援 |
httpd | 使用推薦的作業系統版本提供的內建版本 | 作業系統發行商維護支援 | |
NodeJS | 使用推薦的作業系統版本提供的內建版本 | 作業系統發行商維護支援 | |
資料庫 | MySQL | 使用推薦的作業系統版本提供的內建版本 | 作業系統發行商維護支援 |
Redis | 使用推薦的作業系統版本提供的內建版本 | 作業系統發行商維護支援 | |
巨量資料 | Hadoop | Hadoop 3.3.1 | 對應社區支援 |
Spark | Spark 3.2 | 對應社區支援 | |
Hive | Hive 3.1 | 對應社區支援 | |
Elasticsearch | ES 7.12 | 對應社區支援 | |
其他 | Gromacs | new version | 對應社區支援 |
BWA | new version | 對應社區支援 | |
Gatk | 4.3.0.0 | 對應社區支援 |
步驟三:遷移後編譯
根據您的業務需求,請參考如下指導對軟體進行編譯構建。
源碼遷移
介紹如何在倚天雲端服務上使用Nginx、MySQL、Redis、TensorFlow、PyTorch等開源軟體的方法。
參考文檔
查看CPU架構
執行uname -m
或arch
命令查看CPU架構,不同架構回顯資訊如下:
ARM架構顯示:aarch64
x86架構顯示:x86_64
查看CPU詳細資料
執行lscpu
命令查看CPU詳細資料,不同架構回顯資訊如下:
ARM架構顯示:
x86架構顯示:
查看OS資訊
x86架構與ARM架構的OS資訊不同。執行cat /proc/version
命令查看OS資訊及編譯器版本,不同架構回顯資訊如下:
x86架構顯示:
ARM架構顯示: