-
按照安装模拟器 安装指南(CentOS 7.6)进行AVD运行环境搭建,在升级mesa的步骤时,遇到如下错误,报错如下:meson --prefix=/usr -Dtexture-float=true -Dgallium-drivers=radeonsi,swrast -Ddri-drivers=radeon,swrast -Dplatforms=drm,x11 -Dglx-tls=true -Dshared-glapi=true -Ddri3=true -Dlmsensors=true -Dgbm=true -Dxa=true -Dosmesa=gallium -Dvdgpu=true -Dnine=true -Dva=true -Dlibglvnd=true -Dllvm=true -DCFLAGS="-fsigned-char -O2" -DCPPFLAGS="-fsigned-char -O2" -DCXXFLAGS="-fsigned-char -O2" -Dautotools=trueThe Meson build systemVersion: 0.61.3Source dir: /home/mesa-19.3.5Build dir: /home/mesa-19.3.5/buildBuild type: native buildProgram python found: YES (/usr/bin/python)WARNING: You should add the boolean check kwarg to the run_command call. It currently defaults to false, but it will default to true in future releases of meson. See also: https://github.com/mesonbuild/meson/issues/9300../meson.build:21:0: ERROR: Unknown options: "CFLAGS, CPPFLAGS, CXXFLAGS, autotools, glx-tls, libglvnd, nine, texture-float, va, vdgpu, xa"A full log can be found at /home/mesa-19.3.5/build/meson-logs/meson-log.txt遇到该问题后,通过联系华为ARM原生专家已进行紧急处理,目前该问题已处理完成1、通过专家排查,发现机器存在多个yum源文件,安装指南中已写明注意事项:由于安装部署机器为共用机器,可能有同事对yum源进行了替换或更新,导致安装了非官方的一些基本的软件库,从而导致后续编译出现了问题处理方案: 1、将多余yum源进行删除,只保留系统默认yum源,更新本地yum缓存 2、将之前预安装的编译依赖包进行卸载,重新已系统默认yum源进行安装2、安装部署机器在硬件上没有使用GPU,而是使用CPU进行渲染,在经过ARM原生专家的排查下,发现没有安装显卡,编译mesa驱动时编译的是radeon显卡驱动,有可能导致跑起来会有问题处理方案: 1、把mesa编译时的“-Ddri-drivers=radeon,swrast”这个编译选项改为“-Ddri-drivers=swrast”然后继续指南上下面的步骤在ARM原生专家的帮助下,目前已处理mesa编译问题,环境已成功部署,非常感谢ARM原生专家的鼎力帮助!
-
目录-1 软件介绍 -2 预置条件 -2.1 硬件配置 -2.2 软件配置 -3 软件安装 -3.1 下载代码 -3.2 安装 -4 软件运行1 软件介绍GNU M4 是一个实现了传统 Unix 的宏处理器,大部分兼容 SVR4 ,可扩展,例如可处理超过 9 个定位参数。2 预置条件2.1 硬件配置服务器硬盘数CPU、内存网络TaiShan 200K 1台系统盘:1*900G SSD Kunpeng 920-5231K 2600 MHz16*16GB DDR4 2933 MHz1*1GE(板载) 2.2 软件配置软件名称版本号安装方法备注说明OS名称Centos7.6https://support.huawei.com/enterprise/zh/taishan-servers/taishan-2280-v2-pid-232019011. 安装系统时勾选“Server With GUI”进行安装,软件包建议全部勾选。2. 默认内核。 3 软件安装3.1 下载代码# 步骤 1 下载安装源 # 本文已下载的源码路径为:/home cd /home wget http://mirrors.kernel.org/gnu/m4/m4-1.4.18.tar.gz tar -zxvf m4-1.4.18.tar.gz3.2 安装# 步骤 1 编译安装 cd /home/m4-1.4.18 ./ configure --prefix=/usr/local && make && make install4 软件运行创建测试工程步骤 1 查看版本。m4 --version步骤 2 测试reverse功能。cd example m4 reverse.m4
-
目录-1 软件介绍 -2 预置条件 -2.1 硬件配置 -2.2 软件配置 -3 软件安装 -3.1 安装 -4 软件运行1 软件介绍Lzip是一个无损的数据压缩和解压缩工具,它采用的是LZMA算法。Lzip很适合软件发布的打包。2 预置条件2.1 硬件配置服务器硬盘数CPU、内存网络TaiShan 200K 1台系统盘:1*900G SSD Kunpeng 920-5231K 2600 MHz16*16GB DDR4 2933 MHz1*1GE(板载) 2.2 软件配置软件名称版本号安装方法备注说明OS名称Centos7.6https://support.huawei.com/enterprise/zh/taishan-servers/taishan-2280-v2-pid-232019011. 安装系统时勾选“Server With GUI”进行安装,软件包建议全部勾选。2. 默认内核。 3 软件安装3.1 安装# 步骤 1 编译安装 cd /home wget http://download.savannah.gnu.org/release/lzip/lzip-1.20.tar.gz tar –zxvf lzip-1.20.tar.gz # 步骤 2 编译安装 cd lzip-1.20 ./configure make make install4 软件运行创建测试工程步骤 1 查看版本。lzip --version
-
目录-1 软件介绍 -2 环境配置 -3 系统配置 -3.1 关闭防火墙(可选) -3.2 修改SELINUX为disabled -3.3 配置本地yum源(可选) -3.4 配置hosts -3.5 配置ntp时间同步 -3.6 关闭swap分区 -3.7 设置路由 -4 软件安装 -4.1 Docker-ce安装 -4.2 Kubernetes组件安装 -4.3 准备Kubernetes相关镜像 -4.4 搭建集群 -4.5 配置cni网络插件 -4.6 配置flannel网络插件 -4.7 Golang环境搭建 -4.8 Mosquitto环境搭建 -5 软件运行 -5.1 云端KubeEdge源码编译 -5.2 边缘端KubeEdge源码编译 -5.3 部署 -6 功能验证 -6.1 运行nginx示例 -7 FAQ1 软件介绍KubeEdge 是一个开源的系统,可将本机容器化应用编排和管理扩展到边缘端设备。 它基于Kubernetes构建,为网络和应用程序提供核心基础架构支持,并在云端和边缘端部署应用,同步元数据。KubeEdge 还支持 MQTT 协议,允许开发人员编写客户逻辑,并在边缘端启用设备通信的资源约束。KubeEdge 包含云端和边缘端两部分。Master 云上部分CloudHub: CloudHub 是一个 Web Socket 服务端,负责监听云端的变化, 缓存并发送消息到 EdgeHub。EdgeController: EdgeController 是一个扩展的 Kubernetes 控制器,管理边缘节点和 Pods 的元数据确保数据能够传递到指定的边缘节点。DeviceController: DeviceController 是一个扩展的 Kubernetes 控制器,管理边缘设备,确保设备信息、设备状态的云边同步。边缘部分EdgeHub: EdgeHub 是一个 Web Socket 客户端,负责与边缘计算的云服务(例如 KubeEdge 架构图中的 Edge Controller)交互,包括同步云端资源更新、报告边缘主机和设备状态变化到云端等功能。Edged: Edged 是运行在边缘节点的代理,用于管理容器化的应用程序。EventBus: EventBus 是一个与 MQTT 服务器(mosquitto)交互的 MQTT 客户端,为其他组件提供订阅和发布功能。ServiceBus: ServiceBus是一个运行在边缘的HTTP客户端,接受来自云上服务的请求,与运行在边缘端的HTTP服务器交互,提供了云上服务通过HTTP协议访问边缘端HTTP服务器的能力。DeviceTwin: DeviceTwin 负责存储设备状态并将设备状态同步到云,它还为应用程序提供查询接口。MetaManager: MetaManager 是消息处理器,位于 Edged 和 Edgehub 之间,它负责向轻量级数据库(SQLite)存储/检索元数据2 环境配置角色配置主机名业务网络备注node-1172.168.50.20云端,master节点node-2172.168.50.22边缘段,edge节点 硬件平台服务器TaiShan 200 2280处理器2*KunPeng 920 4826内存16*32G 2666MHz系统盘1 * 1.2T SATA HDD数据盘1 * 960G SSD网络1 * GE(板载) 1 * 10GE(1822) 软件平台软件名称版本号安装方法备注CentOS7.6https://support.huawei.com/enterprise/zh/doc/EDOC1100088654/3e971c8d本文档安装过程选择的环境为“Server with GUI”,并附加了“Development Tools”。ntp4.6.2p5-29见3.5章节 Docker-ce19.03.7见4.1章节 kubernetes1.15.1见4.2章节 golang1.13.5见4.7章节 mosquitto1.5.8见4.8章节 3 系统配置3.1 关闭防火墙(可选)# 步骤 1 停止防火墙。 systemctl stop firewalld.service # 步骤 2 关闭防火墙。 systemctl disable firewalld.service3.2 修改SELINUX为disabled# 步骤 1 关闭防火墙。 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux3.3 配置本地yum源(可选)若环境有外网条件,可不用配置本地源,直接用系统配置好的网上源或者自己添加网上源即可。步骤 1 配置源文件mv /etc/yum.repos.d/ /etc/yum.repos.d-bak mkdir /etc/yum.repos.d echo -e "[local]\nname=local\nbaseurl=file:///mnt\ngpgcheck=0\nenabled=1" > /etc/yum.repos.d/local.repo步骤 2 执行cat确认上一步操作写入成功,显示如下图cat /etc/yum.repos.d/local.repo步骤 3 挂载源镜像,将系统镜像通过KVM挂载mount /dev/cdrom /mnt3.4 配置hosts根据集群信息,配置所有节点的hosts。#步骤 1 配置hosts vi /etc/hosts 172.168.50.20 node-1 172.168.50.22 node-23.5 配置ntp时间同步# 步骤 1 安装ntp软件 yum install –y ntp ntpdate # 步骤 2 以node-1作为ntp服务器,其他节点自动与它同步,配置后conf内容如下: [root@ods1 ~]# cat /etc/ntp.conf restrict 127.0.0.1 restrict ::1 restrict 172.170.75.13 mask 255.255.255.0 server 127.127.1.0 fudge 127.127.1.0 stratum 8 # 步骤 3 其他的节点,配置conf如下 cat /etc/ntp.conf Server 172.168.50.20 # 步骤 4 启动ntpd自动同步服务,所有节点执行以下命令。 systemctl start ntpd systemctl enable ntpd # 步骤 5 配置完可先手动同步一次,node-2执行以下命令。 ntpdate 172.168.50.20 # 步骤 6 配置SSH无密钥登录,node-1执行。 ssh-keygen -t rsa ssh-copy-id node-2 # 步骤 7 配置SSH无密钥登录,node-2执行。 ssh-keygen -t rsa ssh-copy-id node-13.6 关闭swap分区所有节点均需执行以下步骤步骤 1 关闭swap分区,并备份/etc/fstabswapoff -a cp -p /etc/fstab /etc/fstab.bak$(date '+%Y%m%d%H%M%S')步骤 2 修改/etc/fstab,将swap分区的一行注释vi /etc/fstab注释后如下图:3.7 设置路由# 步骤 1 所有节点执行以下命令 modprobe br_netfilter sysctl -w net.bridge.bridge-nf-call-iptables=1 echo "net.bridge.bridge-nf-call-iptables=1" > /etc/sysctl.d/k8s.conf 4 软件安装4.1 Docker-ce安装所有节点都需要安装Docker,这里安装的是19.03.7。# 步骤 1 安装Docker 所需的软件包。 yum install -y yum-utils # 步骤 2 设置docker yum源。 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 步骤 3 查看可安装的版本 # yum源有时候会更新,请根据实际情况选择具体的版本安装 yum list docker-ce --showduplicates | sort -r# 步骤 4 安装Docker-ce。 # 安装指定版本的方法是:软件名称-版本.软件后缀,如下: yum install docker-ce-3:19.03.7-3.el7.aarch64 # 步骤 5 启动Docker。 systemctl start docker # 步骤 6 Docker自启动 systemctl enable docker4.2 Kubernetes组件安装node-1节点安装相关组件,这里以kubeadm-1.15.1-0 kubelet-1.15.1-0 kubectl-1.15.1-0为例。# 步骤 1 配置Kubernetes源。 vi /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes Repo baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-aarch64/ gpgcheck=0 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg enabled=1 # 步骤 2 组件安装。 yum install -y kubeadm-1.15.1-0 kubelet-1.15.1-0 kubectl-1.15.1-0 --disableexcludes=kubernetes # 步骤 3 使能Kubelet服务。 systemctl enable kubelet4.3 准备Kubernetes相关镜像node-1节点拉取kube-proxy、kube-scheduler、kube-controller-manager、kube-apiserver、etcd、coredns和pause镜像。步骤 1 下载Arm64镜像。docker pull docker.io/mirrorgooglecontainers/kube-apiserver-arm64:v1.15.1 docker pull docker.io/mirrorgooglecontainers/kube-controller-manager-arm64:v1.15.1 docker pull docker.io/mirrorgooglecontainers/kube-scheduler-arm64:v1.15.1 docker pull docker.io/mirrorgooglecontainers/kube-proxy-arm64:v1.15.1 docker pull docker.io/mirrorgooglecontainers/pause-arm64:3.1 docker pull docker.io/mirrorgooglecontainers/etcd-arm64:3.3.10 docker pull docker.io/coredns/coredns:1.3.1步骤 2 修改已下载的镜像标签。docker tag docker.io/mirrorgooglecontainers/kube-apiserver-arm64:v1.15.1 k8s.gcr.io/kube-apiserver:v1.15.1 docker tag docker.io/mirrorgooglecontainers/kube-controller-manager-arm64:v1.15.1 k8s.gcr.io/kube-controller-manager:v1.15.1 docker tag docker.io/mirrorgooglecontainers/kube-scheduler-arm64:v1.15.1 k8s.gcr.io/kube-scheduler:v1.15.1 docker tag docker.io/mirrorgooglecontainers/kube-proxy-arm64:v1.15.1 k8s.gcr.io/kube-proxy:v1.15.1 docker tag docker.io/mirrorgooglecontainers/pause-arm64:3.1 k8s.gcr.io/pause:3.1 docker tag docker.io/mirrorgooglecontainers/etcd-arm64:3.3.10 k8s.gcr.io/etcd:3.3.10 docker tag docker.io/coredns/coredns:1.3.1 k8s.gcr.io/coredns:1.3.1步骤 3 检查镜像。docker images4.4 搭建集群步骤 1 主节点初始化集群使用flannel网络,必须指定CIDR。记录work加入命令。[root@ods1 ~]# kubeadm init --pod-network-cidr=10.244.0.0/16 --kubernetes-version=1.15.1步骤 2 node-1节点配置kubectlnode-1节点使用kubectl管理集群mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config步骤 3 node-1节点查看集群状态kubectl get nodes4.5 配置cni网络插件在集群所有节点上都需要配置。步骤 1 配置10-mynet.conf。mkdir -p /etc/cni/net.d cat >/etc/cni/net.d/10-mynet.conf <<EOF { "cniVersion": "0.3.0", "name": "mynet", "type": "bridge", "bridge": "cni0", "isGateway": true, "ipMasq": true, "ipam": { "type": "host-local", "subnet": "10.244.0.0/16", "routes": [ {"dst": "0.0.0.0/0"} ] } } EOF步骤 2 配置99-loopback.conf。cat >/etc/cni/net.d/99-loopback.conf <<EOF { "cniVersion": "0.3.0", "type": "loopback" } EOF4.6 配置flannel网络插件在集群所有节点上都需要配置。步骤 1 下载flannel yaml文件。下载https://github.com/coreos/flannel/blob/v0.10.0/Documentation/kube-flannel.yml 中的kube-flannel.yml文件,之后修改文件中的amd64修改为arm64步骤 2 在master节点上,安装flannel插件。[root@ods1 ~]# kubectl apply -f kube-flannel.yml步骤 3 node-1节点查看状态,并修改label。kubectl get nodekubectl get pods -o wide –-all-namespaces4.7 Golang环境搭建所有节点都需要安装Golang,这里安装的是1.13.5。# 步骤 1 下载golang,并解压。 wget https://studygolang.com/dl/golang/go1.13.5.linux-arm64.tar.gz tar -C /usr/local -xzf go1.13.5.linux-arm64.tar.gz # 步骤 2 添加环境变量。 # 在~/.bashrc文件末尾添加: vim ~/.bashrc export GOPATH=/home/kkbill/kubeedge export PATH=$PATH:/usr/local/go/bin # 保存后记得执行 source ~/.bashrc 生效。验证: go version go version go1.13.5 linux/arm644.8 Mosquitto环境搭建node-2节点都需要安装Mosquitto,这里安装的是1.5.8。# 步骤 1 添加EPEL软件库。 yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm # 步骤 2 添加EPEL软件库。 yum install mosquitto 5 软件运行5.1 云端KubeEdge源码编译node-1为云端,这里安装的KubeEdge版本是1.14.0。# 步骤 1 克隆仓库。 git clone https://github.com/kubeedge/kubeedge.git $GOPATH/src/github.com/kubeedge/kubeedge # 步骤 2 编译云端。 cd $GOPATH/src/github.com/kubeedge/kubeedge/ make all WHAT=cloudcore # 生成的二进制位于$GOPATH/src/github.com/kubeedge/kubeedge/_output/local/bin/目录下。 # 步骤 3 编创建设备模块和设备CRD yaml 文件。 cd $GOPATH/src/github.com/kubeedge/kubeedge/build/crds/devices kubectl create -f devices_v1alpha1_devicemodel.yaml kubectl create -f devices_v1alpha1_device.yaml cd $GOPATH/src/github.com/kubeedge/kubeedge/build/crds/reliablesyncs kubectl create -f cluster_objectsync_v1alpha1.yaml kubectl create -f objectsync_v1alpha1.yaml # 步骤 4 配置云端节点。 cd $GOPATH/src/github.com/kubeedge/kubeedge/_output/local/bin mkdir -p /etc/kubeedge/config/ ./cloudcore --minconfig > /etc/kubeedge/config/cloudcore.yaml5.2 边缘端KubeEdge源码编译node-2为边缘端,这里安装的KubeEdge版本是1.14.0。# 步骤 1 克隆仓库。 git clone https://github.com/kubeedge/kubeedge.git $GOPATH/src/github.com/kubeedge/kubeedge # 步骤 2 编译云端。 cd $GOPATH/src/github.com/kubeedge/kubeedge/ make all WHAT=edgecore # 生成的二进制位于$GOPATH/src/github.com/kubeedge/kubeedge/_output/local/bin/目录下。 # 步骤 3 生成边缘端配置文件并修改。 cd $GOPATH/src/github.com/kubeedge/kubeedge/_output/local/bin mkdir -p /etc/kubeedge/config/ ./edgecore --minconfig > /etc/kubeedge/config/ edgecore.yaml5.3 部署步骤 1 node-1查看kubernetes集群状态。此刻只有云端节点node-1就绪步骤 2 node-1节点运行云端核心。cd $GOPATH/src/github.com/kubeedge/kubeedge/_output/local/bin ./cloudcore步骤 3 node-1获取token。获取token解码:xxx为tokendata内容echo xxx | base64 -d步骤 4 node-2配置node-1节点解码后token内容。将步骤3中node-1节点中解码出来的token配置到node-2节点中的edgecore.yaml文件中module.edgehub.token属性步骤 5 node-2节点运行边缘端核心。cd $GOPATH/src/github.com/kubeedge/kubeedge/_output/local/bin ./edgecore 6 功能验证6.1 运行nginx示例步骤 1 在node-1节点查看状态。云端和边缘端均为ready步骤 2 部署官方deployment。步骤 3 扩容测试。kubectl scale deployment nginx-deployment --replicas=4预期效果:有4个pod出现,但只有1个正常运行,因为该 deployment 导出了节点端口,前面的 pod 已经占用,无法再分配。理论上,如果有4个节点,则会自动将 deployment 调度到4个节点上步骤 4 删除。kubectl delete -f $GOPATH/src/github.com/kubeedge/kubeedge/build/deployment.yaml7 FAQ系统重启后,节点kubernetes未自动启动,手动systemctl start kubelet也没有启动成功执行下面的语句查看kubelet启动日志。journalctl –u kubelet之后输入大写的’G’跳转到文件末尾,查看启动日志,之后根据报错信息处理。 2.“failed to run Kubelet: Running with swap on is not supported”。启动kubernetes节点必须关闭swap分区,具体操作见3.6章 3.Kubeedge编译时无法下载依赖包。解决方案:添加Go代理go env –w GOPROXY=https://goproxy.cn,direct
-
目录-1 软件介绍 -2 预置条件 -2.1 硬件配置 -2.2 软件配置 -3 软件安装 -3.1 安装 -4 软件运行1 软件介绍Fluentd 是一个免费,而且完全开源的日志管理工具,简化了日志的收集、处理、和存储,你可以不需要在维护编写特殊的日志处理脚本。2 预置条件2.1 硬件配置服务器硬盘数CPU、内存网络TaiShan 200K 1台系统盘:1*900G SSD Kunpeng 920-5231K 2600 MHz16*16GB DDR4 2933 MHz1*1GE(板载) 2.2 软件配置软件名称版本号安装方法备注说明OS名称Centos7.6https://support.huawei.com/enterprise/zh/taishan-servers/taishan-2280-v2-pid-232019011. 安装系统时勾选“Server With GUI”进行安装,软件包建议全部勾选。2. 默认内核。Ruby>=2.1.0Ruby 环境搭建指导书 3 软件安装3.1 安装步骤 1 通过Ruby gem安装gem install fluentd4 软件运行创建测试工程步骤 1 启动fluentd。fluentd –s conf fluentd -c conf/fluent.conf步骤 2 另起一个终端,发送http指令。echo '{"json":"message"}' | fluent-cat debug.test当前终端输出
-
目录-1 软件介绍 -2 预置条件 -2.1 硬件配置 -2.2 软件配置 -3 软件安装 -3.1 安装 -4 软件运行1 软件介绍Rust是一门系统编程语言 ,专注于安全 ,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言。Rust在语法上和C++类似 ,但是设计者想要在保证性能的同时提供更好的内存安全。 Rust最初是由Mozilla研究院的Graydon Hoare设计创造,然后在Dave Herman, Brendan Eich以及很多其他人的贡献下逐步完善的。 Rust的设计者们通过在研发Servo网站浏览器布局引擎过程中积累的经验优化了Rust语言和Rust编译器。2 预置条件2.1 硬件配置服务器硬盘数CPU、内存网络TaiShan 200K 1台系统盘:1*900G SSD Kunpeng 920-5231K 2600 MHz16*16GB DDR4 2933 MHz1*1GE(板载) 2.2 软件配置软件名称版本号安装方法备注说明OS名称Centos7.6https://support.huawei.com/enterprise/zh/taishan-servers/taishan-2280-v2-pid-232019011. 安装系统时勾选“Server With GUI”进行安装,软件包建议全部勾选。2. 默认内核。 3 软件安装3.1 安装# 步骤 1 编译安装 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # 步骤 2 设置环境变量 source $HOME/.cargo/env4 软件运行创建测试工程步骤 1 查看版本。rustc --version步骤 2 创建rs文件。vim HellowWorld.rs # 输入: Fn main() { Println!(“Hello world”); }步骤 3 编译。rustc HelloWorld.rs生成helloworld步骤 4 运行。 ./helloworld
-
1 VMD1.9.4移植指南(Kunpeng920 5250+CentOS8.2)环境要求:项目说明CPUKunpeng920 5250OSCentOS8.2显卡Tesla v100 1.1 禁用nouveau驱动1、执行以下命令查看nouveau驱动是否已禁用lsmod |grep nouveau2、执行以下命令禁用nouveau驱动新建文件/etc/modprobe.d/disable-nouveau.conf添加如下两行:blacklist nouveauoptions nouveau modeset=03、备份并生成新的initramfs文件cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img dracut -f /boot/initramfs-$(uname -r).img $(uname -r)4、重启机器reboot1.2 安装NVIDIA-CUDA组件1、执行以下命令确认nouveau驱动已禁用(回显为空)lsmod |grep nouveau2、执行以下命令安装NVIDIA-CUDA组件:wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux_sbsa.runsudo sh cuda_11.4.0_470.42.01_linux_sbsa.run3、配置环境变量:export PATH=/usr/local/cuda-11.2/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64:$LD_LIBRARY_PATH4、执行以下命令验证nvcc –v 1.3 安装vmd1.3.1 获取vmd源码包软件版本为:vmd-1.9.4a55.src.tar.gzhttps://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD 新建文件夹 mkdir /Projects/vmd上传vmd-1.9.4a55.src.tar.gz到/Projects/vmd,然后解压得到plugins和vmd-1.9.4a55 1.3.2 安装依赖1、fltk系统自带,如果系统未安装,使用yum install fltk fltk-devel安装,也可参考/Projects/vmd/ vmd-1.9.4a55/lib/fltk中README说明安装2、actc 下载actc源码actc-1.1.tar.g,http://plunk.org/~grantham/public/actc/解压到/Projects/vmd/ vmd-1.9.4a55/lib/actc中,并直接make进行编译,如果有libactc.a出现则算是编译成功了。需要额外信息请查看README。3、stride 下载stride源码stride.tar.gz,http://webclu.bio.wzw.tum.de/stride/解压到/Projects/vmd/ vmd-1.9.4a55/lib/stride中,make编译得到二进制stride,然后为stride 添加软链接/Projects/vmd/ vmd-1.9.4a55/lib/stride/stride_LINUXARM644、surf/Projects/vmd/ vmd-1.9.4a55/lib/surf目录下有源码包surf.tat.Z,安装依赖yum install opencv-contrib,make编译得到surf,为surf添加软链接/Projects/vmd/ vmd-1.9.4a55/lib/surf/surf_LINUXARM64 5、vrpn 下载vrpn源码vrpn-master.zip, https://github.com/vrpn/vrpn,解压到/Projects/vmd/ vmd-1.9.4a55/lib/vrpn,使用cmake编译。cd /Projects/vmd/ vmd-1.9.4a55/lib/vrpn/mkdir buildcd buildcmake ../ -DCMAKE_INSTAL_PREFIX=/Projects/vmd/ vmd-1.9.4a55/lib/vrpn/make && make install 6、tachyon下载tachyon源码tachyon-0.99b6.tar.gz,https://ftp.sudhip.com/archlinux/other/community/tachyon/tachyon-0.99b6.tar.gz将tachyon-0.99b6.tar.gz解压到/Projects/vmd/ vmd-1.9.4a55/lib/tachyon,cd /Projects/vmd/ vmd-1.9.4a55/lib/tachyon/cd unix编辑Make-config,将支持JPEG和PNG部分全部注释掉,因为Tachyon 0.99 beta 6的bug问题,使得支持JPEG和PNG文件读写在最后编译vmd时候报错cd ../demosrc修改spaceball.c第35行,将port改为serialport。修改109行的括号,源码漏掉几个括号cd ../unixvim Make-arch,去掉-m64编译参数make linux-64-thrcd ../compile/linux-64-thr,为tachyon添加软链接/Projects/vmd/ vmd-1.9.4a55/lib/tachyon/tachyon_LINUXARM64 7、tck、tk 安装tcl/tk 8.5版本rpm包,或者挂载centos7.6的镜像源,yum安装 1.3.3 编译pluginscd /Projects/vmd/plugins设置tcl头文件和库文件环境变量export TCL_INCLUDE_DIR=/usr/share/tcl8.5export TCL_LIBRARY_DIR=/usr/lib64/tcl8.5make LINUXARM64mkdir /Projects/vmd/ vmd-1.9.4a55/pluginsexport PLUGINDIR= mkdir /Projects/vmd/ vmd-1.9.4a55/pluginsmake distrib 1.3.4 编译VMDcd /Projects/vmd/ vmd-1.9.4a55/编译configure文件设置安装路径信息$install_bin_dir="/Projects/vmd/ vmd-1.9.4a55/bin";$install_library_dir="/Projects/vmd/ vmd-1.9.4a55/lib/vmd"; 设置tachyon环境变量$libtachyon_dir="/Project/vmd/vmd-1.9.4a55/lib/tachyon/tachyon";$libtachyon_include="-I/Project/vmd/vmd-1.9.4a55/lib/tachyon/tachyon/src";$libtachyon_library="-L"/Project/vmd/vmd-1.9.4a55/lib/tachyon/tachyon/compile/linux-64-thr; 修改LINUXARM64的$arch_nvccflags参数注释掉"-gencode arch=compute_30,code=compute_30 " . (约2634行) 编译./configure LINUXARM64 EGLPBUFFER CUDA IMD LIBTACHYON ZLIB COLVARS TCL PTHREADS SILENTcd src && make verycleanmake如果出现“No resource compiler required on this platform”,说明编译顺利,然后安装make install当看到"Make sure /Projects/vmd/ vmd-1.9.4a55/bin is in your path.VMD installation complete. Enjoy!"说明安装成功。 1.3.5 验证cd /Projects/vmd/ vmd-1.9.4a55/bin./vmd
-
简介鲲鹏BoostKit分布式存储数据压紧算法(以下简称“数据压紧算法”)部署在开源分布式存储集群Ceph上,通过消除补零对齐操作带来的数据浪费问题,结合压紧封装、空间计数分配、粒度分流、聚合提交、批量回调等手段提升数据缩减率并提升系统整体IOPS,实现成本性能双收益。本文指导用户如何在Ceph上使能数据压紧算法。安全加固声明建议关注Ceph官网和Ceph官方Github上的漏洞信息,按照需求及时地进行漏洞修复。环境要求说明:由于数据压紧算法是华为自研闭源算法,算法仅支持在华为鲲鹏处理器上使用。硬件要求项目描述CPU型号鲲鹏920处理器服务器型号TaiShan 200服务器(型号2280)软件要求项目描述OSCentOS Linux release 7.6.1810GCCGCC version 7.3.0CephCeph 14.2.8Ceph合入数据压紧功能1. 下载源码。源码下载链接:https://download.ceph.com/tarballs/2. 将源码包放入服务器“/home”目录下解压。cd /home tar zxvf ceph-14.2.8.tar.gz3. 合入数据压紧插件。获取patch放入“/home/ceph-14.2.8”目录。下载链接:https://github.com/kunpengcompute/ceph/releases/tag/datacompaction合入patch。cd /home/ceph-14.2.8 patch -p2 < ceph-14.2.8-compaction.patch4. 将数据压紧软件包下载至目录“/home/ceph-14.2.8”方式一:华为企业网BoostKit-compaction_1.0.0.zip方式二:华为运营商网BoostKit-compaction_1.0.0.zip5. 获取软件校验工具。 下载地址:https://support.huawei.com/enterprise/zh/tool/pgp-verify-TL10000000546. 参见5中下载的《OpenPGP签名验证指南》进行软件包完整性检查。7. 解压安装包。cd /home/ceph-14.2.8/ unzip BoostKit-compaction_1.0.0.zip生成boostKit-compaction-1.0.0-1.aarch64.rpm文件。8. 安装RPM包。rpm -ivh boostKit-compaction-1.0.0-1.aarch64.rpm
-
[root@test build]# ../configure --target-list=aarch64-softmmu-bash: ../configure: /bin/sh^M: bad interpreter: No such file or directory[root@test build]# chmod +x ../configure[root@test build]# ../configure --target-list=aarch64-softmmu-bash: ../configure: /bin/sh^M: bad interpreter: No such file or directory
-
目录1 软件介绍 2 环境配置 3 系统配置 - 3.1 关闭防火墙(可选) - 3.2 修改SELINUX为disabled - 3.3 配置本地yum源(可选) 4 软件安装 - 4.1 安装依赖包 - 4.2 OpenResty编译安装 - 4.3 Luarocks编译安装 - 4.4 Kong编译安装 4.5 Kong配置(无数据库) - 4.5.1 配置kong.conf配置文件 - 4.5.2 配置tls.lua 4.6 Kong配置(PostgreSQL数据库) - 4.6.1 安装PostgreSQL - 4.6.2 配置kong.conf配置文件 - 4.6.3 配置tls.lua 5 软件运行 - 5.1 启动Kong 6 FAQ 7 其他1 软件介绍Kong基于OpenResty,是一个云原生、快速、可扩展、分布式的Api 网关。继承了OpenResty的高性能、易扩展性等特点。Kong通过简单的增加机器节点,可以很容易的水平扩展。同时功能插件化,可通过插件来扩展其能力。 2 环境配置本文档基于TaiShan 200服务器硬件环境展开。服务器TaiShan 200 2280处理器2*KunPeng 920 4826内存16*32G 2666MHz系统盘1 * 1.2T SATA HDD数据盘1 * 960G SSD网络1 * GE(板载) 1 * 10GE(1822) 软件平台软件名称版本号安装方法备注CentOS7.6https://support.huawei.com/enterprise/zh/doc/EDOC1100088654/3e971c8d本文档安装过程选择的环境为“Server with GUI”,并附加了“Development Tools”。Openresty1.15.8.2见4.2章节 Luarocks3.2.1见4.3章节 Openssl1.1.1g无需手动安装Openresty的附加模块,只需要源码,无需手动安装3 系统配置3.1 关闭防火墙(可选)未避免防火墙的影响,实验直接关闭防火墙,实际使用请根据需求关闭或单独开放相关端口# 步骤 1 停止防火墙。 systemctl stop firewalld.service # 步骤 2 关闭防火墙。 systemctl disable firewalld.service3.2 修改SELINUX为disabled# 步骤 1 关闭selinux。 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux3.3 配置本地yum源(可选)若环境有外网条件,可不用配置本地源,直接用系统配置好的网上源或者自己添加网上源即可。# 步骤 1 配置源文件 mv /etc/yum.repos.d/ /etc/yum.repos.d-bak mkdir /etc/yum.repos.d echo -e "[local]\nname=local\nbaseurl=file:///mnt\ngpgcheck=0\nenabled=1" > /etc/yum.repos.d/local.repo # 步骤 2 执行cat确认上一步操作写入成功,显示如下图 cat /etc/yum.repos.d/local.repo # 步骤 3 挂载源镜像,将系统镜像通过KVM挂载 mount /dev/cdrom /mnt 4 软件安装4.1 安装依赖包yum -y install wget gcc gcc-c++ make cmake libyaml libyaml-devel openssl openssl-devel pcre pcre-devel4.2 OpenResty编译安装# 步骤 1 下载OpenResty 1.15.8.2, openssl 1.1.1g, lua-kong-nginx-module, kong-build-tools-4.6.1到/home/kong目录下,目录请根据需要自行修改。 cd /home/kong wget https://openresty.org/download/openresty-1.15.8.2.tar.gz wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz wget https://github.com/Kong/lua-kong-nginx-module/archive/0.0.6.tar.gz wget https://github.com/Kong/kong-build-tools/archive/4.6.1.tar.gz # 步骤 2 解压。 tar -zxvf openresty-1.15.8.2.tar.gz tar –zxvf openssl-1.1.1g.tar.gz tar –zxvf 0.0.6.tar.gz tar –zxvf 4.6.1.tar.gz cd openresty-1.15.8.2 # 步骤 3 安装补丁。 cd /home/kong/openresty-1.15.8.2/bundle for i in /home/kong/kong-build-tools-4.6.1/openresty-patches/patches/1.15.8.2/*.patch; do patch -p1 < $i; done # 步骤 4 配置编译参数。 ./configure \ --with-pcre-jit \ --with-http_ssl_module \ --with-http_realip_module \ --with-http_stub_status_module \ --with-http_v2_module \ --with-openssl=/home/kong/openssl-1.1.1g \ --add-module=/home/kong/lua-kong-nginx-module-0.0.6 # 步骤 5 执行编译安装。 gmake && gmake install # 步骤 6 配置环境变量。 export PATH="$PATH:/usr/local/openresty/bin" # 步骤 7 查看结果。 openresty -V 4.3 Luarocks编译安装# 步骤 1 下载Luarocks 3.2.1到/home/kong目录下,目录请根据需要自行修改。 cd /home/kong wget https://luarocks.github.io/luarocks/releases/luarocks-3.2.1.tar.gz # 步骤 2 解压。 tar -zxvf luarocks-3.2.1.tar.gz cd luarocks-3.2.1 # 步骤 3 配置编译参数。 ./configure \ --lua-suffix=jit \ --with-lua=/usr/local/openresty/luajit \ --with-lua-include=/usr/local/openresty/luajit/include/luajit-2.1 # 步骤 4 执行编译安装。 # -j后的参数建议小于等于CPU核数,请根据实际情况填写,充分发挥多核性能 make -j96 && make install # 步骤 5 查看结果。 luarocks --version 4.4 Kong编译安装# 步骤 1 下载kong 2.0.4到/home/kong目录下,目录请根据需要自行修改。 cd /home/kong wget https://github.com/Kong/kong/archive/2.0.4.tar.gz # 步骤 2 解压。 tar -zxvf 2.0.4.tar.gz cd kong-2.0.4 # 步骤 3 执行编译安装。 make install # 步骤 4 配置环境变量。 # 这里的路径请根据实际路径填写 export PATH="$PATH:/home/kong/kong-2.0.4/bin" # 步骤 5 查看结果。 kong version 4.5 Kong配置(无数据库)本节介绍kong直接启动,不连接数据库的配置方式,如需连接数据库,请参照4.6章节4.5.1 配置kong.conf配置文件# 步骤 1 复制生成kong.conf # Kong默认读取/etc/kong/kong.conf配置文件,也可在执行命令时使用-c指定路径 cd /home/kong/kong-2.0.4 mkdir -p /etc/kong cp kong.conf.default /etc/kong/kong.conf # 步骤 2 生成kong.yaml # 执行命令后会在执行目录生成kong.yaml,路径请根据实际情况配置,本文档将在/etc/kong下生成 cd /etc/kong kong config init # 步骤 3 编辑kong.conf。 # 无数据库模式下,需将database设置为off,需指定declarative_config为kong.yaml,这里需要写绝对路径。 vi kong.conf database = off … declarative_config = /etc/kong/kong.yamlKong默认使用8000和8001端口,分别为监控端口和管理端口,如已被占用,可在kong.conf修改4.5.2 配置tls.lua# 步骤 1 复制tls.lua到kong加载目录 mkdir -p /usr/local/openresty/site/lualib/resty/kong cp /home/kong/lua-kong-nginx-module-0.0.6/lualib/resty/kong/tls.lua /usr/local/openresty/site/lualib/resty/kong 4.6 Kong配置(PostgreSQL数据库)Kong支持连接PostgreSQL和Cassandra本节介绍kong连接PostgreSQL启动,如无需连接数据库,请参照4.5章节4.6.1 安装PostgreSQL# 步骤 1 安装PostgreSQL # PostgreSQL安装方法参考http://ic-openlabs.huawei.com/openlab/#/knowledgebasequery?task_id=R1S1584D00218718220200103211538161206545 cd /home/kong/kong-2.0.4 mkdir -p /etc/kong cp kong.conf.default /etc/kong/kong.conf # 步骤 2 登录数据库创建数据库角色和指定数据库 /home/pgsql/bin/psql -U postgres CREATE USER kong; CREATE DATABASE kong OWNER kong; 4.6.2 配置kong.conf配置文件# 步骤 1 复制生成kong.conf # Kong默认读取/etc/kong/kong.conf配置文件,也可在执行命令时使用-c指定路径 cd /home/kong/kong-2.0.4 mkdir -p /etc/kong cp kong.conf.default /etc/kong/kong.conf # 步骤 2 编辑kong.conf。 # 连接数据库模式下,需将database设置为postgres,并配置数据库连接信息。 vi kong.conf 这里的用户名,密码,数据库请以4.6.1中配置的为准Kong默认使用8000和8001端口,分别为监控端口和管理端口,如已被占用,可在kong.conf修改4.6.3 配置tls.lua# 步骤 1 复制tls.lua到kong加载目录 mkdir -p /usr/local/openresty/site/lualib/resty/kong cp /home/kong/lua-kong-nginx-module-0.0.6/lualib/resty/kong/tls.lua /usr/local/openresty/site/lualib/resty/kong 5 软件运行5.1 启动Kong# 步骤 1 启动Kong服务 # --v 可查看日志信息,--vv查看更详细的日志 kong start -c /etc/kong/kong.conf --v # 步骤 2 查看进程运行情况 ps –ef |grep kong# 步骤 3 验证使用 curl -i http://localhost:8001 6 FAQ1. Not found: No LuaRocks module found for resty.kong.tls:Kong加载路径缺少tls.lua,需要将其添加到搜索路径任一位置,具体操作参考4.5.2章节。 7 其他参考文档:https://bbs.huaweicloud.com/forum/thread-39375-1-1.htmlhttps://docs.konghq.com/install/source/
-
目录1 软件介绍 2 环境配置 3 驱动适配 - 3.1 依赖安装 - 3.2 驱动适配 4 驱动安装 - 4.1 驱动安装1 软件介绍Mellanox在提供高性能网络技术方面继续保持领先地位,在ConnectX®-6 EN 10/25/40/50/56/100/200GbE网卡中实现出色的利用率和扩展性,使数据中心事半功倍。 2 环境配置本文档基于TaiShan 200服务器硬件环境展开。服务器TaiShan 200 2280处理器2*Kunpeng 920 5250内存16*32G 2666MHz系统盘1 * 1.2T SATA HDD数据盘1 * 960G SSD网络1 * GE(板载) 1 * 10GE(1822) 软件平台软件名称版本号安装方法备注CentOS7.6https://forum.huawei.com/enterprise/zh/thread-697017-1-1.html本文档安装过程选择的环境为“Minimal install”,并附加了“Development Tools”。 3 驱动适配此章节为鲲鹏上Mellanox驱动适配操作,如已有适配后的安装包,可直接查看软件安装章节3.1 依赖安装# 步骤 1 安装epel源。 yum install –y epel-release # 步骤 2 Yum安装依赖。 yum install –y perl createrepo python-devel lsof redhat-rpm-config rpm-build gcc kernel-devel-4.14.0-115.el7a.0.1.aarch64 libtool libusbx gcc-gfortran fuse-libs tcsh tk3.2 驱动适配# 步骤 1 下载驱动。 wget http://www.mellanox.com/downloads/ofed/MLNX_EN-5.5-1.0.3.2/mlnx-en-5.5-1.0.3.2-rhel7.6alternate-aarch64.tgz # 步骤 2 解压并进入文件 tar –xvf mlnx-en-5.5-1.0.3.2-rhel7.6alternate-aarch64.tgz && cd mlnx-en-5.5-1.0.3.2-rhel7.6alternate-aarch64 # 步骤 3 执行sh脚本添加适配。 ./ mlnx_add_kernel_support.sh –m .执行后会检测依赖是否完整,如存在缺失依赖,请按提示安装依赖依赖完整的情况下,生成当前平台的安装包:# 步骤 4 复制安装包到工作目录。 cp /tmp/mlnx-en-5.5-1.0.3.2-rhel7.6alternate-aarch64.ext.tgz /home4 驱动安装4.1 驱动安装# 步骤 1 解压第三章节生成的驱动包。 tar -xvf mlnx-en-5.5-1.0.3.2-rhel7.6alternate-aarch64.ext.tgz cd mlnx-en-5.5-1.0.3.2-rhel7.6alternate-aarch64 # 步骤 2 执行安装。 ./install# 步骤 3 加载驱动。 /etc/init.d/mlnx-en.d restart# 步骤 4 查看驱动。 ethtool –i enp3s0f0 # 网口名称请根据实际情况填写
-
目录1 软件介绍 2 环境配置 3 系统配置 - 3.1 配置华为镜像yum源(可选) 4 软件安装 - 4.1 依赖安装安装 - 4.2 Libmp3lame编译安装 - 4.3 Yasm编译安装 - 4.4 FFmpeg编译安装 5 软件运行 - 5.1 运行测试 6 其他1 软件介绍FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。 FFmpeg是在 Linux 下开发出来的,但它可以在包括 Windows 在内的大多数操作系统中编译。这个项目是由 Fabrice Bellard 发起的,现在由 Michael Niedermayer 主持。可以轻易地实现多种视频格式之间的相互转换,例如可以将摄录下的视频avi等转成现在视频网站所采用的flv格式。 2 环境配置本文档基于TaiShan 200服务器硬件环境展开。服务器TaiShan 200 2280处理器2*KunPeng 920 4826内存16*32G 2666MHz系统盘1 * 1.2T SATA HDD数据盘1 * 960G SSD网络1 * GE(板载) 1 * 10GE(1822) 软件平台软件名称版本号安装方法备注CentOS7.6https://support.huawei.com/enterprise/zh/doc/EDOC1100088654/3e971c8d本文档安装过程选择的环境为“Server with GUI”,并附加了“Development Tools”。Gcc4.8.5Yum源安装 Yasm1.3.0见4.2章节 Lame 3.100见4.3章节 3 系统配置3.1 配置华为镜像yum源(可选)若环境无外网条件,请配置本地源。# 步骤 1 安装依赖 yum install –y wget # 步骤 2 备份配置文件 cp -a /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak # 步骤 3 下载配置文件 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.huaweicloud.com/repository/conf/CentOS-AltArch-7.repo # 步骤 4 刷新缓存 yum clean all yum makecache4 软件安装4.1 依赖安装安装# 步骤 1 Yum源安装依赖。 yum install –y make gcc-c++ gcc4.2 Libmp3lame编译安装# 步骤 1 下载并解压lame-3.100。 wget https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz tar -zxvf lame-3.100.tar.gz && cd lame-3.100 # 步骤 2 配置编译选项。 ./configure # 步骤 3 编译安装。 make -j96 && make install4.3 Yasm编译安装# 步骤 1 下载并解压yasm-1.3.0。 wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz tar –zxvf yasm-1.3.0.tar.gz && cd yasm-1.3.0 # 步骤 2 修改Makefile文件。 sed -i 's#) ytasm.*#)#' Makefile.in # 步骤 3 配置编译选项。 ./configure # 步骤 4 编译安装。 make -j96 && make install4.4 FFmpeg编译安装# 步骤 1 下载并解压ffmpeg 4.1.6。 wget http://ffmpeg.org/releases/ffmpeg-4.1.6.tar.gz tar –zxvf ffmpeg-4.1.6.tar.gz && cd ffmpeg-4.1.6 # 步骤 2 配置编译选项。 ./configure --enable-shared –enable-libmp3lame # 步骤 3 编译安装。 make -j96 && make install # 步骤 4 查看版本。 ffmpeg -version5 软件运行5.1 运行测试# 步骤 1 运行自带的检测用例 make check 6 其他参考文档:https://www.cnblogs.com/lsdb/p/7787547.html
-
介绍:智能写Cache(Smart Write Cache)包含Bcache内核补丁以及相关配套的工具两部分。智能写Cache通过IO直通、Bcache QoS策略控制、Writeback策略控制以及GC策略控制来提升Bcache性能,最终达到提升Ceph集群性能的目的。安全加固声明建议关注Ceph官网和Ceph官方Github上的漏洞信息,按照需求及时地进行漏洞修复。兼容规格:硬件兼容列表兼容项目兼容性规格描述CPU型号华为鲲鹏916处理器华为鲲鹏920处理器服务器型号TaiShan 100系列服务器TaiShan 200服务器(型号2280)TaiShan 200服务器(型号5280)软件兼容列表软件名称软件版本OSCentOS 7.6 for aarch64内核版本4.14.0-115.10.1.el7aCephCeph 14.2.x适用场景智能写Cache是在使用Bcache设备做为Ceph OSD的存储场景下,对其中的Ceph IO流程进行了优化,仅对采用BlueStore存储引擎的OSD有效,考虑到实际应用中Ceph集群中OSD的增加与修改操作,工具需要获取集群内的OSD信息,因此需要保证OSD部署路径使用官方默认路径“/var/lib/ceph/osd”,如果采用其他路径则不会进行优化。说明:Ceph存储场景介绍如下:均衡型:集群采用SSD盘和HDD盘混合部署OSD,使用SSD盘存储OSD的元数据(DB)、日志数据(WAL),使用HDD盘存储真实数据(Data)。全闪存:集群采用全SSD盘部署OSD,OSD的Data、DB、WAL一起存储在SSD盘中。冷存储:集群采用全HDD盘部署OSD,OSD的Data、DB、WAL一起存储在HDD盘中。Bcache:将SSD与HDD绑定为一个Bcache分区,SSD做为HDD的缓存,集群采用Bcache分区部署OSD,OSD的Data存储在Bcache分区中,DB和WAL存放在单独的NVMe分区。目前智能写Cache只对Bcache场景有效。CentOS 7.6 for aarch64的内核默认为64K PAGESIZE,智能写Cache工具需要运行在4K PAGESIZE环境下。为方便使用,本文提供两种方式供选择:环境为64K PAGESIZE,需要重新编译替换整个内核,可以选择内核与bcache同时编译安装的方式,请参见“内核编译与安装”。环境已为4K PAGESIZE(通过“getconf PAGESIZE”查询),仅需要安装替换bcache.ko时,可以选择单独编译bcache.ko安装的方式,请参见“Bcache编译与安装”使用指导1. 安装Bcache 1)内核编译与安装:https://support.huaweicloud.com/fg-kunpengsdss/kunpengswc_20_0006.html 2)Bcache编译与安装: https://support.huaweicloud.com/fg-kunpengsdss/kunpengswc_20_0007.html2. 安装智能写cache工具 https://support.huaweicloud.com/fg-kunpengsdss/kunpengswc_20_0008.html3. 安装Bcache-tools工具 https://support.huaweicloud.com/fg-kunpengsdss/kunpengswc_20_0009.html4. Ceph使能智能写cache https://support.huaweicloud.com/fg-kunpengsdss/kunpengswc_20_0010.html
-
1.1 介绍QUANTUM ESPRESSO是一种用于电子结构计算和材料建模的abinitio量子化学方法的软件套件,在GNU通用公共许可证下免费分发。它基于密度泛函理论,平面波基组和赝势(包括范数守恒和超软)。该程序主要在Fortran-90中编写,其中一些部分在C或Fortran-77中,是根据不同的独立开发的核心软件包的合并和重新设计以及一组旨在互操作的软件包构建的。基本软件包包括Pwscf,它解决了自洽的Kohn和Sham方程,获得了周期性实体,CP实现了Car-Parrinello分子动力学,PostProc实现了数据分析和绘图。关于附加封装,值得注意的是指出赝势生成的原子,PHonon封装,它实现了密度泛函扰动理论(DFPT),用于计算能量相对于原子位移和NEB的二阶和三阶导数。关于QUANTUM ESPRESSO的更多信息请访问QUANTUM ESPRESSO官网。语言:C++/Fortran。一句话描述:可扩展的计算化学工具。开源协议:GPL 2.0。建议的版本建议使用的版本为“QE 6.8”。1.2 环境要求硬件要求硬件要求如表2-1所示。硬件要求项目说明CPU鲲鹏920处理器。GPUNVIDIA Tesla V100。 软件要求软件要求如表2-2所示。软件要求项目版本下载地址QUANTUM ESPRESSO6.8https://github.com/QEF/q-e/archive/refs/tags/qe-6.8.tar.gzOpenBLAS0.3.6https://github.com/xianyi/OpenBLAS/archive/refs/tags/v0.3.6.tar.gzHyper MPI1.1.1https://support.huaweicloud.com/usermanual-kunpenghpcs/userg_huaweimpi_0010.htmlNVIDIA CUDA11.4https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux_sbsa.runNVIDIA HPC SDK21.9https://developer.download.nvidia.com/hpc-sdk/21.9/nvhpc_2021_219_Linux_aarch64_cuda_11.4.tar.gz 操作系统要求操作系统要求如表2-3所示。操作系统要求项目版本下载地址CentOS8.2https://vault.centos.org/8.2.2004/isos/aarch64/CentOS-8.2.2004-aarch64-dvd1.isoKernel4.18.0-193https://vault.centos.org/8.2.2004/BaseOS/Source/SPackages/kernel-4.18.0-193.el8.src.rpm 1.3 移植规划数据本章节给出QE软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。移植规划数据序号软件安装规划路径用途说明1-基础环境搭建中的各安装包安装路径。参考《HPC解决方案 基础环境搭建指导书》中“安装规划数据”章 节。2/path/to/qeQUANTUM ESPRESSO的安装规划路径。这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。3/usr/local/cuda-11.4NVIDIA CUDA的安装规划路径。4/path/to/openblasOpenBLAS的安装规划路径。5/opt/nvidia/hpc_sdkNVIDIA HPC SDK的安装规划路径。6/path/to/CASEQUANTUM ESPRESSO的算例文件存放规划路径。 1.4 配置编译环境前提条件使用SFTP工具将各安装包上传至服务器对应目录下。配置流程配置流程序号配置项说明1基础环境搭建参考《HPC解决方案 基础环境搭建指导书》中“集群场景环境搭建”章节。2禁用nouveau驱动参考2.4.1 禁用nouveau驱动。3安装NVIDIA CUDA参考2.4.2 安装NVIDIA CUDA组件。4安装Hyper MPI参考2.4.3 安装Hyper MPI。5安装NVIDIA HPC SDK参考2.4.4 安装NVIDIA HPC SDK。6安装OpenBLAS参考2.4.5 安装OpenBLAS。 1.4.1 禁用nouveau驱动操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令查看nouveau驱动是否已禁用。 lsmod |grep nouveau若有回显信息,表示nouveau驱动未禁用,则执行步骤3。若无回显信息,表示nouveau驱动已禁用,则结束操作。步骤 3 执行以下命令禁用nouveau驱动。新建文件“disable-nouveau.conf”。 vi /etc/modprobe.d/disable-nouveau.conf按“i”进入编辑模式,添加如下内容。 blacklist nouveau options nouveau modeset=0按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。步骤 4 执行以下命令备份并生成新的“initramfs”文件 cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img dracut -f /boot/initramfs-$(uname -r).img $(uname -r)步骤 5 执行以下命令重启机器。 reboot----结束1.4.2 安装NVIDIA CUDA组件操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令确认nouveau驱动是否已禁用。 lsmod |grep nouveau若有回显信息,表示nouveau驱动未禁用,则执行步骤3~步骤5。若无回显信息,表示nouveau驱动已禁用,则结束操作。步骤 3 执行以下命令安装NVIDIA CUDA组件。 wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux_sbsa.run sudo shcuda_11.4.0_470.42.01_linux_sbsa.run步骤 4 执行以下命令配置环境变量。 export PATH=/usr/local/cuda-11.4/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH步骤 5 执行以下命令进行验证。 nvcc --version若返回结果已包含NVIDIA CUDA组件版本信息,说明安装成功。----结束1.4.3 安装Hyper MPI操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令安装HUCX源码包和XUCG源码包。 wget -c https://github.com/kunpengcompute/hucx/archive/refs/heads/huawei.zip -O hucx-huawei.zip wget -c https://github.com/kunpengcompute/xucg/archive/refs/heads/huawei.zip -O xucg-huawei.zip步骤 3 执行以下命令解压HUCX源码包和XUCG源码包。 unzip hucx-huawei.zip unzip xucg-huawei.zip步骤 4 执行以下命令将XUCG源码包中的内容复制到HUCX源码包中的“src/ucg”目录下。 cp -r xucg-huawei/* hucx-huawei/src/ucg/步骤 5 执行以下命令进入hucx-huawei目录。 cd hucx-huawei步骤 6 执行以下命令设置环境变量。 export SEC_CFLAGS="-Wno-error=deprecated-declarations -DHAVE___CLEAR_CACHE=1 -Wno-error=asm-operand-widths -Wno-error=implicit-int-float-conversion -Wno-error=format -Wno-error=tautological-pointer-compare"步骤 7 执行以下命令创建HUCX安装目录。 mkdir -p /path/to/ucx步骤 8 执行以下命令安装HUCX。 ./autogen.sh ./contrib/configure-opt --prefix=/path/to/ucx CFLAGS="$SEC_CFLAGS" CXXFLAGS="$SEC_CFLAGS" make -j32 make install步骤 9 执行以下命令获取Hyper MPI源码包。 wget -c https://github.com/kunpengcompute/hmpi/archive/refs/heads/huawei.zip -O hmpi-huawei.zip步骤 10 执行以下命令解压Hyper MPI源码包。 unzip hmpi-huawei.zip步骤 11 执行以下命令进入hmpi-huawei目录。 cd hmpi-huawei步骤 12 执行以下命令安装Hyper MPI。 ./autogen.pl ./configure --prefix=/path/to/ompi --with-platform=contrib/platform/mellanox/optimized --enable-mpi1-compatibility --with-ucx=/path/to/ucx make -j16 make install步骤 13 执行以下命令配置环境变量。 export PATH=/path/to/ompi/bin:/path/to/ucx/bin:$PATH export LD_LIBRARY_PATH=/path/to/ompi/lib:/path/to/ucx/lib:$LD_LIBRARY_PATH export OPAL_PREFIX=/path/to/ompi/ export INCLUDE=/path/to/ompi:$INCLUDE----结束1.4.4 安装NVIDIA HPC SDK操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令获取毕昇编译器软件包。 wget https://developer.download.nvidia.com/hpc-sdk/21.9/nvhpc_2021_219_Linux_aarch64_cuda_11.4.tar.gz步骤 3 执行以下命令创建毕昇编译器安装目录(这里以/opt/compiler为例)。 mkdir -p /opt/compiler步骤 4 执行以下命令将毕昇编译器压缩包拷贝到安装目录下。 cp –r nvhpc_2021_219_Linux_aarch64_cuda_11.4 /opt/compiler步骤 5 执行以下命令进入压缩包目录。 cd /opt/compiler步骤 6 执行以下命令解压缩软件包。 tar -zxvf nvhpc_2021_219_Linux_aarch64_cuda_11.4.tar.gz步骤 7 执行以下命令解压目录。 cd nvhpc_2021_219_Linux_aarch64_cuda_11.4/步骤 8 执行以下命令进行安装。 ./install按“Enter”键确认安装位置,默认为“/opt/nvidia/hpc_sdk”,再按“1”选择单机安装,安装程序会自行找到之前安装的“cuda toolkit”,安装完成后按“Enter”键结束。步骤 9 执行以下命令配置NVIDIA HPC SDK的环境变量。 module load /opt/nvidia/hpc_sdk/modulefiles/nvhpc/21.9步骤 10 执行以下命令进行验证。 pgcc --version若返回结果已包含“PGI Compilers and Tools”字样,说明安装成功。----结束1.4.5 安装OpenBLAS操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令解压OpenBLAS安装包。 tar -zxvf OpenBLAS-0.3.6.tar.gz步骤 3 执行以下命令进入解压后的目录。 cd OpenBLAS-0.3.6步骤 4 执行以下命令编译安装OpenBLAS。 make make PREFIX=/path/to/OPENBLAS install步骤 5 执行以下命令设置OpenBLAS的环境变量。 export LD_LIBRARY_PATH=/path/to/OPENBLAS/lib:$LD_LIBRARY_PATH----结束1.5 获取源码操作步骤步骤 1 下载QUANTUM ESPRESSO安装包。下载地址:https://github.com/QEF/q-e/releases/tag/qe-6.8步骤 2 使用SFTP工具将QUANTUM ESPRESSO安装包上传至服务器“/path/to/qe”目录。----结束1.6 编译和安装操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令进入主程序安装目录。 cd /path/to/qe步骤 3 执行以下命令解压安装包。 tar -zxvf q-e-qe-6.8.tar步骤 4 执行以下命令进入解压后路径。 cd q-e-qe-6.8/步骤 5 执行以下命令开始编译。 ./configure --with-cuda=yes --with-cuda-runtime=11.4 --with-cuda-cc=80 --enable-openmp --with-scalapack=no“--with-cuda-cc=80”请根据当前机器的显卡架构进行修改,此处测试机器显卡是v100。 make -j32 pwall若编译机器无法联网,需下载“devicexlib-master.tar.gz”包,并上传至编译机器,编译完成后执行make pp -j32,具体命令如下: mv devicexlib-master.tar.gz /path/to/qe-gpu-6.7/external devicexlib.tar.gz tar xzf devicexlib.tar.gz --strip-components=1 export F90FLAGS="-FAST -mCACHE_align -Mpreprocess -Mlarge_arrays" ./configure FC=pgf90 CC=pgcc --with-cuda=no --with-cuda-cc= --with-cuda-runtime= --disable-parallel --enable-cuda-env-check=no make pp -j32若出现类似如下错误:是由于链接库配置不对,需要更改“inc”文件。 打开“inc”文件。 vi make.inc按“i”进入编辑模式,在如下位置增加“LD_LIBS = -lcurand”。按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。步骤 6 执行以下命令查看是否生成可执行文件。 ll /path/to/qe-gpu-6.7/bin/pw.x回显信息中包含“pw.x”文件,表示已生成可执行文件。步骤 7 执行以下命令设置环境变量。 export PATH=/path/to/qe/bin/:$PATH----结束1.7 运行和验证操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令进入测试目录。 cd /path/to/CASE步骤 3 执行以下命令下载测试算例,使用SFTP工具将测试算例上传至服务器“/path/to/CASE”目录。 wget https://github.com/QEF/benchmarks/archive/refs/tags/bench0.0.tar.gz步骤 4 执行以下命令解压测试算例包,并将需要的文件拷贝到“/path/to/CASE”目录。 tar xvf benchmarks-bench0.0.tar.gz cp benchmarks-master/AUSURF112/* ./步骤 5 执行以下命令运行QE程序。 mpirun --allow-run-as-root -np 2 -x OMP_NUM_THREADS=1 --mca btl ^openib pw.x -input ./ausurf.in 2>&1 | tee -a qe.log“-np”表示测试使用的总进程数,这里写2是测试机器有2张显卡。“-x OMP_NUM_THREADS=1”表示指定每个进程的线程数为1。需要查看“qe.log”日志中的“WALL”数值,单位是“s”,数值越高性能越低,输出的结果如下图所示。----结束
yuanchunlin@汪汪队
发表于2022-03-10 17:41:55
2022-03-10 17:41:55
最后回复
yuanchunlin@汪汪队
2022-03-10 17:41:55
927 0 -
1 介绍fastp是一种工具,旨在为FastQ文件提供快速的多合一预处理。该工具是用C ++开发的,支持多线程以提供高性能。关于fastp的更多信息请访问GitHub相关页面。语言:C/C++一句话描述:超快速的多合一FASTQ预处理器。开源协议:MIT License建议的版本建议使用版本为“fastp 0.20.1”。2 环境要求硬件要求硬件要求如表2-1所示。表2-1 硬件要求项目说明CPUKunpeng 920 软件要求软件要求如表2-2所示。表2-2 软件要求项目版本下载地址fastp0.20.1https://github.com/OpenGene/fastp/archive/v0.20.1.tar.gz测试算例1ERR1044518_1.fastqftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR104/008/ERR1044518/ERR1044518_1.fastq.gz测试算例2ERR1044518_2.fastqftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR104/008/ERR1044518/ERR1044518_2.fastq.gz 操作系统要求操作系统要求如表2-3所示。表2-3 操作系统要求项目版本下载地址CentOS7.6https://www.centos.org/download/Kernel4.14.0-115.el7a.0.1https://www.centos.org/download/3 移植规划数据本章节给出fastp软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。表3-1 移植规划数据序号软件安装规划路径用途说明1-基础环境搭建中的各安装包安装路径。参考《HPC解决方案 基础环境搭建指南》中“安装规划数据”章节。2/path/to/FASTPfastp的安装规划路径。这里的安装规划路径只是一个举例说明,建议部署在共享路径中。现网需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。4 配置编译环境前提条件使用SFTP工具将各安装包上传至服务器对应目录下。配置流程表4-1 配置流程序号配置项说明1基础环境搭建参考《HPC解决方案 基础环境搭建指南》中“集群场景环境搭建”章节。5 获取源码操作步骤步骤 1 下载fastp源码包“fastp-0.20.1.tar.gz”。下载地址:https://github.com/OpenGene/fastp/archive/v0.20.1.tar.gz步骤 2 使用SFTP工具将下载好的软件包上传至服务器“/path/to/FASTP”目录。----结束6 编译和安装操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令,解压fastp安装包。tar -xvf fastp-0.20.1.tar.gz步骤 3 执行以下命令,进入解压后的目录。cd fastp-0.20.1步骤 4 执行以下命令,编译安装。make -j 16 步骤 5 执行以下命令,设置环境变量。export PATH=/path/to/FASTP/fastp-0.20.1:$PATH----结束7 运行和验证操作步骤步骤 1 使用PuTTY工具,以root用户登录服务器。步骤 2 执行以下命令进入算例目录。cd /path/to/FASTP/testdata步骤 3 执行以下命令解压算例文件。gzip -d ERR1044518_1.fastq.gzgzip -d ERR1044518_2.fastq.gz步骤 4 执行以下命令,运行算例。{ time fastp -i ERR1044518_1.fastq -I ERR1044518_2.fastq -w 16 ; } 2>&1 |tee fastp.log运行完成后,将回显以下信息: Duplication rate: 0.581538% Insert size peak (evaluated by paired-end reads): 169 JSON report: fastp.json HTML report: fastp.html说明: fastp支持多线程运行,-w指定线程数,但最多使用16个线程。运行完成后会生成fast.json和fast.html两份报告,可以通过-j和-h参数分别指定两个文件的路径和名称。更多参数信息可以使用fastp --help命令查看。----结束8 更多资源获取更多资源,请访问fastp的GitHub页面:https://github.com/OpenGene/fastp。
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签