Post on 17-Mar-2021
transcript
兼容性测试工具
用户指南(基于 TaiShan 服务器)
文档版本 07
发布日期 2021-03-03
华为技术有限公司
版权所有 © 华为技术有限公司 2021。 保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。 商标声明
和其他华为商标均为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意
您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声明或保证。
由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。
华为技术有限公司地址: 深圳市龙岗区坂田华为总部办公楼 邮编:518129
网址: https://www.huawei.com
客户服务邮箱: support@huawei.com
客户服务电话: 4008302118
文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 i
目 录
1 简介..............................................................................................................................................1
2 安装..............................................................................................................................................3
3 兼容性测试.................................................................................................................................. 4
4 常见问题....................................................................................................................................12
A 修订记录................................................................................................................................... 14
兼容性测试工具用户指南(基于 TaiShan 服务器) 目 录
文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 ii
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
工具联系人● kongcz2008@163.com
工具更新说明
更新时间 更新说明
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
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
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
说明
● 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
用户输入: 无
步骤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
说明
– 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
用户操作:配置文件没有填写应用启动命令或者脚本,或者启动失败后,用户需要手动启动应用软件。
用户输入:配置文件没有填写应用启动命令或者脚本,或者启动失败后,用户手动启动应用软件后,需要回复“Y”确定启动应用软件。
步骤8 安全测试。
确定应用启动完成后,调用nmap命令对所有端口进行扫描。
脚本输出:
用户操作:无
用户输入:无
步骤9 压力测试。
调用用户填写的命令启动压力测试工具,并进行压力测试采集,采集CPU、内存、硬盘、网络指标。
脚本输出:
兼容性测试工具用户指南(基于 TaiShan 服务器) 3 兼容性测试
文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 8
用户操作:配置文件没有填写压力测试工具启动命令、或者启动失败后,用户需要手动启动压力测试工具。
用户输入:配置文件没有配置应用启动命令或者脚本,或者启动失败,用户手动启动压力测试工具后,回复“Y”确认启动压力测试工具。
步骤10 异常测试(可靠性测试)。
强制停止应用软件进程,然后启动应用软件进程。目的是为了检查应用软件在异常停止后能正常启动和稳定运行。
脚本输出:
兼容性测试工具用户指南(基于 TaiShan 服务器) 3 兼容性测试
文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 9
用户操作:压力测试工具是手动启动或者压力测试停止失败情况下,需要用户停止压力测试工具。
用户输入: 压力测试工具是手动启动或者压力测试停止失败情况下,用户停止压力测试工具后,回复任意键继续下一步。
步骤11 采集系统资源(软件停止后)。
停止应用软件,并进行应用软件停止后采集,采集CPU、内存、硬盘、网络和功耗等指标。
脚本输出:
用户操作:无
用户输入:无
步骤12 日志输出。
测试工具的结果检查和采集结果打包。
脚本输出:
兼容性测试工具用户指南(基于 TaiShan 服务器) 3 兼容性测试
文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 10
用户操作:无
用户输入:无
----结束
兼容性测试工具用户指南(基于 TaiShan 服务器) 3 兼容性测试
文档版本 07 (2021-03-03) 版权所有 © 华为技术有限公司 11
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
当前环境为非空
问题:当前环境非空,如何进行下一步操作?
脚本输出:
回答:
检查当前系统的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
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