Jump to content

Preclear


musclecups

Recommended Posts

I recently bought 5 drives (14TB Seagate Exos x14) used from Ebay to add to my array.  I started binhex/preclear on one, and it's gonna take like 90hours.  

 

There are 3 years reported on the drives.  Can I assume it's past the first part of the bathtub curve?  Is it worth the time to preclear?  I still have about 60 days on the DoA warranty from the seller.  Any advice, no matter how anecdotal, would be appreciated.  

Link to comment

You don't need to do a preclear on each drive however doing one can give you some confidence and usually if a drive is going to fail it does so at the very beginning of its usage or after a few years (the so-called bathtub curve as described by musclecups in the first post).

 

So if you do a preclear what are the benefits? - You find out if a drive is bad straight away before you expand or rebuild your array. You find out it's bad during an easy return window where you can get an exchange directly from the seller as opposed to dealing with an RMA with the drives manufacturer (which could take more than a week vs a few hours to a day depending on where you bought the drive).

 

Personally the way I do them is I do the pre-clear write and the post-clear read. I do not do the pre-read, I feel that's unnecessary personally. For the 18TB drives I buy it generally takes around 46 hours in total to do the write + post read.

 

It does seem like a while doesn't it? but you can do multiple drives at once. In-fact I did 4 x 18TB drives at once without issue. Get a strong HBA and you can easily preclear 10+ drives at the same time without performance degradation. But also patience is key, especially with unRAID. I don't mind waiting for that extra knowledge that a drive is good.

 

One added benefit of a pre-clear is you get to hear the drive acoustically running flat out for a few hours, sometimes drives will pass but may generate an annoying high pitched tone or a audible clicking noise, things that may give you pause about introducing it to your array.

Edited by Pri
  • Thanks 1
Link to comment

Ii already took me about a week and a half to do the SMART tests on the 4 drives one at a time.  But from what you are saying, I guess it is worth it to suck it up and take a couple more days to finish it off properly.  Thanks for your advice.  It just seems like it has been forever since I got the drives and haven't even been able to use them yet.  The next step after that is going to be migrating all the terabytes of data which is going to take forever.  It's going to be a juggling act to do that since I'm already maxed out in my case with 12 hard drives.  So, I am going to have to remove and add drives back and forth to migrate the data.  I was hoping to just add each drive one at a time.  But then I would have to do the preclear on each drive one at a time.

Link to comment
52 minutes ago, JoeUnraidUser said:

Ii already took me about a week and a half to do the SMART tests on the 4 drives one at a time.  But from what you are saying, I guess it is worth it to suck it up and take a couple more days to finish it off properly.  Thanks for your advice.  It just seems like it has been forever since I got the drives and haven't even been able to use them yet.  The next step after that is going to be migrating all the terabytes of data which is going to take forever.  It's going to be a juggling act to do that since I'm already maxed out in my case with 12 hard drives.  So, I am going to have to remove and add drives back and forth to migrate the data.  I was hoping to just add each drive one at a time.  But then I would have to do the preclear on each drive one at a time.

I assume the new ones are bigger?  Once you have n+1 old drives worth of new drives, then you have some wiggle room.  Also, I'm all for having the drive outside the enclosure for a few days while you preclear it.  Just put something heavy on it if you're worried about vibration, and point a fan at it if you're concerned about heat.  Or use a separate machine to preclear.  The binhex container's FAQ mentions that preclearing two at once shouldn't be an issue.  

Link to comment
3 hours ago, MrGrey said:

Don't buy used drives. I don't believe Binhex makes a preclear. A proper preclear on a 14tb drive takes about 3 days (you do the math compaired to 90 hours).

 

MrGrey.

 

I think you may be incorrect.  

 

As ChatNoir pointed out, binhex may not "make" a preclear, but he certainly does maintain a docker image of a preclear someone made and to which he contributed.  

 

In my case, used drives make a tonne of sense.  My data is 99% media files (quite a few of them).  All of which are easily replaceable.  So if two drives happen to fail at once, some data loss would not be the end of the world.  I have a pretty tight budget when it comes to my NAS, which includes the power to run it.  So, the ideal would be SSD's, but those are too spendy.  So, it's high-density HDD's.  14tb is the sweet spot atm in terms of $/tb, and the SAS drives I am using are 425USD on amazon as of writing.  I bought them from a reputable seller for 125USD -- they report 3 on/off cycles, only handfull of writes, and 4 years of spintime.  

 

They're made for datacenters and weren't abused.  With a supposed MBTF of 2.5 million hours, I think they'll probably perform pretty well for me.  

Link to comment

I personally never preclear. I have good (enough) backups, a small array, don't add drives. Just replace existing drives, usually for upsizing, so the original drive is usually still available. Only one new disk at a time in my server until I'm satisfied with it. And I have a good understanding of how to deal with issues.

 

11 minutes ago, trurl said:

I would skip preclear rather than run without parity. 

I can't imagine how running without parity would be safer than running a new disk without preclearing it. Maybe running single parity instead of dual, but no parity at all?

Link to comment

I guess I could leave the 6TB as parity and just dump the data of 1 of the 3TB drives to a usb drive and replace that 3TB drive with a 14TB drive and run preclear on it.  Then dump the data from the other 3 3TB drives to the 14 TB and replace those drives with the remaining 3 14TB drives and run preclear on them.  Then as a final step unassign the 6TB drive from parity and assign 1 of the new 14TB drives to parity that way I will have parity the whole time.  Do you know if it will try to do a parity check each time I remove and add hard drives?

Link to comment
5 minutes ago, JoeUnraidUser said:

I guess I could leave the 6TB as parity and just dump the data of 1 of the 3TB drives to a usb drive and replace that 3TB drive with a 14TB drive and run preclear on it.  Then dump the data from the other 3 3TB drives to the 14 TB and replace those drives with the remaining 3 14TB drives and run preclear on them.  Then as a final step unassign the 6TB drive from parity and assign 1 of the new 14TB drives to parity that way I will have parity the whole time.  Do you know if it will try to do a parity check each time I remove and add hard drives?

You can never have any array data disk larger than any parity disk. So if that is what you are thinking here, then that won't work.

 

Best idea would be to just take your time. Preclear or not. Then replace parity with a 14TB, let it rebuild. Then replace another data disk and rebuild. Etc.

 

For more detailed advice based on exactly what you are working with

 

Attach diagnostics to your NEXT post in this thread.

Link to comment
18 minutes ago, JoeUnraidUser said:

try to do a parity check each time I remove and add hard drives?

First thing is to clear up the terminology. ADD means add a disk to a new slot. REMOVE means remove an assigned disk without replacing it.

 

If you ADD a data disk to an array that already has valid parity, Unraid will clear the disk if it hasn't been precleared, so parity will remain valid. This is the one and only scenario where Unraid requires a clear disk.

 

In order to REMOVE a disk from an array that already has valid parity, you must New Config without that disk and rebuild parity. Technically, it is possible to clear a disk to be removed while it is still in the array, then New Config without that disk and not rebuild parity, but it doesn't save any time and is a lot more complicated.

 

So, the answer to your question is basically YES, except it isn't a parity check, it is New Config and parity sync.

Link to comment
15 minutes ago, trurl said:

First thing is to clear up the terminology. ADD means add a disk to a new slot. REMOVE means remove an assigned disk without replacing it.

 

If you ADD a data disk to an array that already has valid parity, Unraid will clear the disk if it hasn't been precleared, so parity will remain valid. This is the one and only scenario where Unraid requires a clear disk.

 

In order to REMOVE a disk from an array that already has valid parity, you must New Config without that disk and rebuild parity. Technically, it is possible to clear a disk to be removed while it is still in the array, then New Config without that disk and not rebuild parity, but it doesn't save any time and is a lot more complicated.

 

So, the answer to your question is basically YES, except it isn't a parity check, it is New Config and parity sync.

I would like to rearrange some of my disk assignments.  If I were to do new New Config and assign disk to different disk numbers will it leave that data intact on those disks or will it clear them when I assign them?

Link to comment
9 minutes ago, JoeUnraidUser said:

Basically, I have a 6TB parity drive and I am replacing 4 3TB drives with 4 14TB drives and I want to make the 6TB drive an array drive and 1 of the 14TB drives the parity drive.  I guess the first thing I need to do is unassign the 6TB drive from parity and assign a 14TB drive to parity.

Not entirely clear. You mention replacing 4x3TB with 4x14TB, and also replacing 6TB parity with 14TB. Do you mean you actually have 5x14TB drives to work with?

Link to comment

Replace 6TB parity with 14TB and rebuild. Replace 3TB with 14TB and rebuild. Repeat as necessary until all 14TB drives are used. Replace another data drive with original 6TB parity and rebuild. With single parity you can only rebuild one disk at a time.

 

If you keep the original disks with their data, then you will still have their contents if there are any problems. All that rebuilding will be a good test of all the disks, since all disks are read to rebuild a disk. If they have already passed extended tests even better.

 

3 hours ago, JoeUnraidUser said:

maxed out in my case with 12 hard drives

Might also consider dual parity with that many disks.

Link to comment
2 minutes ago, trurl said:

Replace 6TB parity with 14TB and rebuild. Replace 3TB with 14TB and rebuild. Repeat as necessary until all 14TB drives are used. Replace another data drive with original 6TB parity and rebuild. With single parity you can only rebuild one disk at a time.

 

If you keep the original disks with their data, then you will still have their contents if there are any problems. All that rebuilding will be a good test of all the disks, since all disks are read to rebuild a disk. If they have already passed extended tests even better.

 

Might also consider dual parity with that many disks.

 

The problem is that I tried the method of rebuilding drives from parity twice over the years and both times after hours of waiting it got all the way near the end and failed.  The only luck I have had with parity is when hard drives have failed, I was still able to copy the emulated data off to other drives.

Link to comment
6 minutes ago, JoeUnraidUser said:

The only luck I have had with parity is when hard drives have failed, I was still able to copy the emulated data off to other drives.

If you mean copying emulated data to other disks in the array, this is not really recommended since you are modifying parity and other drives in the array while the array is unprotected. Though copying to other array drives would be better than moving to other array drives like some people think to do, since moving also means removing data from the emulated disk. If you really feel you need to backup something on the array when it isn't protected, better to copy the data somewhere off the array.

 

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.

×
×
  • Create New...