如何在实际的鲲鹏服务器部署ExaGear
发表于 2023/11/15
0
如何在实际的鲲鹏服务器部署ExaGear
1. 环境要求
ExaGear在鲲鹏Linux服务器上部署,要求服务器至少具备如下资源:
表3.1 ExaGear运行环境要求
环境 | 配置 |
---|---|
硬件 |
CPU: 鲲鹏CPU |
RAM: 512MB及以上 |
|
磁盘空间:默认安装路径为/opt/exagear,需保证该目录所在磁盘的空余空间满足: |
|
软件 |
OS: 64 位Linux openEuler, CentOS,Ubuntu操作系统 |
Docker: 仅ExaGear for Docker版本需要安装 |
2. 安装包获取
从鲲鹏社区的ExaGear官网获取安装包:https://www.hikunpeng.com/developer/devkit/exagear
并且放置到Linux aarch64系统(Host)。
3. 安装
在正式安装ExaGear之前,先确定当前aarch64系统的页面大小配置,只有4KB页大小的Linux系统才可以使用ExaGear:
getconf PAGESIZE
显示4096,表示我们使用的实验机配置的是4KB页面。
解压下载到的安装包:
tar xzf ExaGear_3.0.0.1.tar.gz
以CentOS为例,进入到ExaGear_3.0.0.1/ExaGear_Server_for_Centos7/release目录:
cd ./ExaGear_3.0.0.1/ExaGear_Server_for_Centos7/release
然后,运行安装命令:
rpm -ivh exagear-utils-2838-1.noarch.rpm exagear-integration-2838-1.noarch.rpm exagear-core-x64a64-2838-1.aarch64.rpm exagear-core-x32a64-2838-1.aarch64.rpm exagear-guest-centos-7-x86_64-2838-1.noarch.rpm
X86_64程序编译和运行
这一节的内容用一个简单的helloworld x86_64程序演示如何在aarch64环境,以用户无感知的方式将x86_64程序运行起来。
1. 配置yum源
exagear
curl -o /etc/yum.repos.d/CentOS-Base.repo \
http://mirrors.tools.huawei.com/repository/conf/CentOS-7-anon.repo
2. 在X86_64环境中,yum安装gcc编译环境
yum install gcc -y
查看gcc版本:
出现上述信息则表示安装成功。
3. 在ExaGear提供的x86_64环境,编译运行Hello World
创建一个C文件,例如helloworld.c。
cat helloworld.c
这里的C文件源码内容如下:
#include <stdio.h>
int main()
{
Printf(“Hello World.\n”);
Return 0;
}
编译C文件:
gcc -o helloworld helloworld.c
运行程序:
./helloworld
结果如下所示:

执行如下命令查看该程序的属性(以60个字符的宽度显示):
file ./helloworld | fold –w 60
我们可以看到,编出来的程序是x86_64平台的:

4. 在aarch64 host环境,运行同一个Hello World程序
我们运行exit命令,退至aarch64环境的/root/目录:
exit
arch
运行helloworld程序:
./helloworld
file ./helloworld | fold –w 60
可以看到,虽然在aarch64的环境中,helloworld作为x86_64平台的程序仍然可以正确运行。(如图)
这是因为,Host和Guest所看到的/root/默认被配置成了ExaGear共享目录。在aarch64环境下,运行/root/目录下的x86_64程序会自动启动ExaGear转码机制。
x86_64无源码软件在ExaGear环境的部署
x86_64无源码软件在ExaGear环境的安装部署、运行过程与其在x86_64服务器环境下的过程并无二致。这一节我们以一款简单的图形应用xclock为例,在ExaGear环境安装它的x86_64二进制,然后运行它。读者可以通过这个例子,直观地感受x86_64无源码软件在鲲鹏服务器上的运行过程,推此及彼地理解x86_64无源码商用软件在鲲鹏平台的应用。
1. x86_64无源码软件的安装
在ExaGear环境下安装x86_64无源码软件通常包括两部分:
(1)与x86_64无源码软件相关的依赖包。
(2)x86_64无源码软件本身;
依赖包通常由操作系统发行版的供应商提供,以ISO镜像或者在线源的形式挂载到ExaGear环境可以访问的目录,再用yum或者apt等包管理器工具完成安装(如3.1节所述)。以xclock相关的依赖包为例:
yum install -y libX11*
无源码软件本身的安装视情况而定:如果是MatLab之类的商用软件,安装步骤通常会在软件包内有说明文件,并且以脚本的形式启动安装。我们这里演示用的xclock,其安装包已经包含在操作系统供应商提供的ISO镜像中,因此也可以用yum命令安装xclock:
yum install -y xorg-x11*
2. x86_64无源码软件的运行
作为演示,我们先确认文件是x86_64格式:

然后运行xclock,得到如下的画面:
通常来讲,一款x86_64无源码商用软件的正常使用还会涉及到License相关的事务(如授权码,或者License-manager相关的设置)。从软件供应商购买到的授权信息在ExaGear环境依然有效,使用方式和x86_64服务器一致。
本页内容