鲲鹏社区首页
中文
注册
如何在实际的鲲鹏服务器部署ExaGear

如何在实际的鲲鹏服务器部署ExaGear

DevKit

发表于 2023/11/15

0

如何在实际的鲲鹏服务器部署ExaGear

1. 环境要求

ExaGear在鲲鹏Linux服务器上部署,要求服务器至少具备如下资源:

表3.1 ExaGear运行环境要求

环境

配置

硬件

CPU:  鲲鹏CPU

RAM:  512MB及以上

磁盘空间:默认安装路径为/opt/exagear,需保证该目录所在磁盘的空余空间满足:
(1)600 MB: 含x86系统库和基础文件系统,在ExaGear安装包中提供
(2)用户所运行的x86应用程序需要额外占用空间,包括依赖库文件和相关系统配置文件

软件

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服务器一致。

本页内容