---
title: 开源使能
description: "CDH平台的开源组件源码已经闭源，如需适配请前往CDH官网获取源码包和对应的移植指导。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengfaq/productfaq/boostkitfaq/boostkit_faq_0003.html
sourcePath: /source/zh/kunpengfaq/productfaq/boostkitfaq/boostkit_faq_0003.html
indexId: ebddeaed42554113dd94fb700e7a13409c89650132b293137ac3027b22deacd967
---
# 开源使能

#### CDH组件如何适配或移植？

CDH平台的开源组件源码已经闭源，如需适配请前往CDH官网获取源码包和对应的移植指导。


#### 如何部署Ceph？

Ceph是一个统一的分布式存储系统，能够提供较好的性能、可靠性和可扩展性。Ceph块/文件/对象存储支持手动部署、半自动化部署、使用自动化工具部署三种方式。

- 手动部署主要通过ceph-deploy工具部署一次，然后再把部署信息同步到其他节点。
  手动部署请参见：

  Ceph块存储 部署指南（CentOS 7.6&openEuler 20.03）(https://www.hikunpeng.com/document/detail/zh/kunpengsdss/ecosystemEnable/Ceph/kunpengcephblock_04_0001.html)

  Ceph对象存储 部署指南（CentOS 7.6&openEuler 20.03）(https://www.hikunpeng.com/document/detail/zh/kunpengsdss/ecosystemEnable/Ceph/kunpengcephobject_04_0001.html)

  Ceph文件存储 部署指南（CentOS 7.6&openEuler 20.03）(https://www.hikunpeng.com/document/detail/zh/kunpengsdss/ecosystemEnable/Ceph/kunpengcephfile_04_0001.html)

- 半自动化部署方式主要通过Ceph-ansible脚本进行部署。
  半自动化部署请参见：Ceph-ansible 部署指南（CentOS 7.6&openEuler 20.03）(https://www.hikunpeng.com/document/detail/zh/kunpengsdss/ecosystemEnable/Ceph/kunpengcephansible_04_0001.html)

- 自动化部署方式主要是通过填写配置参数，然后通过自动化部署脚本一键快速部署。目前仅支持基于CentOS 7.6进行部署，默认安装Ceph 14.2.1版本。
  自动化部署请参见：Ceph自动部署指南（CentOS 7.6）(https://www.hikunpeng.com/document/detail/zh/kunpengsdss/ecosystemEnable/Ceph/kunpengceph_04_0001.html)


#### 如何安装Docker？

Docker是一个开源的应用容器引擎。开发者可以打包他们的应用以及依赖包到一个可移植的容器中，然后发布到任何流行的Linux机器上。

Docker 19.03.10版本如何安装请参见：Docker 安装指南（CentOS&openEuler）(https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/ecosystemEnable/Docker/kunpengdocker_03_0002.html)


#### fio测试执行失败怎么办？

fio是一个开源的IO压力测试工具，主要用来测试存储的IO性能，可以支持多种引擎。fio测试过程中遇到的典型故障案例如下：

- 鲲鹏BoostKit分布式存储场景下，部署Ceph集群后，执行fio测试过程中，管理节点提示命令错误，远程客户端提示服务端/客户端版本不匹配，具体处理方法请参见：  重启Ceph集群的OSD进程失败的解决方法(https://www.hikunpeng.com/document/detail/zh/kunpengsdss/troubleshooting/trouble/kunpengsdss_09_0011.html)
。
- 鲲鹏BoostKit分布式存储场景下，部署Ceph集群后，执行fio测试时，提示libaio引擎加载失败。具体处理方法请参见：  fio测试时提示libaio引擎加载失败的解决方法(https://www.hikunpeng.com/document/detail/zh/kunpengsdss/troubleshooting/trouble/kunpengsdss_09_0012.html)
。


#### 如何移植Hadoop？

Hadoop移植请参见：Hadoop 移植指南（CentOS&openEuler）(https://www.hikunpeng.com/document/detail/zh/kunpengbds/ecosystemEnable/Hadoop/kunpenghadoop_02_0001.html)


#### 如何安装Hive？

Hive安装请参见：Hive 移植指南（CentOS&openEuler）(https://www.hikunpeng.com/document/detail/zh/kunpengbds/ecosystemEnable/Hive/kunpenghive_02_0001.html)


#### Docker容器如何绑核？

在服务器上运行多个容器，由于每个容器的业务不同，为了避免相邻容器的资源抢占，可以通过CPU绑核和配置NUMA亲和性来使容器在某种特定场景下性能最优。Docker容器绑核具体操作请参见：NUMA亲和性(https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/ecosystemEnable/Docker/kunpengdocker_05_0006.html)


#### 如何部署K8s？

Kubernetes（简称为K8s）是用于自动部署、扩展和管理容器化（containerized）应用程序的开源系统。请参见《Kubernetes 部署指南(https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/ecosystemEnable/Kubernetes/kunpengk8s_04_0006.html)》进行部署。


#### 如何安装KVM虚拟机？

KVM虚拟机安装请参见：KVM虚拟机 安装指南(https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/ecosystemEnable/QEMU-KVM/kunpengkvm_03_0001.html)


#### 如何安装libtool？

执行yum命令安装即可，例如：

```
yum install libtool -y
```


#### 如何编译LLVM？

编译安装LLVM请参见：安装LLVM(https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpcindapp/prtg-osc/kunpengpyclone_02_0008.html)


#### MySQL如何调优？

MySQL调优请参见：MySQL 调优指南(https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/MySQL/kunpengdbstune_05_0002.html)


#### 如何安装MySQL？

MySQL支持官网RPM安装（MySQL 8.0.17）、镜像站RPM安装（推荐）和编译安装三种安装方式，请视具体情况选择其中一种即可。具体请参见：MySQL 安装指南(https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/MySQL/kunpengmysql8017_03_0001.html)


#### 如何移植MySQL？

- MySQL 8.0.16版本需自行通过官网补丁升级。
- CentOS 7.6操作系统下MySQL 8.0.17版本，建议使用鲲鹏代码迁移工具专项软件迁移功能，一键迁移至鲲鹏平台。具体操作请参见  专项软件迁移(https://www.hikunpeng.com/document/detail/zh/kunpengdevps/portingadvisor/demo/nginxbestpractice_21_0001.html)
。
- openEuler操作系统及其他CentOS操作系统版本下的MySQL，可参考  MySQL 移植指南(https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/MySQL/kunpengmysql8017_02_0001.html)
进行移植。


#### 如何迁移Nginx？

- CentOS 7.6操作系统下Nginx 1.14.2版本，建议使用鲲鹏代码迁移工具专项软件迁移功能，一键迁移至鲲鹏平台。具体操作请参见  专项软件迁移(https://www.hikunpeng.com/document/detail/zh/kunpengdevps/portingadvisor/demo/nginxbestpractice_21_0001.html)
。
- openEuler操作系统及其他CentOS操作系统版本下的Nginx ，请参见  Nginx 移植指南(https://www.hikunpeng.com/document/detail/zh/kunpengwebs/ecosystemEnable/Nginx/kunpengnginx_02_0001.html)
进行移植。


#### Nginx如何调优？

Nginx调优请参见：Nginx 调优指南(https://www.hikunpeng.com/document/detail/zh/kunpengwebs/ecosystemEnable/Nginx/kunpengnginx_05_0002.html)


#### 如何安装PostgreSQL？

PostgreSQL支持镜像站RPM包安装和编译安装两种安装方式，选择其中一种即可，避免重复安装。具体安装操作请参见：PostgreSQL 安装指南(https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/PostgreSQL/kunpengpostgresql_03_0001.html)


#### 如何安装Redis？

Redis安装过程中使用的软件是从官网下载获取的，这类软件多基于x86环境编译得到，软件内如果包含非跨平台语言（如C/C++）实现的模块，直接在鲲鹏服务器上使用会出现不兼容的问题，需下载对应软件源码包进行编译，然后部署。但不管软件包是在哪种环境下编译得到，部署步骤都是一致的。

- Redis部署操作请参见：  Redis 部署指南(https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/Redis/kunpengredis_04_0001.html)

- Redis源码编译操作请参见：  Redis 移植指南(https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/Redis/kunpengredis_02_0001.html)


#### Redis如何调优？

Redis调优请参见：Redis 调优指南(https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/Redis/kunpengredishdp_05_0002.html)


#### 如何安装libvirt？

libvirt是一套用于管理硬件虚拟化的开源API、守护进程与管理工具。此套件可用于管理KVM、Xen、VMware ESXi、QEMU及其他虚拟化技术。

libvirt安装请参见：libvirt 6.9.0 安装指南（openEuler 20.03）(https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/ecosystemEnable/Libvirt/kunpengcpfs_libvirt_03_0001.html)


#### 如何移植Kafka？

Kafka是由Apache软件基金会开发的一个开源流处理平台，由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统，它可以处理消费者规模的网站中的所有动作流数据。

Kafka移植请参见：Kafka 移植指南(https://www.hikunpeng.com/document/detail/zh/kunpengbds/ecosystemEnable/Kafka/kunpengkafka01011_02_0001.html)


#### 如何移植Flink？

Flink是一个分布式、高性能、高可用的开源大数据处理框架，具有基于内存计算，流式处理等特点，用于对无边界和有边界数据流进行有状态的计算。

Flink移植请参见：Flink 移植指南(https://www.hikunpeng.com/document/detail/zh/kunpengbds/ecosystemEnable/Flink/kunpengflink191_02_0001.html)


#### 鲲鹏ARM架构可以安装Docker并部署K8s集群吗？

支持，具体请参见K8s部署指南(https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/ecosystemEnable/Kubernetes/kunpengk8s_04_0001.html)。


#### 鲲鹏服务器支持Ovirt嵌套虚拟化吗？

暂不支持嵌套虚拟化，支持KVM虚拟化。


#### Spark on YARN模式下如何重启Spark？

1. 进入到Spark目录下的sbin目录。本例以进入“/usr/local/spark/sbin/”目录为例。

```
cd /usr/local/spark/sbin/
```


2. 停止Spark。

```
./stop-all.sh
```


3. 启动Spark，完成重启。

```
./start-all.sh
```


#### 鲲鹏服务器是否支持K8s、Docker的amd64镜像？

由于鲲鹏服务器采用Arm架构，而amd64镜像为x86-64架构，指令集不兼容。因此鲲鹏服务器不支持amd64镜像。Arm架构服务器支持aarch64架构的镜像。


#### 鲲鹏920 QEMU能否安装Windows虚拟机系统？

1. 鲲鹏920服务器采用Arm架构，当前没有正式版本支持安装Windows虚拟机系统。
2. 如果需要在Arm架构服务器启动Windows虚拟机，需要安装Arm版本Windows，同时需要对QEMU启动参数做相应的适配修改。


#### HCSO上鲲鹏机型虚拟机是否支持迁移至华为云？

HCSO上鲲鹏机型虚拟机迁移至华为云，如果华为云架构上支持迁移，则可以支持。


#### Avago SAS3408iMR RAID控制卡是否支持虚拟化功能？

Avago SAS3408iMR RAID控制卡不支持虚拟化场景，详细信息请参见《华为服务器 RAID控制卡 用户指南(https://support.huawei.com/enterprise/zh/doc/EDOC1100048779/51b937d8)》。


#### 如何获取flannel的离线镜像包？

1. 通过链接(https://github.com/flannel-io/flannel/blob/master/Documentation/kube-flannel.yml)下载kube-flannel.yml文件并保存至目标路径，例如“/home”。

2. 执行如下命令部署flannel组件。

```
kubectl apply -f /home/kube-flannel.yml
```


#### openEuler release 20.03 LTS-SP3内核是否支持KVM虚拟化？

openEuler 20.03支持KVM虚拟化。详细信息请参见《KVM虚拟机 安装指南（CentOS&openEuler）(https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/ecosystemEnable/QEMU-KVM/kunpengkvm_03_0001.html)》。


#### KVM是否收费？

KVM属于开源软件，不收费。


#### 基于KVM+QEMU创建的虚拟机部署在鲲鹏服务器上，不关闭虚拟机的情况下如何创建和删除虚拟机外部快照？

问题：

当前环境采用UOS操作系统 + Debian源，基于KVM + QEMU创建的虚拟机部署在鲲鹏服务器上，使用snapshot-create-as命令创建了快照，但快照大小无限增长，快照链变长后无法缩短快照链。

1. 如何创建快照？
2. 如何在不关闭虚拟机的情况下删除快照？

回答：

- 建议操作系统更换为openEuler 22.03 SP2，且QEMU版本采用操作系统Yum源上自带的6.2.0版本。建议使用如  表1
所示软件及操作系统版本。
**表1 软件及操作系统版本**

| 项目 | 版本 | 获取方式 |
| --- | --- | --- |
| OS | openEuler 22.03 LTS SP3 | 获取链接(http://openeuler.org/zh/download/) |
| QEMU | 6.2.0\-83 | 通过配置Yum源的方式安装 |
| libvirt | 6.2.0\-57 | 通过配置Yum源的方式安装 |


- 如果不更换操作系统，用户当前环境采用的UOS操作系统下Debian源的版本较低，建议升级Debian源软件版本。

使用如表1所示软件及操作系统版本，创建和删除快照的操作步骤如下：

1. 在虚拟机运行状态下创建快照。

```
virsh snapshot-create-as --domain
VM_NAME
SNAPSHOT_NAME
SNAPSHOT_DESC
--disk-only --diskspec
vda
,snapshot=external --atomic
```


  以下参数请根据实际情况修改： 将VM_NAME替换为要创建快照的虚拟机名称。 将SNAPSHOT_NAME替换为要创建的快照名称。 将SNAPSHOT_DESC替换为要创建的快照描述信息。 将vda替换为要创建快照的虚拟机磁盘。 外部磁盘快照默认与虚拟机磁盘在同一个目录。 外部磁盘快照最多创建199个。 外部磁盘快照创建完成后，虚拟机磁盘设备指向新建的外部磁盘快照。

  创建快照完成后，可以查询虚拟机磁盘设备信息。

```
virsh domblklist
VM_NAME
```


  快照创建成功的预期结果：


2. 如果需要删除快照，需要先合并快照，再删除快照。
在删除快照之前，请确保您已经备份了所有重要数据，并且确定您真的需要删除该快照。删除快照后将无法恢复，请谨慎操作。


  a. 在虚拟机运行状态下，合并快照。

```
virsh blockcommit --domain
VM_NAME
vda --base
path_to_base_snapshot
--top
path_to_top_snapshot
--wait --verbose
```


    以下参数请根据实际情况修改： 将VM_NAME替换为虚拟机名称。 将path_to_base_snapshot替换为需要提交到的基本文件的绝对路径，该文件不能是初始的虚拟机磁盘文件。 将path_to_top_snapshot替换为需要提交的顶部文件的绝对路径，该文件不能是最后一个外部磁盘快照。

  b. 删除被合并后且不需要再使用的快照。

```
virsh snapshot-delete --domain
VM_NAME
SNAPSHOT_NAME
--metadata
rm
path_to_snapshot
```


    以下参数请根据实际情况修改： 将VM_NAME替换为目标虚拟机名称。 将SNAPSHOT_NAME替换为目标快照名称。 将path_to_snapshot替换为快照文件的绝对路径。 不能删除初始的虚拟机磁盘文件、最后一个外部磁盘快照和最终合并的基本外部磁盘快照。


#### 鲲鹏平台是否提供了类似于x86架构中IOMMU的高级虚拟化配置功能？

鲲鹏架构中提供的SMMU（System Memory Management Unit）类似于x86架构中的IOMMU（Input/Output Memory Management Unit）。

- IOMMU：通常用于物理机中，用于处理单个物理机上的IO设备对系统内存的访问。
- SMMU：通常用于虚拟化环境中，如虚拟机或者容器环境，以处理多个虚拟机或者容器中的设备访问。SMMU在BIOS中的配置方法请参见《  TaiShan 服务器 BIOS 参数参考（鲲鹏920处理器）(https://support.huawei.com/enterprise/zh/doc/EDOC1100088653/27ba6026?idPath=23710424|251364417|9856629|250697162)
》。


#### 如何在鲲鹏环境中部署YOLO？

请参见YOLO官方网站(https://docs.ultralytics.com/zh/)的部署指导文档，您需要保证部署过程中使能适配支持鲲鹏aarch64架构的操作。比如在安装YOLO的依赖库Anaconda3时，需要选择支持aarch64的安装包进行安装，其他依赖包同理。
