I used Ceph blockdb and wal cache before. It did not do any read caching. Lvm caching is smarter. It caches the most used blocks. When i start up something it can be slow at first, but after a while the read and write speeds go up. I set caching mode to writeback. I used cachepool and not cachevol.
- Create a PV of the SSD
- Add PV to same VG as the slow HDD
- Create a large cache LV on the SSD
- Create a smaller metadata cache LV on the SSD
- Create cache LV from data and metadata LV
- Add cache LV to the HDD LV
Everything can be done while the HDD LV is online.