Jag hade gått på ZFS, alla dagar i veckan.
ZFS är väldigt enkelt, zero-administration filesystem i princip. Du skapar din pool (glöm inte med ashift=12) med diskarna du vill använda, och sedan skapar du filsystem på poolen. Ett filsystem i ZFS är en volym, en mapp och ett ZFS-filsystem med egna properties (encryption, compression och en del andra). ZFS sköter bit-rot, checksums så din data håller sin integritet över tid. Det kostar i princip inget CPU att sätta compression=lz4 på din pool så sparar du lite utrymme. Du kan också ta snapshots per filsystem för att enkelt kunna rulla tillbaka till en tidigare tid (låt oss anta att en Windows-maskin vars disk är en .raw på ett ZFS-fs blir attackerat av ransomware, då är det bara att göra en zfs rollback pool/win-vm@igår så är maskinen återställt till gårdagens stadie. Du kan även skicka filsystem via SSH till en backup någon annanstans (som också kör ZFS).
Villl du sedan leka lite så finns det mycket att fördjupa sig i, om man vill. Tex:
ZFS tycker om mycket minne, behöver inte vara ECC, och per default halva ditt minne kommer gå till ZFS cachen ARC (Adaptive Replacement Cache) som håller två tabellvärden; Most Frequently Used-data och Most Recently Used-data. Om du då alltid accessar samma filer om och om igen, kommer du inte läsa från disk, datan kommer finnas i minnet, så det är gynnsammt om du har mycket minne allokerat till ARC, och i din maskin för övrigt. Du kan alltid ändra det värdet genom att skicka in ett nytt byte-värde i /sys/module/zfs/parameters/zfs_arc_max. Detta är bara prestanda-ökningar, nice-to-haves.
Du kan använda en snabb SSD, partitionera den, och använda en partition för L2ARC (Level 2 ARC), som en snabb(are) cache än HDD för att ha ytterligare ett lager flash-baserad cache mellan ARC och dina roterande diskar. En annan partition kan du använda för en sk. special metadata device. Denna partitionen kommer bara innehålla metadata, vilket kan, ifall du har väldigt många små filer tex, dramatisk öka din läs-prestanda eftersom ZFS vet exakt vart blocken som innehåller datan finns då den läser metadatan från den snabba SSDn.
Cache-disken kan du ta bort från din pool om du inte vill använda den mer, men inte en special metadata device, så om du vill leka lite med ZFS först, så gör det innan du börjar lagra data där för att det är ofta man destroyar och re-creatar en pool tex i början.
Lycka till!
Edit: Håller med @mrpijey ovan. Om du kör med RAID-kort så kör dem i passthrough-mode så OS får direkt-access till diskarna.