For scientific computing, we need fast read/write speeds. So I upgraded one of our machines with 2 SSDs. I used the command
hdparm -Tt /dev/sda
to test the read speed. As reference, our standard HDDs have a read speed of 250MB/s.
Each SSD separately has a tested read speed of 2000MB/s (roughly expected).
However, when I connect the two SSDs to one logical volume (following the top-voted answer here: How to set up multiple hard drives as one volume?), then the read speed of the logical volume is only 200MB/s – much slower than the individual SSDs and even slower than the HDDs…
Is this normal? My understanding of LVM is very basic. I thought files are written to both SSDs simultaneously and therefore the read speed of the combined logical volume might even be higher than that of one single SSD. I also expect some overhead of the LVM, so I do not expect the read speed to be twice that of a single SSD. But only 10% the speed of a single SSD?
I guess my question is: is this normal or did I do something wrong? What is the expected read speed for the logical volume and how can I achieve it? As solution, we could just use the two SSDs as individual volumes, but it would be slightly less convenient.
And for the expected I/O speed, I do not expect an exact numerical value, but rather if it is smaller, similar or greater than that of a single SSD.
The two SSDs are
Samsung 980 1TB PCIe Gen 3.0 x 4 NVMe M.2
and they are connected via
Ableconn PEXM2-130 Dual PCIe NVMe M.2 SSDs Carrier Adapter.
EDIT/SOLVED
I am still not sure what the original problem was, but when I followed this instruction, everything works well: https://www.theurbanpenguin.com/striped-lvm-volumes/
Now, my logical striped volume of two SSDs has a read speed that is slightly above the read speed of a single SSD (~2500MB/s compared to 2000MB/s single). I hope my experience helps other people as well.