ocfs 测试套安装流程

ocfs 测试套安装流程:

准备:

安装LAM/MPI到需要测试的所有节点:

#节点间需要可以不需要密码进行SSH访问;
#如果有安全的考虑,可以在多节点测试时,使用root帐号,进行SSH操作;
#参考脚本如下:
(注意:每个测试节点,都需要运行)
。。。。

#测试需要的linux kernel source tarball需要为gzip格式的压缩文件。

安装:
步骤:

$ ./autogen.sh prefix=/     #默认安装目录为/usr/local
$ make
$ make install DESTDIR=/home/test/ocfs2test  # 安装可执行文件到目录:/home/test/ocfs2test



CentOS环境下,安装步骤:
#安装mpich:

tar -zxvf mpich.tar.gz
cd mpich-1.2.7p1/
./configure --prefix=/usr/local/mpich
make
make install
PATH="$PATH:/usr/local/mpich/bin"  #需要时,可以添加到/etc/profile

#安装libaio:

yum install libaio
yum install libaio-devel

#安装o2cb库:

rpm -ivh ocfs2-tools-1.4.4-1.el5.i386.rpm
rpm -ivh ocfs2-tools-devel-1.4.4-1.el5.i386.rpm #(可以不需要?)
rpm -ivh ocfs2-2.6.18-194.el5-1.4.7-1.el5.i686.rpm

#安装openmpi:

yum install openmpi.i386

#安装ocfs2-test:

rpm -ivh ocfs2-test-1.0.3-1.el5.i386.rpm

XX环境下安装:


安装后,目录结构:

<Install Directory>/bin
                   /log
                   /sbin
                   /workfiles
                   /workfiles/<test name>/<working directories>

测试源码结构:

测试套源码语言包含:shell scripts, C 和python.
在集群状态下,需要LAM/MPI,对应于以以run关键字开头的源码文件。

执行测试:

###单节点环境测试####

mmap_test

该测试,首先,在已存在文件的结尾写入,应该工作正常。超过文件结尾进行写入,应该报错。
作用:确认mmap在文件结尾是否工作正常

Syntax:

./mmap_test -h
Usage: mmap_test <filename>

Example:

echo 111 > 111.txt
./mmap_test 111.txt
解释:对于文件111.txt进行测试;

执行结果:

buf = 0xb7fb1000, ptr = 0xb7fb1000, size = 4, offset = 4, remain = 4092
tail of ptr: "111
"
tail of page: ""

解释:
buf = 0xb7fb1000
stat_buf.st_size=4
page_size=4096

offset = stat_buf.st_size % page_size=4
ptr = buf + (stat_buf.st_size - offset)=0xb7fb1000 + (4-4)=0xb7fb1000
remain = page_size - offset=4096-4=4092


####集群环境测试#####

Parallel Build Kernel

该测试,针对各个节点(-n 选项指定),对应指定目录(-d 选项指定),创建相应编译进程;此外,在编译之前,提前创建一个find进程,以对每个目录进行查找,第一个节点的find进程查找最后一个节点的目录。
作用:使用find进程,产生编译时的锁迁移压力。

Syntax:

$ ./run_buildkernel.py -h
usage: Usage: run_buildkernel.py [-c|--count count] [-n|--nodes nodelist] [-t|--tarfile fullpath tar filename] [-d|--directorylist dirlist] [-l|-logfile logfilename] [-u|--user username] [-h|--help]

options:
  -h, --help            显示帮助信息
  -c COUNT, --count=COUNT
                        设定测试的次数
                        Default = 1.
  -u USERID, --user=USERID
                        SSH的uid
  -d DIRLIST, --directorylist=DIRLIST
                        编译后文件存放目录;使用逗号隔开
  -l LOGFILE, --logfile=LOGFILE
                        指定logfile时,所有进程的log,存放在该file;否则,默认每个进程新建一个logfile
  -n NODELIST, --nodes=NODELIST
                        执行测试的节点list;使用逗号隔开
  -t TARFILE, --tarfile=TARFILE
                        使用的内核tar文件的全路径地址

Example:

$ ./run_buildkernel.py  -c 5 -d /ocfs2test1/test,/ocfs2test2/test,/ocfs2test3/test,/ocfs2test4/test,/ocfs2test5/test,/ocfs2test6/test -l /ocfs2test1/test/buildkernel.log -n node1,node2,node3,node4,node5,node6 -t /tmp/workfiles/linux-2.6.20.tar.gz

解释:6个节点(node1-node6),进行5测试,使用编译源文件linux-2.6.20.tar.gz,编译到目录/ocfs2test1/test等6个目录,结果都保存到/ocfs2test1/test/buildkernel.log

Cross delete

该测试对成对节点进行测试,最少需要两个节点进行,越多越佳;如果测试节点数为奇数,最后一个节点将被忽视。
每个节点执行一个拷贝kernel源文件的动作,当该动作接近结束时,成对的另一个节点同时进行该源文件的删除动作;以上两个动作,在成对节点之间是相对的,都相互进行。
作用:对DLM产生大量的业务压力。

Syntax:

$ ./cross_delete.py -h
usage: cross_delete.py [-c|count count] [-d|--dirlist dirlist] [-l|-logfile logfilename] [-n|nodes nodelist] [-t|--tarfile fullpathtar filename] [-h|--help]

options:
  -h, --help            显示帮助信息
  -c COUNT, --count=COUNT
                        设定测试的次数
  -d DIRLIST, --dirlist=DIRLIST
                        编译后文件存放目录;(目前只可以定一个目录)
  -l LOGFILE, --logfile=LOGFILE
                        指定结果存放地址
  -n NODES, --nodes=NODES
                        执行测试的节点list;使用逗号隔开
  -t TARFILE, --tarfile=TARFILE
                        使用的内核tar文件的全路径地址

Example:

$ ./cross_delete.py -c 5 -d /ocfs2test1/test -l /ocfs2test1/test/crdel.log -n node1,node2,node3,node4,node5 -t /tmp/workfiles/linux-2.6.20.tar.gz

解释:5个节点(node1-node5),进行5测试,使用编译源文件linux-2.6.20.tar.gz,编译到目录/ocfs2test1/test目录,结果都保存到/ocfs2test1/test/crdel.log


###############

#(配置yum的步骤,正常不需要)

1121  cd /etc
1122  ls
1124  cd yum.repos.d/
1125  ls
1141  mv CentOS-Base.repo CentOS-Base.repo_BAK
1142  ls
1143  mv CentOS-Base.repo_BAK2 CentOS-Base.repo
1144  ls
1145  yum check-update

##end##

你可能感兴趣的:(ocfs)