集群的可靠性测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
集群的性能测试可能是所有人都比较关注的,但是,可靠性同样也是不可忽视的。可靠性依赖集群现有的硬件,通过测试,可以降低系统运行过程中出现的意外,保证系统的正常运转。
本文主要讲述一下内存和cpu的可靠性测试的方法。
一、内存测试
内存测试的工具有很多,现在使用的比较多的是memtester,可以到
http://www.qcc.ca/~charlesc/software/memtester/ 下载最新的版本。Memtester主要是捕获内存错误和一直处于很高或者很低的坏位,其测试的主要项目有:随机值、异或比较、减法、乘法、除法、与或运算等等。通过给定测试内存的大小和次数,可以对系统现有的内存进行上面项目的测试。
具体的测试步骤如下:
1.在
http://www.qcc.ca/~charlesc/software/memtester/下载memtester的安装包memtester-4.0.4.tar
2.解开tar包
#tar –xvf memtester-4.0.4.tar –C /tmp
3.编译memtester源码
# cd memtester-4.0.4
# make all
这样,在当前的目录下会生成memtester的可执行文件。
Memtester的参数有两个:
#./memtester ram-size [runs]
ram-size:是指定要测试的内存的大小,单位是MB。
runs:是要测试测次数。
4.在集群的部署及其测试
如果集群有很多节点,逐个进行测试比较费时,通过对所有的节点分发memtester软件,同步进行测试,可以达到事半功倍的效果。
A.分发memtester到所有节点
# cp /tmp/memtester-4.0.4/memtester /tmp
使用下面的脚本fengfa.sh分发到所有的节点,假设现在有64个节点,ip地址的范围是从192.168.130.1到192.168.130.64。
#!/bin/sh
for((i=2;i<=64;i++))
do
rcp /tmp/memtest 192.168.130.$i:/tmp/
done
这样在所有的节点的/tmp目录下就会有memtester文件。
B.并发测试
使用test.sh 脚本并发的测试系统的内存
#!/bin/sh
#其中$1代表是测试内存的大小,单位是MB。
for((i=1;i<=64;i++))
do
rsh 192.168.130.$i "/tmp/memtester $1 > /tmp/memtest.log"&
done
如果没有指定测试的次数,那么测试会一直进行,直到用户终止。测试完成后在/tmp下会产生memtest.log文件,可以查看这个文件对系统内存的测试结果进行分析。
二、cpu测试
常见的内存测试工具有SETI@home、CPU Burn、CPU Burn-in,测试的原理大致都是在提高cpu的温度和主频的情况下测试,其中以CPU Burn-in的测试最为简单。
具体的测试步骤如下:
1.在
.au/cpuburn/下载cpuburn-in.tar
2.解开tar包
#tar –xvf cpuburn-in.tar –C /tmp
3.测试
cpuburn-in的测试很简单,只要给出测试时间,系统就会一直测试。
# cpuburn-in times
times:测试的时间,以分钟计。
4.在集群的部署及其测试
A.使用脚本cpu.sh分发cpuburn-in到所有的节点。
#!/bin/sh
for((i=2;i<=64;i++))
do
rcp /tmp/cpuburn-in 192.168.130.$i:/tmp/
done
B.使用脚本cputest.sh测试所有节点的cpu。
#!/bin/sh
#其中$1代表是测试时间的长短,单位是分钟。
for((i=1;i<=64;i++))
do
rsh 192.168.130.$i "/tmp/cpuburn-in $1 >/tmp/cpulog"&
done
测试完成后,系统产生/tmp/cpulog日志文件。可以使用脚本view.sh查看cpu是否出错。
#!/bin/sh
for((i=1;i<=640;i++))
do
rsh 192.168.130.$i hostname
rsh 192.168.130.$i “grep –i fail /tmp/cpulog”
done