用户指南(基于 TaiShan 服务器) · 2021. 3. 7. ·...

17
兼容性测试工具 用户指南(基于 TaiShan 服务器) 文档版本 07 发布日期 2021-03-03 华为技术有限公司

Transcript of 用户指南(基于 TaiShan 服务器) · 2021. 3. 7. ·...

Page 1: 用户指南(基于 TaiShan 服务器) · 2021. 3. 7. · 为解决TaiShan服务器认证过程中涉及的兼容性测试问题,特基于《软件通用认证测试 用例》开发了一个兼容性测试工具。

兼容性测试工具

用户指南(基于 TaiShan 服务器)

文档版本 07

发布日期 2021-03-03

华为技术有限公司

Page 2: 用户指南(基于 TaiShan 服务器) · 2021. 3. 7. · 为解决TaiShan服务器认证过程中涉及的兼容性测试问题,特基于《软件通用认证测试 用例》开发了一个兼容性测试工具。

版权所有 © 华为技术有限公司 2021。 保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。 商标声明

和其他华为商标均为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意

您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声明或保证。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

华为技术有限公司地址: 深圳市龙岗区坂田华为总部办公楼 邮编:518129

网址: https://www.huawei.com

客户服务邮箱: [email protected]

客户服务电话: 4008302118

文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 i

Page 3: 用户指南(基于 TaiShan 服务器) · 2021. 3. 7. · 为解决TaiShan服务器认证过程中涉及的兼容性测试问题,特基于《软件通用认证测试 用例》开发了一个兼容性测试工具。

目 录

1 简介..............................................................................................................................................1

2 安装..............................................................................................................................................3

3 兼容性测试.................................................................................................................................. 4

4 常见问题....................................................................................................................................12

A 修订记录................................................................................................................................... 14

兼容性测试工具用户指南(基于 TaiShan 服务器) 目 录

文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 ii

Page 4: 用户指南(基于 TaiShan 服务器) · 2021. 3. 7. · 为解决TaiShan服务器认证过程中涉及的兼容性测试问题,特基于《软件通用认证测试 用例》开发了一个兼容性测试工具。

1 简介

概述

为解决TaiShan服务器认证过程中涉及的兼容性测试问题,特基于《软件通用认证测试用例》开发了一个兼容性测试工具。

此工具将《软件通用认证测试用例》提取归纳为15个自动化测试用例,分为兼容性、可靠性、功耗、安全这4个维度,以便更好地支撑伙伴做鲲鹏展翅认证,让伙伴聚焦于功能&性能测试。

环境要求

项目 要求

硬件 仅支持TaiShan服务器(裸金属服务器)

OS ● CentOS 7.6● 中标麒麟 V7Update6● Ubuntu 18.0.1● 银河麒麟 4.0.2● 银河麒麟 10● UOS 20 SP1● SUSE 12-SP5● openEuler 20.03LTS

依赖软件

● CentOS/中标麒麟/openEuler/银河麒麟 10,请使用下面命令安装依赖包。yum -y install nmap ipmitool dmidecode pciutils util-linux util-linux net-tools net-tools sysstat bc

● Ubuntu/银河麒麟 4.0.2 /UOS系统,请使用下面命令安装依赖包。apt -y install nmap ipmitool dmidecode lspci lscpu lsblkifconfig netstat sysstat bc

● SUSE系统,请使用下面命令安装依赖包。zypper install -y nmap ipmitool dmidecode lspci lscpu lsblkifconfig netstat sysstat bc

兼容性测试工具用户指南(基于 TaiShan 服务器) 1 简介

文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 1

Page 5: 用户指南(基于 TaiShan 服务器) · 2021. 3. 7. · 为解决TaiShan服务器认证过程中涉及的兼容性测试问题,特基于《软件通用认证测试 用例》开发了一个兼容性测试工具。

工具联系人● [email protected]

工具更新说明

更新时间 更新说明

2020-09-11 1. 优化可靠性测试用例的测试步骤和判断。

2. 增加了安全扫描的超时设置。

2020-08-28 1. 去掉操作系统软件源检查,修改为判断命令不存在后,调用yuminstall,安装失败后提示用户检查yum源。

2. 测试前检查系统环境,调用IOSTAT 检查硬盘IO利用率,采集多次,进行判断。

2020-07-08 1. 新增支持openEuler操作系统。

2. 支持启动脚本和命令中包含切换目录的命令。

3. 支持多个启动任务对应1个启动脚本。

兼容性测试工具用户指南(基于 TaiShan 服务器) 1 简介

文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 2

Page 6: 用户指南(基于 TaiShan 服务器) · 2021. 3. 7. · 为解决TaiShan服务器认证过程中涉及的兼容性测试问题,特基于《软件通用认证测试 用例》开发了一个兼容性测试工具。

2 安装

工具安装步骤

步骤1 获取compatibility_testing.tar.gz或者compatibility_testing.zip工具。

下载地址:https://mirrors.huaweicloud.com/kunpeng/archive/compatibility_testing/

步骤2 使用WinSCP、FlashFXP、xftp等工具将compatibility_testing.tar.gz或者compatibility_testing.zip上传到服务器,要确保上传目录所在磁盘有足够空间下载后续的软件包。例如:/home/compatibility_testing

cd /home/compatibility_testing

tar -xzvf compatibility_testing.tar.gz 或者 unzip compatibility_testing.zip

cd compatibility_testing

compatibility_testing目录包含以下三个文件:

● compatibility_testing.sh,主要脚本工具。

● compatibility_testing.conf,工具配置文件,配置被测试应用进程名称、应用软件的启动脚本和停止脚本、压力测试工具启动命令。

● README,简要说明文档。

说明

– 使用root用户执行脚本。

▪ CentOS/中标麒麟/SUSE/openEuler/银河麒麟v10系统

用法:sh compatibility_testing.sh [-d],-d, --显示debug日志。

▪ Ubuntu/银河麒麟 4.0.2 /UOS系统

用法: bash compatibility_testing.sh [-d],-d, --显示debug日志。

– 工具的详细操作日志,路径为:“工具目录/log/info.log_yyyymmdd”

----结束

兼容性测试工具用户指南(基于 TaiShan 服务器) 2 安装

文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 3

Page 7: 用户指南(基于 TaiShan 服务器) · 2021. 3. 7. · 为解决TaiShan服务器认证过程中涉及的兼容性测试问题,特基于《软件通用认证测试 用例》开发了一个兼容性测试工具。

3 兼容性测试

前提条件● 关闭防火墙(临时)

systemctl stop firewalld.service● 停止业务软件(即环境空载)

为避免后台存在其他进程正在运行影响后续测试结果可靠性。正式测试之前,停止所有伙伴业务应用软件进程(无需卸载),例如恢复到业务软件未安装之前的系统资源占用状态,以便监控测试过程中CPU、内存、硬盘、网卡等系统资源。

操作步骤

步骤1 参数配置。

填写兼容性测试工具的配置项,修改配置文件。

用户操作:

vi compatibility_testing.conf, 修改下面配置项

# 待测试应用软件进程名称,多个应用名称以逗号隔开。

application_names=

# 待测试应用软件启动命令,多个应用的启动命令以逗号隔开。

start_app_commands=

# 待测试应用软件停止命令,多个应用的停止命令以逗号隔开。

stop_app_commands=

# 被测试应用软件的压力测试工具启动命令。

start_performance_scripts=

兼容性测试工具用户指南(基于 TaiShan 服务器) 3 兼容性测试

文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 4

Page 8: 用户指南(基于 TaiShan 服务器) · 2021. 3. 7. · 为解决TaiShan服务器认证过程中涉及的兼容性测试问题,特基于《软件通用认证测试 用例》开发了一个兼容性测试工具。

说明

● application_names,待测试应用软件进程名称,可通用ps或者docker top命令CMD所在列查找后台进程名称。

– 例1:应用软件启动后,通过“ps -ef|grep -v grep |grep tomcat-julia.jar”匹配到进程,那么应用软件进程名称填写为:application_names=tomcat-juli.jar

– 例2:应用软件启动后,通过docker top “容器ID”查看到进程名称,如下所示,查看到进程名称为mysqld,且使用“ps -ef|grep -v grep |grep mysqld”匹配到进程,那么应用软件进程名称填写为:application_names=tomcat-juli.jar,mysqld

● start_app_commands,待测试应用软件的启动命令或者脚本,不填表示需要人工启动。

● stop_app_commands,待测试应用软件的停止命令或者脚本,不填表示需要人工停止。

● start_performance_scripts,待测试应用的压力测试工具启动命令,不填表示需要手动加压。

步骤2 远程登录服务器,切换root用户,启动兼容性测试工具。

用户操作:

sh compatibility_testing.sh

脚本输出:

脚本输出用户说明和执行时长。

说明

工具执行时长说明,应用软件启动前采集服务器资源采集10分钟,压力测试期间服务器资源采集20分钟,应用停止后服务器资源采集10分钟。

● CentOS/中标麒麟/SUSE/openEuler/银河麒麟V10 系统

用法: sh compatibility_testing.sh [-d],-d, --显示debug日志。

● Ubuntu/银河麒麟 4.0.2 /UOS系统

用法: bash compatibility_testing.sh [-d],-d, --显示debug日志。

步骤3 检测依赖软件。

检查用户的环境是否安装漏洞扫描等软件和命令,如果没有安装,从用户配置的远程源或者本地源安装相应的软件,用户确保软件源配置正确。

脚本输出:

用户操作: 无

兼容性测试工具用户指南(基于 TaiShan 服务器) 3 兼容性测试

文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 5

Page 9: 用户指南(基于 TaiShan 服务器) · 2021. 3. 7. · 为解决TaiShan服务器认证过程中涉及的兼容性测试问题,特基于《软件通用认证测试 用例》开发了一个兼容性测试工具。

用户输入: 无

步骤4 检测配置文件。

检查配置文件compatibility_testing.conf的配置项是否填写。如果配置项没有填写,表示需要手动启动应用软件、手动停止应用软件和手动启动测试工具。

脚本输出:

用户操作: 无

用户输入: 无

步骤5 检测环境空载。

检查当前系统的CPU、内存、硬盘和网络是否空闲(例如CPU占用率<1%,避免后台存在其他进程正在运行影响后续测试结果可靠性),若检测失败则提示用户清理当前环境后再重新执行工具。

脚本输出:

用户操作:

脚本提示当前环境非空闲,可以通过以下步骤进行排查:

1. 查看工具日志,查看详细信息。工具日志目录在 "当前目录/log/info.log_yyyymmdd"。

2. 提示CPU、内存利用率超过阈值,则使用top命令查看当前系统环境的CPU利用率、内存利用率较高的应用进程,停止资源占用较高的进程。

3. 提示硬盘带宽和网络连接数大于阈值,使用iostat -d –x检查硬盘带宽,使用

netstat -n |awk '/^tcp/{++S[$NF]} END{for (a in S)print a,"\t",S[a]}' 查看网络连接数,并检查和停止占用资源的应用。

4. 如果top命令检查到ksoftirqd进程占用CPU资源100%,则需要更新服务器网卡驱动。

兼容性测试工具用户指南(基于 TaiShan 服务器) 3 兼容性测试

文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 6

Page 10: 用户指南(基于 TaiShan 服务器) · 2021. 3. 7. · 为解决TaiShan服务器认证过程中涉及的兼容性测试问题,特基于《软件通用认证测试 用例》开发了一个兼容性测试工具。

说明

– 1822网卡驱动升级说明

1822 网卡驱动下载链接

Ubuntu 、UOS 、银河麒麟4.0.2需要安装module-init-tools:dpkg -i module-init-tools_22-1ubuntu5_all.deb 下载链接

– 以CentOS 7.6为例说明安装驱动步骤,下面步骤中的软件包路径为鲲鹏创新中心旗舰店资源跳板机路径。

1. 安装驱动包,请以实际版本替代xxxx,rpm可以从 D:\\driver\1822\CentOS\CentOS7.6\ 或者D:\\驱动\1822网卡\CentOS\CentOS7.6\ 获取。

rpm -ivh NIC-IN200-CentOS7.6-hinic-xxxx-aarch64.rpm2. 卸载驱动。

rmmod hinic3. 加载驱动。

modprobe hinic4. 查看驱动版本。

modinfo hinic |grep -i version– 其他操作系统版本安装步骤,请参考跳板机目录: D:\driver\1822\ 或者 D:\驱动

\1822网卡

用户输入:

如果检查到当前系统环境非空闲,用户停止业务应用后,确认回复“Y”或者“y”。

步骤6 采集系统资源(软件启动前)。

业务应用软件启动前,采集CPU、内存、硬盘、网络和功耗指标。

用户操作:无

用户输入:无

步骤7 启动应用软件。

调用用户填写的应用软件启动命令启动应用。启动失败或者没有填写命令则需要手动启动软件,用户手动启动完成后需要回复“Y”。

脚本输出:

兼容性测试工具用户指南(基于 TaiShan 服务器) 3 兼容性测试

文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 7

Page 11: 用户指南(基于 TaiShan 服务器) · 2021. 3. 7. · 为解决TaiShan服务器认证过程中涉及的兼容性测试问题,特基于《软件通用认证测试 用例》开发了一个兼容性测试工具。

用户操作:配置文件没有填写应用启动命令或者脚本,或者启动失败后,用户需要手动启动应用软件。

用户输入:配置文件没有填写应用启动命令或者脚本,或者启动失败后,用户手动启动应用软件后,需要回复“Y”确定启动应用软件。

步骤8 安全测试。

确定应用启动完成后,调用nmap命令对所有端口进行扫描。

脚本输出:

用户操作:无

用户输入:无

步骤9 压力测试。

调用用户填写的命令启动压力测试工具,并进行压力测试采集,采集CPU、内存、硬盘、网络指标。

脚本输出:

兼容性测试工具用户指南(基于 TaiShan 服务器) 3 兼容性测试

文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 8

Page 12: 用户指南(基于 TaiShan 服务器) · 2021. 3. 7. · 为解决TaiShan服务器认证过程中涉及的兼容性测试问题,特基于《软件通用认证测试 用例》开发了一个兼容性测试工具。

用户操作:配置文件没有填写压力测试工具启动命令、或者启动失败后,用户需要手动启动压力测试工具。

用户输入:配置文件没有配置应用启动命令或者脚本,或者启动失败,用户手动启动压力测试工具后,回复“Y”确认启动压力测试工具。

步骤10 异常测试(可靠性测试)。

强制停止应用软件进程,然后启动应用软件进程。目的是为了检查应用软件在异常停止后能正常启动和稳定运行。

脚本输出:

兼容性测试工具用户指南(基于 TaiShan 服务器) 3 兼容性测试

文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 9

Page 13: 用户指南(基于 TaiShan 服务器) · 2021. 3. 7. · 为解决TaiShan服务器认证过程中涉及的兼容性测试问题,特基于《软件通用认证测试 用例》开发了一个兼容性测试工具。

用户操作:压力测试工具是手动启动或者压力测试停止失败情况下,需要用户停止压力测试工具。

用户输入: 压力测试工具是手动启动或者压力测试停止失败情况下,用户停止压力测试工具后,回复任意键继续下一步。

步骤11 采集系统资源(软件停止后)。

停止应用软件,并进行应用软件停止后采集,采集CPU、内存、硬盘、网络和功耗等指标。

脚本输出:

用户操作:无

用户输入:无

步骤12 日志输出。

测试工具的结果检查和采集结果打包。

脚本输出:

兼容性测试工具用户指南(基于 TaiShan 服务器) 3 兼容性测试

文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 10

Page 14: 用户指南(基于 TaiShan 服务器) · 2021. 3. 7. · 为解决TaiShan服务器认证过程中涉及的兼容性测试问题,特基于《软件通用认证测试 用例》开发了一个兼容性测试工具。

用户操作:无

用户输入:无

----结束

兼容性测试工具用户指南(基于 TaiShan 服务器) 3 兼容性测试

文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 11

Page 15: 用户指南(基于 TaiShan 服务器) · 2021. 3. 7. · 为解决TaiShan服务器认证过程中涉及的兼容性测试问题,特基于《软件通用认证测试 用例》开发了一个兼容性测试工具。

4 常见问题

配置文件的 application_names 参数如何配置

问题:配置文件的application_names参数如何配置?

回答:配置文件的application_names表示待测试应用软件名称,多个应用名称以逗号隔开。

application_names=

说明

填写的应用软件进程名称,可通用ps或者docker top命令CMD所在列查找后台进程名称。例如:应用软件redis的进程名称可以填写redis或者redis-server。

apt 源或者 yum 源不可用

问题:apt源或者yum源不可用,脚本输出如下:

回答:

用户操作:

配置本地源或者远程源,然后执行下面的工具依赖安装命令。

● CentOS/中标麒麟/SUSE/openEuler/银河麒麟v10,请使用下面命令安装软件包。

yum –y install nmap ipmitool dmidecode pciutils util-linux util-linux net-tools net-tools sysstat bc

● Ubuntu/银河麒麟 4.0.2 /UOS系统版本,请使用下面命令安装软件包。

apt –y install nmap ipmitool dmidecode lspci lscpu lsblk ifconfig netstatsysstat bc

● SUSE系统,请使用下面命令安装软件包。

zypper install -y nmap ipmitool dmidecode lspci lscpu lsblk ifconfignetstat sysstat bc

兼容性测试工具用户指南(基于 TaiShan 服务器) 4 常见问题

文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 12

Page 16: 用户指南(基于 TaiShan 服务器) · 2021. 3. 7. · 为解决TaiShan服务器认证过程中涉及的兼容性测试问题,特基于《软件通用认证测试 用例》开发了一个兼容性测试工具。

当前环境为非空

问题:当前环境非空,如何进行下一步操作?

脚本输出:

回答:

检查当前系统的CPU、内存、硬盘和网络是否空闲,避免后台存在其他进程正在运行影响后续测试结果可靠性。

用户操作:

● 查看工具日志,查看详细信息。工具日志目录在 "当前目录/log/info.log_yyyymmdd"。

● 提示CPU、内存利用率超过阈值,则使用top命令查看当前系统环境的CPU利用率、内存利用率较高的应用进程,停止资源占用较高的进程。

● 提示硬盘带宽和网络连接数大于阈值,使用iostat -d –x检查硬盘带宽,使用netstat -n |awk '/^tcp/{++S[$NF]} END{for (a in S)print a,"\t",S[a]}' 查看网络连接数,并检查和停止占用资源的应用。

● 如果top命令检查到ksoftirqd进程占用CPU资源100%,则需要更新服务器网卡驱动。

兼容性测试工具用户指南(基于 TaiShan 服务器) 4 常见问题

文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 13

Page 17: 用户指南(基于 TaiShan 服务器) · 2021. 3. 7. · 为解决TaiShan服务器认证过程中涉及的兼容性测试问题,特基于《软件通用认证测试 用例》开发了一个兼容性测试工具。

A 修订记录

发布日期 修订记录

2021-03-10 第八次正式发布

更新1822网卡驱动路径

2021-03-03 第七次正式发布

3 兼容性测试中增加配置文件应用进程名称填写的举例说明。

2021-01-23 第六次正式发布

修改Openlab为鲲鹏创新中心旗舰店。

2020-12-02 第五次正式发布

更新1822网卡驱动安装步骤。

2020-11-06 第四次正式发布

更新概述中《软件通用认证测试用例》的链接。

2020-10-15 第三次正式发布

更新兼容性测试工具的超链接。

2020-10-09 第二次正式发布

更新工具联系人邮箱。

2020-08-03 第一次正式发布

兼容性测试工具用户指南(基于 TaiShan 服务器) A 修订记录

文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 14