(Searched for this but didn't see a thread)
I've been thinking about this since ZFS started to become popular. The main arguments for systems like ZFS are that a) the most important part of a storage system is the data it stores and b) the layers of a traditional stack do not communicate, and therefore one layer does not know what the other layers are doing.
Others will argue that the layers should be kept separate since they do distinctly different jobs. While the latter part is true, is the former? I agree that the block devices and filesystems are very different in terms of purpose and presentation, however RAID and LVM layers both present block devices.
I know there can be issues with LVM if something goes wrong with the RAID layer (typically with striped RAID schemes if drives get moved around), so from that point of view it would make sense. Additionally, some hardware RAID controllers (notably Areca) allow logical volumes to be created on an array, presenting them to the OS as block devices (I assume), so the idea isn't new.
NOTE: I'm aware of the fact that ZFS is available for Linux - the performance is poor, and ZFS does not allow incremental growth of an underlying RAID array (known as a vdev). I'm also aware that btrfs supports much of what I have covered, however I consider it to be years away from "trusted stability", and it is yet to support RAID 5 and RAID 6.
So, what do you think?
I've been thinking about this since ZFS started to become popular. The main arguments for systems like ZFS are that a) the most important part of a storage system is the data it stores and b) the layers of a traditional stack do not communicate, and therefore one layer does not know what the other layers are doing.
Others will argue that the layers should be kept separate since they do distinctly different jobs. While the latter part is true, is the former? I agree that the block devices and filesystems are very different in terms of purpose and presentation, however RAID and LVM layers both present block devices.
I know there can be issues with LVM if something goes wrong with the RAID layer (typically with striped RAID schemes if drives get moved around), so from that point of view it would make sense. Additionally, some hardware RAID controllers (notably Areca) allow logical volumes to be created on an array, presenting them to the OS as block devices (I assume), so the idea isn't new.
NOTE: I'm aware of the fact that ZFS is available for Linux - the performance is poor, and ZFS does not allow incremental growth of an underlying RAID array (known as a vdev). I'm also aware that btrfs supports much of what I have covered, however I consider it to be years away from "trusted stability", and it is yet to support RAID 5 and RAID 6.
So, what do you think?






