Type: New Feature
Affects Version/s: None
Fix Version/s: None
Choose lustre pool to place file’s objects by user-defined policies
This feature fits to heterogeneous lustre environment where lustre ost targets consist of different devices（such as disk，ssd）and are maybe with different configures (Such as osd-zfs, osd-ldiskfs, RAID1, RAID6). This feature can help users to make more fine-grained data placement.
When using this feature, lustre ost targets are firstly divided into many pools. Every pool is composed of homogeneous targets. That means, targets in one pools are with the same type of devices and with the same configure. Then, users define file create rules to put files into different pools. When the rules are enabled, file create operations will search the users-defined rules, find the corresponding pool, and then allocate data objects on the choosed pool.
We use lustre source compiling to illustrate this feature.
When building the lustre source code, files are composed of the following types
1. Source code with filename extension .c or .h and configure files to present build rules, which is usually without any filename extension.
2. temporary files that with filename extension .o
3. kernel modules and other final files.
For the above 3 types, 1, 3 need more reliability than I/O performance，while 2 need more IO performance than reliability.
Firstly, build two pools, one ( eg. named pool_src )use disk array with RAID1 configuration to provide high reliability. The other (eg. named pool_temp) use SSD with RAID0 to provide high IO performance.
Secondly, define the following pool policy:
When the policies are applied, filename with extortion .o will be put in pool_temp, while the others will be put in pool_src.