When copying reads ALL drives?


Recommended Posts

I've noticed that when copying a large file it is reading from ALL the drives, which I believe is what is slowing down my copies which have been going on for several months now. I still can't get a clean copy straight though. It dips, goes back up then dips down again. I did record another video and if you notice ALL my drives change as they are all being read from, which is kind of weird, no? Does Unraid save large files in pieces on multiple drives across the array? Just wondering why it is reading from ALL drives when copying one file. I know there are settings on how Unraid should store files. Anyway, here is the small video I made, as you can see it looks like a camel's back with all the humps. And yea, it still drops down to 0 MB/sec and takes forever to copy any amount of files. I did give up on Unraid a little, been using it since I believe V3 and trying different solutions, but still want to keep my Unraid box running.

Here's a link to the video.

 

http://www.diggsnet.com/filecopy.mp4

 

Just really wondering why it is reading from ALL disks on a one file copy with a large file. Unless that file is spread out on multiple disks? You'll notice all the drives increase their READ stats all at the same time.

 

Also when copying that same file from the array to a drive outside the array it is a steady flatline all the way across 80MB/sec. Doesn't dip at all.

Edited by opentoe
Link to comment
31 minutes ago, jonathanm said:

Are you using turbo write (reconstruct mode)?

 

 

Tunable (md_write_method): RECONSTRUCT WRITE

 

Been on that setting the whole time while I try to get my camel back copies back to normal.

 

 

Not that this "should not" matter, but all my user shares are setup as:

 

Allocation method:  MOST-FREE

Min Free Space:  25GB

Split Level:  Automatically split any directory as required

 

So no ideas on why it would be reading from ALL disks when the file itself it physically on one drive ( drive 9 ) that is. If any of the devs or Unraid mods that really know the insides of Unraid why is it trying to read from ALL my disks? I think that is what is killing my file copies. So what I did was exported all my drives individually. The file is on disk 9, so I used the disk share and copied the file from disk 9 to just another user share and the results were the video below. I also toggled the READ/WRITES display to show the throughput and you'll see Unraid is reading from ALL my drives when I'm just trying to copy a file from drive 9 to a user share. This could be a start of finally seeing the root of this issue that has plagued me for a long time now. Here is the video, you would be surprised to see all my drives show reads. Does not look right.

 

http://www.diggsnet.com/unraidfilecopy2.mp4

 

 

 

Link to comment
1 hour ago, opentoe said:

so I used the disk share and copied the file from disk 9 to just another user share

First of all, NEVER copy form a disk share to a user share or vice-versa, this can result in data loss. Goggle: site:forums.unraid.net user share copy bug (first link)

 

Second, the reason it's reading from all your disks is because you have RECONSTRUCT WRITE (aka turbo write) enabled. This will increase write speed not decrease it BUT will always read from all your disks. Google: site:forums.unraid.net turbo write (first link)

 

I don't have time to explain either of these right now so I suggest you google it. If you use the above search terms and click the first link it will explain all you need to know. 

 

 

Link to comment
3 hours ago, strike said:

Second, the reason it's reading from all your disks is because you have RECONSTRUCT WRITE (aka turbo write) enabled. This will increase write speed not decrease it BUT will always read from all your disks. Google: site:forums.unraid.net turbo write (first link)

In my experience RECONSTRUCT WRITE only helps with copying files to the array from an external source, and significantly slows down copies between drives within the array.  I have always assumed that this is because the Reconstruct-Write mode means the target sector of the write instigates a read of the equivalent sector on all drives (including the source drive).   This can potentially lead to a level of disk 'thrashing' on the source drive that more than offsets the gain on the write side.

 

Even when copying files to the array from an external source the Reconstruct-Write mode does not always speed things up since it reads from all array drives as part of the write operation and is thus limited by the read the performance of the slowest drive.

 

7 hours ago, opentoe said:

Does Unraid save large files in pieces on multiple drives across the array?

No.   One of the features of Unraid is that each drive is a self-contained file system.  This means that a file is always held on a single drive.

Link to comment
6 minutes ago, itimpi said:

In my experience RECONSTRUCT WRITE only helps with copying files to the array from an external source, and significantly slows down copies between drives within the array.  I have always assumed that this is because the Reconstruct-Write mode means the target sector of the write instigates a read of the equivalent sector on all drives (including the source drive).   This can potentially lead to a level of disk 'thrashing' on the source drive that more than offsets the gain on the write side.

 

Even when copying files to the array from an external source the Reconstruct-Write mode does not always speed things up since it reads from all array drives as part of the write operation and is thus limited by the read the performance of the slowest drive.

I was under the impression that it would always speed up writes (assuming all disks has good read performance) but I haven't really used turbo write so I'll take your word for it :) 

Link to comment
10 hours ago, strike said:

I was under the impression that it would always speed up writes (assuming all disks has good read performance) but I haven't really used turbo write so I'll take your word for it :) 

@itimpi is correct.  Reconstruct-writes are fast so long as no other disk activity is taking place at the same time.  So it is fast for copying from external sources (as fast as your slowest drive, anyway).  But as soon as you read from one array drive and then want to write to a differnt place in the array using reconstruct-writes, not only is the source drive reading the data to be copied, but it also has to perform a seek to read its share of the data stipe that is needed to calculate parity.  That seek operation is what slows it down so much.  In such a case, conventional writes are to be prefered, since although the destination and parity drives must both perform read and write operations, neither drive needs to seek to a different area of the disk between these operations.  

Link to comment
On 7/20/2019 at 12:30 AM, strike said:

First of all, NEVER copy form a disk share to a user share or vice-versa, this can result in data loss. Goggle: site:forums.unraid.net user share copy bug (first link)

 

Second, the reason it's reading from all your disks is because you have RECONSTRUCT WRITE (aka turbo write) enabled. This will increase write speed not decrease it BUT will always read from all your disks. Google: site:forums.unraid.net turbo write (first link)

 

I don't have time to explain either of these right now so I suggest you google it. If you use the above search terms and click the first link it will explain all you need to know. 

 

 

 

 

I never use disk shares. I was only testing the array to see if it would make any difference on my array to array copy speeds. Any of V5 releases I got exceptional copy speeds from the array to array with it never turning into a camels back with all the dips. I will test the same scenario with RECONSTRUCT OFF and see if that helps.  I'll Google search the terms and see what's there. Thanks.

 

UPDATE:

 

Took RECONSTRUCT off and things just got worse. Doesn't read from all the disks at all, but the copy is so random with the speeds it is really frustrating. Ever since V6 these things started to happen. I don't use a cache drive but was always happy with a constant 60MB/sec of copying anything from array to array all the time. I sort of miss that and just can't explain or think what could of happened. All my drives are 7200 RPM with at least 128MB cache, not to say that's going to make it fly but this same exact hardware with using V5 had no problems at all. I think even V3 I had and used was really good. Started with Unraid from the start....years ago. I've replaced ALL hardware except the drives themselves. Just did a parity check which took 18 hours  and the average speed was 122MB/sec. That's not bad. I've also done extensive tests on the individual drives themselves, all came back with good results. The only option at this point is to build on my Synology which I do not want to do or build a parallel system with Unraid and throw some data on it and see what happens. But I can't use it the way it is now. Copy drops to 0MB/sec, that shouldn't happen. Anyway, if curious here is what the copy looks like with RECONSTRUCT at Auto.

 

http://www.diggsnet.com/unraidfilecopy3.mp4

 

BTW, I never spin down my drives. They are always spinning 24/7/365.

 

 

 

 

Edited by opentoe
Link to comment
5 hours ago, opentoe said:

Any of V5 releases I got exceptional copy speeds from the array to array with it never turning into a camels back with all the dips.

Amazing if V5 got that, V6 is my 1st meet to Unraid, V6 is that. If possible avoid array to array copy (with parity disk). Those not relate CPU nor HDD in general.

 

5 hours ago, opentoe said:

The only option at this point is to build on my Synology which I do not want to do or build a parallel system with Unraid

Use as temp storage ? Why not think Cache pool and UD, instead build something.

 

Edited by Benson
Link to comment

I found an old post that does confirm my copy speeds within the array were at one point around 100MB/sec with construct on. This was when Unraid just turned to V6. I read the whole thread and settles me that my system, which I inherited from my friend is now my Norco server I'm using now. Seeing that my speeds ended up at 60MB/sec for constant and consistent speed was good to read, so it has to be "something". I'm sure I can even find more posts I made years ago about copying speeds but I'm not very good at filtering them or finding them. The post below is from 3 years ago. I'm positive there are more out there showing or me saying what my copying speeds were/are. It is just finding all posts by user "opentoe" and then keyword search on those posts. Not sure where to find that. I do see options when I click on the search box, but wanted a little more and could not find it. Would just like to see at least 1 more post from years ago that my copy speeds were good. The ONLY possible thing that I have not tried was new back planes for the Norco case. They all have solid state logic boards on them, so it could be possible there are issues with them? If they are cheap I will what it cost to replace those. Always going to bed with a headache at night. :(

 

 

 

 

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.