Assuming I want to use
bcache for caching,
mdadm for RAID (1) and LVM for partitioning (and that I don't care that there might be performance drawbacks due to many levels of I/O and device management introduced) what would be the best hierarchy on top of the physical device? Can
mdadm work with
bcache devices and eventual failures of both backing and caching device as well as changes of the cache type (e.g. from writethough to writeback)? Same question for LVM on top of bcache devices.
I think that LVM should go on top of either bcache or RAID in order to minimize eventual resynchonization efforts after disk failures.
I experienced the issue that
bcache devices disappear if the underlying device fails. I don't know if
mdadm recognizes this as device failure and how the device needs to be treated logically after a device failure so that
mdadm starts a resynchronization of the right device and doesn't write the state of the failed device based on dirty cache state.
The concrete setup would include 2x1TB 2x4TB and 2x5TB all RAID1 and a 512 GB SSD for the OS (Ubuntu 15.10 with Linux 4.2.5) and the caching device partition (let's say 100 GB for the OS and the rest for the cache).