M
M
MarvinD2017-02-13 14:46:13
linux
MarvinD, 2017-02-13 14:46:13

Why can I be stupid to write RAID1 from two SSD drives?

Linux, mdadm, raid1 2x1Tb Samsung Pro SSD. Strongly slows down the write speed on the raid1 array. When writing a large amount of information (more than 2-3 GB), the recording speed drops to 17-20 MB / s and remains so throughout the entire copying process.
TRIM is enabled. smartctl -a gives no problems. A lot of memory, a strong percentage. Stupid record.
For example:
dd if=/dev/zero bs=110K count=60000 | pv | dd of=./zero.dd
can give out about 17-20 MB/s.
dd if=/dev/zero bs=110K count=500 | pv | dd of=./zero.dd
will give out normally, 230-250 MB/s, and if you quickly run the command three or four times, then the speed tends to drop a little bit.
dd if=/dev/zero bs=2100K count=5000 | pv | ddof=./zero.dd
after 30 seconds, it gives a decrease in speed from 250 to 30, and then again 17-20 MB / s.
I observe exactly the same write speed when copying to mc.
The problem accidentally showed itself, it was just never necessary to write anything more than 1-2-3 GB at once. And then he began to pour archives of gigs under 180 and immediately got out.

Answer the question

In order to leave comments, you need to log in

4 answer(s)
A
Artem @Jump, 2017-02-14
@MarvinD

This is fine.
Rested on the degradation of the recording speed.
Since TRIM will not work in your conditions, and even if it worked zero , then you need to do without it.
Firstly, TRIM is a command, if trim is enabled, it means that the command is sent, but does not mean that it reaches.
Secondly, TRIM in most cases does not pass through various virtual layers like raids, lvm, etc.
And most importantly , in your situation, even a working TRIM will be useless .
We need over provisioning of a decent size - no less than the size of one continuous record.
That is, if you often write a large amount of information to the disk, for example, 50GB, then you need the over provisioning size to be more than 50GB.

S
Sanes, 2017-02-13
@Sanes

Try a different recording option. / dev / urandom
Something similar was dumped on the OS.

V
Victor Taran, 2017-02-13
@shambler81

iotop -oka?

K
knutov, 2017-02-23
@knutov

Everything is easier. To write at least a byte, you need to rewrite the entire block, usually 128k. This means that there should already be a clean block. Or it needs to be cleared right now. Cleaning the block - slowly. Whether there is trim or not, clean blocks may not be enough for large writes. And that's it, they've arrived.
Server disks and overprovisioning alleviate the problem.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question