|
|
|
|
|
File system planning and performance tuning is the basis of designing a GPFS solution. |
|
Contents
File System Blocksize
|
When creating a file system there are two types of parameters: Those that can be changed dynamically and those that cannot. The key parameter that needs to be determined at file system creation is the file system block size. Once set, the only way to change the block size is to recreate the file system so it is recommended to test the blocksize on a development system before production deployment.
GPFS supports block sizes from 16 KB to 4MB with a default of 256 KB. The blocksize is of a file system is determined at creation using the --B parameter to the mmcrfs command. To create a file system with a blocksize greater than 1MB you need to increase the value of maxblocksize. The default value of maxblocksize is 1M and the allowable range is 16K to 16M. For block sizes larger than 1MB it is recommended that maxblocksize matches the value of blocksize.
So how do you chose a blocksize for your file system? Of course it is best to test the impact of various blocksize settings with your application. If you cannot test various values of blocksize or you are just looking for a starting point Table 1 provides a rough guideline for what file system block sizes may be appropriate for various types of applications. |
|
|
IO Type |
Application Examples |
Blocksize |
Large Sequential IO |
Scientific Computing, Digital Media |
1MB to 4MB |
Relational Database |
DB2, Oracle |
512kb |
Small I/O Sequential |
General File Service, File based Analytics |
256kb |
Small File |
Email, Web Applications |
64k |
|
|
|
The GPFS blocksize setting is the amount of data written to each disk in a file system before moving on to the next disk. There are three important characteristics to understand when considerign the appropriate value of blocksize:
- The blocksize is the largest size IO that GPFS can issue to the underlying device
- A subblock is 1/32nd of blocksize. This is the smallest allocation to a single file
- Sector is 512 byes. This is the smallest IO request size GPFS issues to the underlying device
This means that, for example, you use a blockszie of 1MB each file will use at least 32KB (1024KB / 32 = 32KB). |
|
|
|
|