------------------------------------------------
Pls refer to TCM 1632: Data I/O [Version 2]
------------------------------------------------
1. Copy iozone package to the pservers/guests
array@snarf:/qa/ftp/qa/tools/pserv/carepkg_IOZONE_new.tar
Password is:Mown30typo
2. Untar carepkg_IOZONE_new.tar
[root@localhost ~]# tar xf carepkg_IOZONE_new.tar
3. Prepare for the disks
Note: If gcc is not installed, please install gcc first.
[root@localhost ~]# mkdir /rh_releases
[root@localhost ~]# mount 172.26.2.37:/rh_releases /rh_releases
[root@localhost Server]# pwd
/rh_releases/DVDReleases/celtics/RHEL5-IA32-U3/Server
Install gcc and the dependenced files.
Then run the preparation script:
Example: # carepkg/rhel/prep-pserver 2
(for server with three disks, 1 OS and 2 data)
For RHEL: # carepkg/rhel/prep-pserver 2
For SLES: # carepkg/sles/prep-pserver 2
For Solaris: # carepkg/solaris/prep-server 2
After the prep-server script is run, all the tools are in /root/bin.
4. Run mount command to verify that all data disks are mounted
[root@localhost ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sdb1 on /b type ext3 (rw)
/dev/sdc1 on /c type ext3 (rw)
5. Start the IO test
Example: # /root/bin/ioperf 2
(for server with three disks, 1 OS and 2 data)
6. The results of the testing can be seen in # tail -f /root/logs/b.log.
7. Use the iostat tool on the cBlade to verify that I/O is running:
Solaris, SLES and RHEL: iostat -x 5
8. Run pathstat on the cblade to check that io test is still running
pathstat $DISK_ID
Expected Results:
1. The testing should run for the duration specified without any errors reported in the logs.
2. iostat and pathstat should return non-zero values when run. There may be short periods where zero values are reported, but it shouldn't happen for more than one or two iterations.
3. As noted above, iostat and pathstat output will not agree, but pathstat should be within 10% of 1/2 iostats output.
Summary: This test verifies the BladeFrame's ability to successfully run I/O tests on the pServers. |
Initial Release: Win2K3SP1 (Legacy pServers) |
Requirement: |
Test Duration: 0.00 |
Steps: For Setup: The BladeFrame should have a supported SAN array connected via fabric or direct attached. Please make sure that the firmware on the Qlogic card has been flashed with the appropiate BIOS version for the array supported. In most cases, this will be 1.42. For the Compaq array or IBM array, this should be 1.45. In unsure about the flash version to use, please contact QA to ask. For Clinton and Harvard systems, you should have at least 15 pServers in the test configuration. If running this testcase on a cBlade release, then there should be a mixture of pServer types. Optimally, six pServers should be installed with Linux [both SLES and RHEL], five pServers installed with Windows, and four pServers installed with Solaris 10. The virtualization drivers on the pServers should match what is supported for the release cBlade release under test. If testing a pServer release, please install at least 12 pServers with the release under test. It is not required to have other pServer types during the testing. For Boxboro systems, six pServers are required. When testing a cBlade reelase, please use at least one pServer of each OS type. [1 RHEL, 1 SLES, 1 Windows and 1 Solaris]. When testing a pServer release, use six pServers of the release under test. 1. Use pancfg to create the pServers as described in the notes above. Allocate at least three disks to the pServers, two for data testing, and one for the OS. 2. Copy the carepkg I/O test tool to each of the pServers. The test tool is available at ftp://liono.egenera.com/qa/tools/pserv/carepkg_IOZONE_new.tar 3. Login to the pServer and extract the tarball. # tar xvf carepkg_IOZONE_new.tar 4. Run the preparation script [this wipes the current disk configuration, and partitions the disk for use]. For RHEL: # carepkg/rhel/prep-pserver For SLES: # carepkg/sles/prep-pserver For Solaris: # carepkg/solaris/prep-server For Windows: Example: # carepkg/rhel/prep-pserver 2 (for server with three disks, 1 OS and 2 data) After the prep-server script is run, all the tools are in /root/bin. 5. Start the I/O test tool on # /root/bin/ioperf Example: # /root/bin/ioperf 2 (for server with three disks, 1 OS and 2 data) 6. The results of the testing can be seen in # tail -f /root/logs/b.log. 7. Use the iostat tool on the cBlade to verify that I/O is running: Solaris, SLES and RHEL: iostat -x 5 Windows: TBD 8. Verify on the cBlade that the I/O is running on the LUNS under test: pserver -l LPAN/pserver | grep "(1.0)" | awk '{print $5}' pserver -l LPAN/pserver | grep "(2.0)" | awk '{print $5}' ... This command will return a disk id. 9. pathstat $DISK_ID [where the DISK_ID is what was returned from above] Example output is below: root@hook-c1 root # pathstat 9.0.0.26 multipath hba 1 hba 2 hba 3 hba 4 LUN rrq/s rmb/s wrq/s wmb/s trq/s tmb/s errors que %rq %mb %rq %mb %rq %mb %rq %mb 9.0.0.26 0.0 0.000 0.0 0.000 0.0 0.000 0 1 0 0 33 33 33 33 33 33 TOTAL 0.0 0.000 0.0 0.000 0.0 0.000 0 1 multipath hba 1 hba 2 hba 3 hba 4 LUN rrq/s rmb/s wrq/s wmb/s trq/s tmb/s errors que %rq %mb %rq %mb %rq %mb %rq %mb 9.0.0.26 0.0 0.000 113.7 0.444 113.7 0.444 0 0 25 25 25 25 25 25 25 25 TOTAL 0.0 0.000 113.7 0.444 113.7 0.444 0 0 NOTE: iostat output and pathstat output will not agree. I/O is split between two cBlades, so pathstat will report approximately 1/2 of what iostat does. In addition, because the monitoring periods differ, there will usually be a difference of up to 10% for the numbers. 10. Allow the testing to run for the duration specified for your testing. 11. At the conclusion of the test, run the following: # for i in `cat /tmp/.ShellFish `; do kill $i; done # killall iozone [for Linux] # pkill iozone [for Solaris] For Windows, TBD |
Expected Results: 1. The testing should run for the duration specified without any errors reported in the logs. 2. iostat and pathstat should return non-zero values when run. There may be short periods where zero values are reported, but it shouldn't happen for more than one or two iterations. 3. As noted above, iostat and pathstat output will not agree, but pathstat should be within 10% of 1/2 iostats output. |