forked from markfasheh/ocfs2-test
-
Notifications
You must be signed in to change notification settings - Fork 0
Ocfs2 test project
License
zhaohem/ocfs2-test
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Ocfs2 test suite Installation ============ 1. Before installation, the following rpms should be installed: * For OL6 or OL7: openmpi libgomp openmpi-devel mpi-selector gcc autoconf libaio-devel e2fsprogs-devel nc reflink and ocfs2-tools(>1.6) ocfs2-tools-devel(>1.6) * For OL5: openmpi libgomp openmpi-devel openmpi-libs mpi-selector gcc autoconf libaio-devel e2fsprogs-devel and ocfs2-2.6.18-348 ocfs2-tools(>1.6) ocfs2-tools-devel(>1.6) * For SLES/opensuse: $sudo zypper in openmpi openmpi-devel gcc autoconf libaio-devel e2fsprogs-devel ocfs2-kmp-default ocfs2-tools ocfs2-tools-devel ocfs2-tools-devel-static Note: For SLE12 later, dev packages(eg. ocfs2-tools-devel) now go into SDK repo. Please add it first, like: $sudo zypper ar sdk-repo-url sdk-repo-name 2. Add user "ocfs2test" for all nodes 3. The following environment parameters should be set in /home/ocfs2test/.bash_profile for all nodes: * For OL6 or OL7: PATH=$PATH:$HOME/bin:/usr/sbin/:/usr/lib64/openmpi/bin:$HOME/bin/ocfs2/bin LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/openmpi/lib export PATH export LD_LIBRARY_PATH * For OL5: PATH=$PATH:$HOME/bin:/usr/lib64/openmpi/1.4-gcc/bin:$HOME/bin/ocfs2/bin LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/openmpi/1.4-gcc/lib export PATH export LD_LIBRARY_PATH * For SLES/opensuse: PATH=$PATH:$HOME/bin:/usr/lib64/mpi/gcc/openmpi/bin:$HOME/bin/ocfs2/bin LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/mpi/gcc/openmpi/lib64 export PATH export LD_LIBRARY_PATH Note: Import above env variables by: $. ~/.bash_profile 4. Install OCFS2 testing suite for all nodes through steps as follows: * su - ocfs2test * git clone https://github.com/markfasheh/ocfs2-test #or download from github website * cd ocfs2-test * make clean * ./autogen.sh prefix=/ * make * make install DESTDIR=/home/ocfs2test/bin/ocfs2 Setup test environment ====================== 1. Get access to other nodes * add the all hosts in cluster.conf info into /etc/hosts for EACH node. * as "root" user and "ocfs2test" user, generate ssh id on the first node, and ssh-copy-id to other nodes 2. Add "ocfs2test" user into sudo list * add this line into /etc/sudoers ocfs2test ALL=(ALL) NOPASSWD:ALL * comment 'Defaults requiretty' in /etc/sudoers #no need for sles/opensuse now 3. chmod 777 /dev/sdax by root on EACH node 4. Stop iptables service for all nodes Run the test ============ 1. single node test * login as "ocfs2test" * cd ~/bin/ocfs2/bin; * single_run-WIP.sh -m <mount point> -l <log_location> [-t testcase] -d <device> e.g. ./single_run-WIP.sh -k ~/linux-kernel.tar.gz -m /mnt/ocfs2 -l ~/ocfs2log -d/dev/sdax e.g. ./single_run-WIP.sh -k ~/linux-kernel.tar.gz -m /mnt/ocfs2 -l ~/ocfs2log -t directaio -d/dev/sdax 2. multiple nodes test * login as "ocfs2test" * cd ~/bin/ocfs2/bin; * multiple_run.sh -k /kernel/linux-2.6.tgz -n node1.us.oracle.com,node2.us.oracle.com -d <device> [-t testcase] <mount point> e.g. ./multiple_run.sh -i eth0 -k ~/linux-kernel.tar.gz -n ocfs2-test8.cn.oracle.com,ocfs2-test9.cn.oracle.com -d /dev/sdax /mnt/ocfs2 e.g. ./multiple_run.sh -i eth0 -k ~/linux-kernel.tar.gz -n ocfs2-test8.cn.oracle.com,ocfs2-test9.cn.oracle.com -d /dev/sdax -t multi_mmap /mnt/ocfs2 3. discontig single node test * login as "ocfs2test" * cd ~/bin/ocfs2/bin; * discontig_runner.sh <-d device> [-o logdir] [-a access_method] <mount point> e.g../discontig_runner.sh -d /dev/sdax -o ~/ocfs2log/ /mnt/ocfs2 4. discontig multiple nodes test * login as "ocfs2test" * cd ~/bin/ocfs2/bin; * discontig_runner.sh <-d device> [-o logdir] [-m multi_hosts] [-a access_method] <mount point> e.g. ./discontig_runner.sh -d /dev/sdax -o ~/ocfs2log/ -m ocfs2-test8.cn.oracle.com,ocfs2-test9.cn.oracle.com /mnt/ocfs2 Available Testcases =================== 1. Single node testcases The following testcases run in one node ocfs2 cluster. [create_and_open] - file create and open test [directaio] - aio/dio test [fillverifyholes] - file hole write and verify test [renamewriterace] - file rename and extend write race test [aiostress] - aio stress test [filesizelimits] - file size limitation test [mmaptruncate] - mmap truncate race test [buildkernel] - kernel building test [splice] - ocfs2 splice feature test [sendfile] - sendfile() test [mmap] - mmap test [reserve_space] - unwritten extent test [inline] - inline data test [xattr] - xattr test [reflink] - reflink test [mkfs] - ocfs2 tools mkfs test [tunefs] - ocfs2 tools tunefs test [backup_super] - ocfs2 tools backup super block test 2. multiple nodes testcases The following testcases run in multiple nodes ocfs2 cluster. [xattr] - xattr test [inline] - inline data test [reflink] - reflink test [write_append_truncate] - extend write truncate race test [multi_mmap] - mmap test [create_racer] - file create and access race test [flock_unit] - file lock test [cross_delete] - cross delete file test [open_delete] - delete opened file test [lvb_torture] - dlm lock lvb test
About
Ocfs2 test project
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C 60.5%
- Shell 25.3%
- Python 5.4%
- Makefile 3.5%
- C++ 2.9%
- Roff 1.1%
- Other 1.3%