IBM FlashSystem
9100 Comprestimator V1.0.1
Quick Start Guide
Read this first!
IBM FlashSystem 9100 Comprestimator can be installed
only on supported Windows operating systems (see list below). After installation
completes, the binary files for other supported operating systems are available
in the Windows installation folder.
By default, the files are copied to:
In Windows 64-bit: c:\Program Files (x86)\IBM\IBM FlashSystem 9100 Comprestimator
In Windows 32-bit: 'c:\Program Files\IBM\IBM FlashSystem
9100 Comprestimator
Installing
IBM FlashSystem 9100 Comprestimator
To
install IBM FlashSystem 9100 Comprestimator
on a Linux:
1.
Log into the host using
the root account.
2.
Copy the Comprestimator
binary file from the installation folder to any folder on the host using an SCP
utility such as WinSCP or PuTTY.
3.
Login to the UNIX host,
and confirm that the file has executed permissions, to add execute permissions
to the binary file, type chmod +x comprestimator.
To
install IBM FlashSystem 9100 Comprestimator
on ESXi:
1.
Enable SSH on the ESXi server. Check the following URL for instructions or
skip this step if SSH is already enabled: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1017910
2.
Copy the ESX/comprestimator_esx binary file to any folder on the ESXi server. You can copy the file to the ESXi server by using the secure copy protocol (SCP), for
example ‘scp’ on Linux or ‘WinSCP’ on Microsoft
Windows
To
install IBM FlashSystem 9100 Comprestimator
on a Windows host:
1.
Log into the host.
2.
Copy the appropriate
Comprestimator binary file from the corresponding folder to any folder on the
host.
Introduction
to IBM FlashSystem 9100 Comprestimator
IBM FlashSystem
9100 Comprestimator is a command line host-based
utility that can be used to estimate expected compression rate for block-devices.
The IBM FlashSystem 9100 Comprestimator
utility uses advanced mathematical and statistical formulas to perform the
sampling and analysis process in a very short and efficient way. The utility
also displays its accuracy level by showing the maximum error range of the
results achieved based on the formulas it uses. The utility runs on a host that
has access to the devices that will be analyzed, and performs only read
operations so it has no effect whatsoever on the data stored on the device.
The following section provides
useful information on installing IBM FlashSystem 9100
Comprestimator on a host and using it to analyze
devices on that host. Depending on the environment configuration, in many cases
Comprestimator will be used on more than one host, in order to analyze
additional data types.
It is important to understand
block-device behavior when analyzing traditional (fully-allocated) volumes.
Traditional volumes that were created without initially zeroing the device may
contain traces of old data in the block-device level. Such data will not be
accessible or viewable in the file-system level. When using Comprestimator to
analyze such volumes, the expected compression results will reflect the
compression rate that will be achieved for all the data in the block-device
level, including the traces of old data. This simulates the volume mirroring
process of the analyzed device into a compressed volume. Later, when volume
mirroring is actually used to compress the data on the storage system, it will process
all data on the device (including both active data and traces of old data) and
get it compressed. After that when storing more active data on the compressed
volume, traces of old data will start getting deleted by new data that is
written into the volume. As more active data accumulates in the device the
compression rate achieved will be adjusted to reflect the accurate savings
achieved for the active data. This block-device behavior is limited to
traditional volumes and will not occur when analyzing thinly provisioned
volumes.
Regardless of the type of
block-device being scanned, it is also important to understand a few
characteristics of common file-systems space management. When files are deleted
from a file-system, the space they occupied before being deleted will be freed
and available to the file-system even though the data on disk was not actually
deleted but rather the file-system index and pointers were updated to reflect
this change. When using Comprestimator to analyze a block-device used by a
file-system – all underlying data in the device will be analyzed, regardless of
whether this data belongs to files that were already deleted from the
file-system. For example – you can fill a 100GB file-system and make it 100%
used, then delete all the files in the file-system making it 0% used. When
scanning the block-device used for storing the file-system in this example,
Comprestimator (or any other utility for that matter) will access the data that
belongs to the files that were already deleted.
In order to reduce the impact of
block-device and file-system behavior mentioned above it is highly recommended
to use Comprestimator to analyze volumes that contain as much active data as
possible rather than volumes that are mostly empty of data. This increases
accuracy level and reduces the risk of analyzing old data that is already
deleted but may still have traces on the device.
Using Comprestimator:
To
use Comprestimator on a Linux, ESXi server:
1.
Log into the server using
the root account.
2.
Obtain the list of device
names:
In Linux: Use the “fdisk –l” command.
In ESXi 4.0: Use the “esxcli
corestorage device list | grep Dev” command.
In ESXi 5.0: Use the “esxcli
storage core device list | grep Dev” command.
3.
Run Comprestimator with
the -d <device_name> flags to
analyze a device or a partition.
Comprestimator is designed to
scan any block device that is readable by the OS itself. This typically
includes devices managed by logical volume managers (LVMs) or partitioned by
the OS. However, for practical reasons, since compression is applied to
physical volumes, it is recommended to estimate compression by running
Comprestimator on the same block device/physical volume that will be
compressed, and not on a logical volume, which may be spanning on those
volumes. It is thereby highly recommended to always analyze the native
block-device when using Comprestimator. Some volume managers
"reserve" some of the LUN capacity for internal use. Since
Comprestimator reads directly from the block device, some of these IOs may
fail. The tool will tolerate up to 1% failed IOs and a scan will be aborted
if this threshold is reached. Note that for Flashsystem the Maximum effective capacity per enclosure
is limited based on the number of modules configured in the system. This configuration will limit the total
physical and effective capacity on the enclosure. |
To use Comprestimator
on a Windows server:
1.
Log into the server using
an account with administrator privileges.
2.
Open an elevated Command
Prompt with administrator rights (Run as Administrator).
3.
Run Comprestimator with
the -l flag to list the disk.
4.
Run Comprestimator with
the –n flag to analyze the specific disk.
5.
Alternatively, run
Comprestimator with –d and the device name. Note that when using –d option with
the long device name, the device name must be wrapped in double quotation
marks.
Syntax
Using
Linux, ESXi:
comprestimator -s DRP|FCM [ -h | -d device ] [ -c filename ] [-v] [ -p number_of_threads
] [-P] [-I] [ --config=task_file ] --stripewidth
Using
Windows:
comprestimator -s DRP|FCM [ -h | -l | -d device | -n
disk_number ] [ -c filename ] [-v] [ -p number_of_threads ] [-P] [-I] [ --config=task_file ] --stripewidth
-s, --storageSys |
Specify storage system type. Supported values are: DRP, FCM |
-d |
Specifies the device name. Note that the name must be wrapped
in double quotation |
device |
Path of device to analyze (e.g. /dev/sda in Linux). |
--stripewidth |
Stripe width for the planned
FCM array. Allowable values: 5 - 16. Default 12. Stripe width is the width of a single unit of redundancy in
the array. Arrays with smaller stripe width are quick to complete
rebuild operations. But such arrays also use more capacity for parity,
and parity is usually less compressible than user data. |
-n disk_number |
Only in Windows – The disk number. Identify this number by
running Comprestimator with the –l flag first. |
-l |
List the disk numbers and names available to use by
Comprestimator. The drive numbers reported match the “Disk #” reported in
Windows Disk Management. |
-p |
Specifies the number of processes (or threads in Windows)
between 1 and 50. The default value is 10. |
number_of_processes |
The number of processes (or threads in Windows) used by
Comprestimator. |
-P |
Displays the results using a paragraph format. |
-c |
Export the results to a CSV-formatted output file. |
file name |
File name of CSV-formatted output file. |
-h |
Display usage information. |
-v |
Display the results of every few samples. Note that the output
is extended to a few thousands of lines as a result. |
--config |
Configuration file that
contains list of devices to analyze. Used for automation. |
file |
Configuration file that contains list of devices to analyze.
The file should contain a list of devices in the same format of the –d
option, one device in each line. |
Explanation of scan results |
|
Sample# |
The number of the current sample reported. |
Device |
The device name used in the scan. |
Size(GB) |
The total size of the device as reported by the operating
system, in gigabytes. |
Compressed Size(GB) |
The estimated size of the device if it will be in gigabytes. |
Total Savings(GB) |
The total estimated savings from thin-provisioning and
compression, in gigabytes. |
Total Savings(%) |
The estimated savings from thin-provisioning and compression,
in percentage of the size of the device. |
Thin Provision Savings (%) |
The estimated savings from thin-provisioning. Shows how much of the volume is user data
vs unmapped/zero. |
Compression Savings(%) |
The estimated savings from compression. |
Compression Accuracy Range(%) |
The accuracy of the estimate provided by Comprestimator. The
results provided are estimated based on samples from the device and therefore
may be lower or higher than the actual compression that would be achieved.
The approximate accuracy of the results is represented as a percentage of the
total size of the device. |
Comprestimator
can also be used without any flag to get help and usage information. Following
is an example of the output you should expect for each analyzed device/partition:
Sample# |
Device |
Size (GB) |
Compressed Size (GB) |
Total Savings (GB) |
Total Savings (%) |
Thin Provision Savings (%) |
Compression Savings (%) |
Compression Accuracy Range % |
3425 |
/dev/dm-2 |
500 |
112.8 |
387.1 |
77.4% |
39.6% |
62.6% |
4.7% |
Examples
Linux
To display
the usage information:
#
./comprestimator
To list all
the available device names in Linux:
# fdisk -l
Disk /dev/sda: 78.3 GB, 78383153152 bytes
255 heads, 63 sectors/track, 9529 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000021
Device Boot Start End
Blocks Id System
/dev/sda1 * 1 8555 68718006 83 Linux
/dev/sda2 8556 8924 2963992+ 5 Extended
/dev/sda5 8556 8924 2963961
82 Linux swap / Solaris
Use the device names listed in the output, in this example:
/dev/sda1, /dev/sda2, /dev/sda5.
To run a standard scan of /dev/sdb
device (Linux version):
#
./comprestimator –d /dev/sdb -s DRP
Version:
1.5.3.1 (Build w0117)
Start time: 13/07/2013 15:54:02.918234
Device name: /dev/dm-2
Device size: 500.0 GB
Number of processes: 10
Exhaustive: no
Sample# | Device | size (GB) | Compressed Size(GB) | Total Savings(GB) | Total
Savings(%) |Thin Provision Savings(%) | Compression Savings (%) | Compression
Accuracy Range(%)
3425 | /dev/dm-2 |500.0|112.8| 387.1 |77.4% |39.6% |62.6% |4.7%
VMWare
vSphere ESXi 4.0
The
device names that can be scanned using Comprestimator
on an ESXi 4 Server can be obtained by using the
following command when logged into the ESXi server
with root account using SSH:
~ # esxcli corestorage device list
To
display a shorter, more readable list, you can use the following command to
filter out unnecessary information:
~ # esxcli corestorage device list |
grep Dev
Device Type: Direct-Access
Devfs Path:
/vmfs/devices/disks/naa.600605b0042ff75017a86e2e531227e7
Device Type: Direct-Access
Devfs Path:
/vmfs/devices/disks/naa.6005076801ac861ef800000000000007
Device Type: Direct-Access
Devfs Path:
/vmfs/devices/disks/naa.6005076801ac861ef800000000000008
Device Type: Direct-Access
Devfs Path:
/vmfs/devices/disks/naa.6005076801ac861ef80000000000000a
Device Type: Direct-Access
Devfs Path:
/vmfs/devices/disks/naa.6005076801ac861ef80000000000000b
Device Type: Direct-Access
Devfs Path:
/vmfs/devices/disks/naa.6005076801ac861ef80000000000000d
Device Type: CD-ROM
Devfs Path:
/vmfs/devices/cdrom/mpx.vmhba0:C0:T0:L0
This will list only the device types and their respective path
names. The device path names can then be used as arguments for Comprestimator.
To scan a
device in ESXi 4:
#. /comprestimator -d /vmfs/devices/disks/naa.600605b0042ff75017a86e2e531227e7
VMWare
vSphere ESXi 5.0
The
device names that can be scanned using Comprestimator
on an ESXi 5 Server can be obtained by using the
following command when logged into the ESXi server
with root account using SSH:
~ # esxcli storage core device list
To
display a shorter, more readable list, you can use the following command to
filter out unnecessary information:
~ # esxcli storage core device list | grep Dev
This will list only the device types and their respective path
names. The device path names can then be used as arguments for Comprestimator.
To scan a
device in ESXi 5:
#. /comprestimator -d /vmfs/devices/disks/naa.60050768029c00e8140000000000002d
Windows
To
scan a device in Windows, first identify the disk number using the -l argument:
# comprestimator –l
Drive number
[0]
\\?\ide#diskhitachi_hts725032a9a364pc3zc70f#5&1e544866&0&0.0.0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
The
drive numbers reported match the “Disk x” reported in Windows Disk Management.
Now run a standard scan of disk 0:
# comprestimator –n 0 -v
Version: 1.5.1.1 (Build w0082)
Start time: 17/07/2013 17:33:08.728421
Device name: \\?\ide#diskhitachi_hts725032a9a364pc3zc70f#5&1e54866&0&0.0.0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
Device size: 298 GB
Number of processes: 10
Exhaustive: no
...
...
Alternatively,
the drive numbers reported match the “Disk #” reported in Windows Disk
Management. Now run a standard scan of disk 0:
# comprestimator –d "\\?\ide#diskhitachi_hts725032a9a364_________________pc3zc70f#5&1e544866&0&0.0.0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}"
Known
issues
The following is a list of known issues
in the software current release. These issues are due to a combination of
environment constraints and current version limitations.
Table 1: Known issues |
|
ID |
Details |
12599 |
Comprestimator reports incorrect results (i.e. -1.$%) for devices smaller than 1GB. Use Comprestimator
only with devices larger than 1GB. |
Troubleshooting
Linux, ESXi
1.
Run the tool with –v
option – check output.
2.
Check the contents of the
log file – comprestimator.log in the current working directory.
3.
Confirm that the device is
readable using standard UNIX commands:
bash-4.2# dd bs=262144 if=/dev/rdsk/c1t0d0s2 of=/dev/null
4.
If the device cannot be
read, verify that it is indeed a raw device path name.
5.
If the utility crashes or
hangs, rerun the utility in verbose mode, and with trace information:
Linux:
# strace –o /tmp/strace.txt –f ./comprestimator –v –d /dev/sdb
Check the contents of the log file – "comprestimator.log" in
the current working directory.
Comprestimator is supported and can be used on the following
client operating system versions:
·
Windows 2003 Server,
Windows 7, Windows 2008 Server , Windows 8, Windows 2012
·
ESXi 4, 5
·
Red Hat Enterprise Linux
Version 5.x, 6
·
SUSE SLES 11
·
Ubuntu 12
·
CentOS 5.x