Unofficial Faster Preclear


Recommended Posts

OK, switching to pc15b

Is this also valid for x64 or for x86 only?

 

Edit:

Also noticed, that without the -A it reports that the drive won't be aligned although it is a 4TB drive.

Is this correct?

 

The 15b version works only with 32 bit. I will post an update with both 32 bit and 64 bit support on Friday.

 

Use the -A option. I don't think it is required but I always do.

 

I just finished another preclear on my 4TB drive with 15b2 using the LC_CTYPE=C on 6.0-beta4 and the preclear finished successfully (and marks the drive as precleared).

 

=======1.15b

== invoked as: ./preclear_disk15b.sh -A -f /dev/sdo

== WDCWD40EZRX-00SPEB0  WD-WMC4E0043050

== Disk /dev/sdo has been successfully precleared

== with a starting sector of 1

== Ran 1 cycle

==

== Using :Read block size = 1000448 Bytes

== Last Cycle's Pre Read Time  : 11:45:37 (94 MB/s)

== Last Cycle's Zeroing time  : 9:54:46 (112 MB/s)

== Last Cycle's Post Read Time : 11:59:24 (92 MB/s)

== Last Cycle's Total Time    : 33:40:47

 

 

Link to comment

Here we go, first run completed:


========================================================================1.15b
== invoked as: ./preclear_disk15b.sh -A -f /dev/sdc
== HitachiHDS5C4040ALE630   PL1311LAG38ZJH
== Disk /dev/sdc has been successfully precleared
== with a starting sector of 1 
== Ran 1 cycle
==
== Using :Read block size = 8388608 Bytes
== Last Cycle's Pre Read Time  : 12:18:50 (90 MB/s)
== Last Cycle's Zeroing time   : 10:55:48 (101 MB/s)
== Last Cycle's Post Read Time : 14:21:13 (77 MB/s)
== Last Cycle's Total Time     : 37:37:02
==
== Total Elapsed Time 37:37:02
==
== Disk Start Temperature: 24C
==
== Current Disk Temperature: 26C, 
==
============================================================================ 

 

========================================================================1.15b
== invoked as: ./preclear_disk15b.sh -A -f /dev/sdb
== HitachiHDS5C4040ALE630   PL1321LAG325VH
== Disk /dev/sdb has been successfully precleared
== with a starting sector of 1 
== Ran 1 cycle
==
== Using :Read block size = 8388608 Bytes
== Last Cycle's Pre Read Time  : 12:27:01 (89 MB/s)
== Last Cycle's Zeroing time   : 11:06:19 (100 MB/s)
== Last Cycle's Post Read Time : 14:32:25 (76 MB/s)
== Last Cycle's Total Time     : 38:06:57
==
== Total Elapsed Time 38:06:57
==
== Disk Start Temperature: 24C
==
== Current Disk Temperature: 27C, 
==
============================================================================ 

 

========================================================================1.15b
== invoked as: ./preclear_disk15b.sh -A -f /dev/sdd
== HitachiHDS5C4040ALE630   PL2331LAG8W1YJ
== Disk /dev/sdd has been successfully precleared
== with a starting sector of 1 
== Ran 1 cycle
==
== Using :Read block size = 8388608 Bytes
== Last Cycle's Pre Read Time  : 12:25:54 (89 MB/s)
== Last Cycle's Zeroing time   : 11:05:24 (100 MB/s)
== Last Cycle's Post Read Time : 14:27:29 (76 MB/s)
== Last Cycle's Total Time     : 37:59:59
==
== Total Elapsed Time 37:59:59
==
== Disk Start Temperature: 24C
==
== Current Disk Temperature: 26C, 
==
============================================================================

 

The next run will be with the x64 edition.

Is the updated version ready yet?

 

Link to comment

Just started the 2nd run with 5.0.5 and the x64 preclear script.

readvz64v3.zip & LC_CTYPE=C /boot/preclear_disk15b.sh -f /dev/sdX

 

Edit:

Now I found out, that the x64 binary won't work on the x86 unraid... ::) ::)::)

(guess I was to eager on testing, so that I turned my brain off.../facepalm/)

 

Should there be a check to avoid such?

Link to comment

The preclear of a pair of 4TB Seagate desktop drives finished on the weekend.  So here are the results for the old and new (32bit) preclears.

 

Note the old preclear was done on a 2 pass basis.

 

== invoked as: ./preclear_disk.sh -c 2 /dev/sdd
== ST4000DM000-1F2168   Z30093E3
== Disk /dev/sdd has been successfully precleared
== with a starting sector of 1 
== Ran 2 cycles
==
== Using :Read block size = 8388608 Bytes
== Last Cycle's Pre Read Time  : 10:57:55 (101 MB/s)
== Last Cycle's Zeroing time   : 10:02:21 (110 MB/s)
== Last Cycle's Post Read Time : 22:53:14 (48 MB/s)
== Last Cycle's Total Time     : 32:56:35
==
== Total Elapsed Time 76:56:37

 

== invoked as: ./pc15b.sh -f /dev/sdc
== ST4000DM000-1F2168   Z30093E3
== Disk /dev/sdc has been successfully precleared
== with a starting sector of 1 
== Ran 1 cycle
==
== Using :Read block size = 8388608 Bytes
== Last Cycle's Pre Read Time  : 11:07:18 (99 MB/s)
== Last Cycle's Zeroing time   : 9:55:48 (111 MB/s)
== Last Cycle's Post Read Time : 11:39:35 (95 MB/s)
== Last Cycle's Total Time     : 32:43:43
==
== Total Elapsed Time 32:43:43

 

== invoked as: ./preclear_disk.sh -c 2 /dev/sdc
== ST4000DM000-1F2168   W3002WDC
== Disk /dev/sdc has been successfully precleared
== with a starting sector of 1 
== Ran 2 cycles
==
== Using :Read block size = 8388608 Bytes
== Last Cycle's Pre Read Time  : 10:56:18 (101 MB/s)
== Last Cycle's Zeroing time   : 9:36:47 (115 MB/s)
== Last Cycle's Post Read Time : 23:18:09 (47 MB/s)
== Last Cycle's Total Time     : 32:55:57
==
== Total Elapsed Time 76:35:13

 

== invoked as: ./pc15b.sh -f /dev/sdd
== ST4000DM000-1F2168   W3002WDC
== Disk /dev/sdd has been successfully precleared
== with a starting sector of 1 
== Ran 1 cycle
==
== Using :Read block size = 8388608 Bytes
== Last Cycle's Pre Read Time  : 11:07:22 (99 MB/s)
== Last Cycle's Zeroing time   : 9:56:03 (111 MB/s)
== Last Cycle's Post Read Time : 11:39:59 (95 MB/s)
== Last Cycle's Total Time     : 32:44:25
==
== Total Elapsed Time 32:44:25

 

Regards,

 

Stephen

Link to comment

Thanks to the beta testers.

 

I am hopeful the community is happy with this enhancement.

 

High 5s and cheers of appreciation will be cheerfully accepted. :" 8)

 

I have sent to Joe L. to update the official version when he has time.

Link to comment

Here are my results with readvz64v3.zip & LC_CTYPE=C /boot/preclear_disk15b.sh -f /dev/sdX

 

As far as I can say, it seems there is no improvement compared to the initial script from JoeL?

Why are the prereads so slow?

 

========================================================================1.15b
== invoked as: /boot/preclear_disk15b.sh -A -f /dev/sdb
== HitachiHDS5C4040ALE630   PL1321LAG325VH
== Disk /dev/sdb has been successfully precleared
== with a starting sector of 1 
== Ran 1 cycle
==
== Using :Read block size = 1000448 Bytes
== Last Cycle's Pre Read Time  : 16:32:21 (67 MB/s)
== Last Cycle's Zeroing time   : 10:53:55 (101 MB/s)
== Last Cycle's Post Read Time : 16:51:45 (65 MB/s)
== Last Cycle's Total Time     : 44:19:12
==
== Total Elapsed Time 44:19:12
==
== Disk Start Temperature: 21C
==
== Current Disk Temperature: 28C, 
==
============================================================================ 

 

========================================================================1.15b
== invoked as: /boot/preclear_disk15b.sh -A -f /dev/sdc
== HitachiHDS5C4040ALE630   PL1311LAG38ZJH
== Disk /dev/sdc has been successfully precleared
== with a starting sector of 1 
== Ran 1 cycle
==
== Using :Read block size = 1000448 Bytes
== Last Cycle's Pre Read Time  : 16:24:22 (67 MB/s)
== Last Cycle's Zeroing time   : 10:47:02 (103 MB/s)
== Last Cycle's Post Read Time : 16:44:01 (66 MB/s)
== Last Cycle's Total Time     : 43:56:37
==
== Total Elapsed Time 43:56:37
==
== Disk Start Temperature: 21C
==
== Current Disk Temperature: 27C, 
==
============================================================================

========================================================================1.15b
== invoked as: /boot/preclear_disk15b.sh -A -f /dev/sdd
== HitachiHDS5C4040ALE630   PL2331LAG8W1YJ
== Disk /dev/sdd has been successfully precleared
== with a starting sector of 1 
== Ran 1 cycle
==
== Using :Read block size = 1000448 Bytes
== Last Cycle's Pre Read Time  : 16:31:59 (67 MB/s)
== Last Cycle's Zeroing time   : 10:57:37 (101 MB/s)
== Last Cycle's Post Read Time : 16:51:39 (65 MB/s)
== Last Cycle's Total Time     : 44:22:27
==
== Total Elapsed Time 44:22:27
==
== Disk Start Temperature: 21C
==
== Current Disk Temperature: 27C, 
==
============================================================================

 

Link to comment

Your preread and post read times are close. That is what you would expect with the -f option. Previously the post read was about 2x the pre-read time. My changes has no impact on the preread.

 

Not sure why the reads are at that speed.

Link to comment

I ran another pair of preclears. Pretty happy with post-read speed.

 

An update on the official updated preclear - Joe L. is looking at another technical approach that would speed up the post read but not require a separately compiled program. I'll give a little time for him to complete.

PC_2_HGST_4T.PNG.1741af5e9a3d5e035af99264c67e8252.PNG

Link to comment
  • 1 month later...
  • 1 month later...

My goal was not to create a competing preclear to Joe L's preclear script, so therefore I will not be posting my version for general use. If Joe L wants to accept my revisions into the standard version, I will support that effort.

Link to comment
  • 2 months later...

It's been over six months since I beta tested this, and I have not seen signs to incorporate anything similar into preclear.

 

And I continue to get PMs and see forums posts asking about when it will be posted as drives are getting bigger.

 

I have therefore decided to post the link.

 

Please know that this version has not had the level of testing and usage as the official version. But I have precleared at least 5 disks and know that those beta testing have precleared many more.

 

And also that I am not committing to maintaining this version to keep aligned with future changes to preclear.

 

But it seems like a waste for me to sit on this when it could save people hours on already lengthy preclear cycles.

 

If anyone has an objections, please let me know and I will take it down.

 

See notes below ...

 

Here is the link to the download file Fast Preclear

 

There is a readme file that provides instructions.

 

It is important that the correct readvz is in the root of the flash, depending on if you are using version 5 (32 bit) unRAID, or version 6 (64 bit) unRaid.

 

Make sure to use the "-f" option (fast post read). Leaving this off will revert to the slower method.

 

Do not post questions in Joe L.'s support threads. He is not supporting this version. Post back here and I or someone else should be able to assist. If you feel you need better support, use the Official version of preclear.

Link to comment

A nice gain, but not enough to really matter.    The last 4TB drive I pre-cleared was a Seagate NAS unit:

 

--------------------------------------------------------------------

== invoked as: ./preclear_disk.sh /dev/sdc

==  ST4000VN000-1H4168    Z300MMED

== Disk /dev/sdc has been successfully precleared

== with a starting sector of 1

== Ran 1 cycle

==

== Using :Read block size = 8225280 Bytes

== Last Cycle's Pre Read Time  : 9:03:44 (122 MB/s)

== Last Cycle's Zeroing time  : 8:27:34 (131 MB/s)

== Last Cycle's Post Read Time : 18:21:24 (60 MB/s)

== Last Cycle's Total Time    : 35:53:43

==

== Total Elapsed Time 35:53:43

--------------------------------------------------------------------

 

Assuming the better of your two times (34:02:16), that's only a 5% savings in time.  When you're waiting, you're waiting  :)    Nevertheless, it's a nice savings ... so I'll use your routine the next time I'm running a pre-clear.    But I suspect this modest difference is why there hasn't been a rush to use the faster pre-clear instead of Joe's tried and true version that's the de-facto standard.

 

Link to comment

A nice gain, but not enough to really matter.    The last 4TB drive I pre-cleared was a Seagate NAS unit:

 

--------------------------------------------------------------------

== invoked as: ./preclear_disk.sh /dev/sdc

==  ST4000VN000-1H4168    Z300MMED

== Disk /dev/sdc has been successfully precleared

== with a starting sector of 1

== Ran 1 cycle

==

== Using :Read block size = 8225280 Bytes

== Last Cycle's Pre Read Time  : 9:03:44 (122 MB/s)

== Last Cycle's Zeroing time  : 8:27:34 (131 MB/s)

== Last Cycle's Post Read Time : 18:21:24 (60 MB/s)

== Last Cycle's Total Time    : 35:53:43

==

== Total Elapsed Time 35:53:43

--------------------------------------------------------------------

 

Assuming the better of your two times (34:02:16), that's only a 5% savings in time.  When you're waiting, you're waiting  :)    Nevertheless, it's a nice savings ... so I'll use your routine the next time I'm running a pre-clear.    But I suspect this modest difference is why there hasn't been a rush to use the faster pre-clear instead of Joe's tried and true version that's the de-facto standard.

 

Just a note, comparing a different drive on a different system doesn't make much sense. You'd be much more likely to see about a 9 hour time savings on your drive (extrapolating from the fact that the pre-read and a post-read times are approximately the same with the new version). That would be a 25% savings, which is more notable.

 

That said, when you're waiting, you're waiting.  :P

Link to comment

Somehow the "-f" is missing in your call.

Looks like you're still running the "old method".

 

A nice gain, but not enough to really matter.    The last 4TB drive I pre-cleared was a Seagate NAS unit:

 

--------------------------------------------------------------------

== invoked as: ./preclear_disk.sh /dev/sdc

==  ST4000VN000-1H4168    Z300MMED

Link to comment

Somehow the "-f" is missing in your call.

Looks like you're still running the "old method".

 

A nice gain, but not enough to really matter.    The last 4TB drive I pre-cleared was a Seagate NAS unit:

 

--------------------------------------------------------------------

== invoked as: ./preclear_disk.sh /dev/sdc

==  ST4000VN000-1H4168    Z300MMED

 

Yes, it was using Joe's original pre-clear (the "old" one).  That, however,  was the point --  the old" pre-clear is only 5% slower than the "fast" one.  Not enough, in my view, to use anything besides the de-factor standard that Joe maintains.

 

 

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.