[LU-12158] Don't have large stripe_width and stride to prevent unexpected performance regression Created: 04/Apr/19 Updated: 06/May/20 Resolved: 15/Jun/19 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Minor |
| Reporter: | Shuichi Ihara | Assignee: | Wang Shilong (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
master |
||
| Issue Links: |
|
||||
| Severity: | 3 | ||||
| Rank (Obsolete): | 9223372036854775807 | ||||
| Description |
|
stripe width and stride was calculated based on optimal_io_size that kernel got from backend storage devices. If storage controller returns large optimal io size (e.g. 16MB) to kernel, stripe_width and stride are are large value (e.g. optimal_io_size/blcok size) at mkfs. [root@es18k-vm1 ~]# dumpe2fs -h /dev/sda | grep RAID dumpe2fs 1.44.3.wc1 (23-July-2018) RAID stride: 4096 RAID stripe width: 4096 [root@es18k-vm1 ~]# dumpe2fs -h /dev/sdi | grep RAID dumpe2fs 1.44.3.wc1 (23-July-2018) RAID stride: 512 RAID stripe width: 512 [root@es18k-vm1 ~]# cat /sys/block/sda/queue/optimal_io_size 16777216 [root@es18k-vm1 ~]# cat /sys/block/sdi/queue/optimal_io_size 2097152 However, such large stripe_width and stride size causes performance regression. because ext4 takes more costs to find stripe_width-sized free chunks.
Also, stripe_width and stride are tunable (e.g. -E stripe_width= 4096,stride=4096) option to mkfs. If administrator formats OSTs with wrong stripe_width and stride, it may cause unexpected performance regressions. mkfs.lustre should avoid such large stripe_width/stride and prints a warning message if it's trying to configure. |
| Comments |
| Comment by Gerrit Updater [ 26/Apr/19 ] |
|
Wang Shilong (wshilong@ddn.com) uploaded a new patch: https://review.whamcloud.com/34767 |
| Comment by Gerrit Updater [ 07/Jun/19 ] |
|
Andreas Dilger (adilger@whamcloud.com) merged in patch https://review.whamcloud.com/34767/ |
| Comment by Peter Jones [ 15/Jun/19 ] |
|
Looks like this is fixed and just needs a new e2fsprogs release so it is available |