Feature request: ext4 fast_commit optimization
Created by: garloff
The storage performance is the most troublesome piece for etcd clusters. One challenge is that the needed fdatasync() call for ensuring the consistency of the Write-Ahead-Log (WAL) is causing too much unrelated data to be written to the disk.
-
To avoid that we could attach another disk to the VM and place the etcd WAL just there. Trouble is that this is counter-productive when we have local storage as boot disk (which some clouds do) and we'll end up using slower remote storage provided by cinder then
-
Have a secondary partition on the root disk where we can put a separate file system. This would work for local storage. As cloud-init grows the root partition to fill the root disk by default, we'd need an image that sets aside an empty partition with 1GiB size or so.
-
We could try to use the ext4 fast_commit(https://lwn.net/Articles/842385/) option to have better fdatasync performance. For this we'd need 5.10+ kernels (e.g. Ubuntu 22.04) and use the option
-O fast_commit
during filesystem creation when building the image.