Unassigned Devices Preclear - a utility to preclear disks before adding them to the array


dlandon

Recommended Posts

  • 2 weeks later...

Hello!

 

New Unraid user here and I'm trying to get Preclear running on multiple 14TB drives at once however, I can't seem to figure it out.  One thing that strikes me as odd is that when I select the 'Start Multiple Preclear' sessions button, I see three drives but they all have the same device name (and serial numbers it looks like; attached screenshot) so I'm not sure if that is an indication of something being wrong or not.  I can select the drives and hit start but only one drive starts preclear instead of multiple. 

I've tried to Google this issue but I must not be using the right keywords because I can't find anything on it so any help here would be appreciated!  These drives were all bought from ServerPartsDeals as used enterprise drives but please let me know if there's anything else I can provide. I have checked the system logs and there doesn't appear to be anything in there.  I'm happy to provide diagnostic logs if that will help.

Thanks!

firefox_Zhu0Hv2leZ.png

Link to comment
4 minutes ago, grumpytechguy said:

I see three drives but they all have the same device name (and serial numbers it looks like; attached screenshot)

How are these drives connected? Probably you will have the same issue if you try to assign these drives.

  • Upvote 1
Link to comment
1 minute ago, trurl said:

How are these drives connected? Probably you will have the same issue if you try to assign these drives.

I have a Beelink mini PC running an Intel NUC and 16GB of RAM connected via USB-C to a QNAP TR-004 DAS device. 

I am actually able to format and assign the drives without an issue.  I can also preclear one at a time but I'm curious as to why I can't get multiple instances started at once.

Link to comment
3 minutes ago, grumpytechguy said:

I am actually able to format and assign the drives without an issue.  I can also preclear one at a time but I'm curious as to why I can't get multiple instances started at once.

Preclear thnks all the drives are the same because the serial numbers are the same.  You will have issues in the array and with UD by having three drives with the same serial number.  The serial numbers all have to be unique in Unraid.

  • Upvote 1
Link to comment
6 minutes ago, grumpytechguy said:

I have a Beelink mini PC running an Intel NUC and 16GB of RAM connected via USB-C to a QNAP TR-004 DAS device. 

I am actually able to format and assign the drives without an issue.  I can also preclear one at a time but I'm curious as to why I can't get multiple instances started at once.

USB not recommended for array or pools for many reasons including the issue are experiencing.

 

Do you mean you have been able to assign more than one of these disks to the array at the same time?

  • Upvote 1
Link to comment
4 minutes ago, trurl said:

USB not recommended for array or pools for many reasons including the issue are experiencing.

 

Do you mean you have been able to assign more than one of these disks to the array at the same time?

Ah well crap.  But yes, I would like to be able to add all of them to my array; my hope was to have 3x 14TB with 1x 14TB as a parity drive.  The first 14TB precleared fine but then again, I only ran it by itself.

So what is my best option here?  Return the mini PC and DAS device in favor or building out a PC where I can connect via SATA cables instead?  Or perhaps just deal with only being able to preclear one drive at a time?  If I go with the latter option, are there any other problems I might expect to run into when connected via USB versus other choices?  Sorry for the all the questions but just trying to figure out the best path forward for me so I appreciate the input.

Link to comment
22 minutes ago, dlandon said:

Preclear thnks all the drives are the same because the serial numbers are the same.  You will have issues in the array and with UD by having three drives with the same serial number.  The serial numbers all have to be unique in Unraid.

So is this a problem with the drives that were ordered then and I should send them back?  This is my first experience ordering used enterprise drives like this so I'm not sure if this is expected or not.

Link to comment
1 hour ago, grumpytechguy said:

So what is my best option here?  Return the mini PC and DAS device in favor or building out a PC where I can connect via SATA cables instead? 

Yes.

1 hour ago, grumpytechguy said:

Or perhaps just deal with only being able to preclear one drive at a time?

As mentioned if they have the same identifier pretty much everything in unraid will be unable to use them, not just preclear.

 

1 hour ago, grumpytechguy said:

So is this a problem with the drives that were ordered then and I should send them back?  This is my first experience ordering used enterprise drives like this so I'm not sure if this is expected or not.

No the drives are fine, it's the DAS box that's not transparent. It gives its own identifier instead of just passing the drives' ones.

Edited by Kilrah
  • Like 1
Link to comment
8 minutes ago, Kilrah said:

Yes.

As mentioned if they have the same identifier pretty much everything in unraid will be unable to use them, not just preclear.

 

No the drives are fine, it's the DAS box that's not transparent. It gives its own identifier instead of just passing the drives' ones.

Well can't get any more clear than that.  I appreciate the advice.  Guess it's time to look into an actual PC build then.

Link to comment
28 minutes ago, wgstarks said:

Post your parts list in the forum before you purchase. Might save you from headaches down the road.

I was actually thinking of doing that but didn't want to be too bothersome but would appreciate the feedback.  This is what I currently have my eyes on:

https://pcpartpicker.com/list/CfqyQP

 

It's a little over $100 more than the current mini PC/DAS combo I currently have but it seems like it should be more than enough and even slightly overkill.  My biggest concern is the idle power draw but the T series Intel processors seem a bit harder to find.

Link to comment
2 hours ago, grumpytechguy said:

I was actually thinking of doing that but didn't want to be too bothersome but would appreciate the feedback.  This is what I currently have my eyes on:

https://pcpartpicker.com/list/CfqyQP

 

It's a little over $100 more than the current mini PC/DAS combo I currently have but it seems like it should be more than enough and even slightly overkill.  My biggest concern is the idle power draw but the T series Intel processors seem a bit harder to find.

I’m not the best person to respond to this. Maybe you’ll get some response here but better to post this in the hardware section of the forum. More people will see it there. 

Link to comment
  • 2 weeks later...

I ran in to an issue when I was trying to preclear two 12TB drives at the same time - the system would crash/freeze (corrupted my plex database). I thought it was perhaps a faulty LSI card that I had added so I removed it and added them straight to the motherboard and it crashed again after a short time (minutes). Running them one at a time hasn't been an issue though - first finished and second is going now without issue. Is this a limitation of the plugin or does it perhaps take a ton of memory? I have 48GB with 32GB of that dedicated to Plex for transcoding, but thought I shouldn't have an issue.

Link to comment
8 hours ago, aqua said:

I ran in to an issue when I was trying to preclear two 12TB drives at the same time - the system would crash/freeze (corrupted my plex database). I thought it was perhaps a faulty LSI card that I had added so I removed it and added them straight to the motherboard and it crashed again after a short time (minutes). Running them one at a time hasn't been an issue though - first finished and second is going now without issue. Is this a limitation of the plugin or does it perhaps take a ton of memory? I have 48GB with 32GB of that dedicated to Plex for transcoding, but thought I shouldn't have an issue.

You should be able to do two at the same time.

 

just a thought - are you sure your PSU is up to handling the extra load from 2 drives?

Link to comment
On 1/23/2024 at 4:52 AM, itimpi said:

You should be able to do two at the same time.

 

just a thought - are you sure your PSU is up to handling the extra load from 2 drives?

Fair ask, but it shouldn't be an issue - its a pretty new high quality 650W power supply with a single rail that does 20A/110W for 5vand 54A/650W for 12v, with only 7 other mechanical drives and 3 ssds in the system, on a 10th gen intel with no external gpu.
 

I'll note that one time I saw a Kernel panic happen when this first started, saying kernel stack is corrupted in __x64_sys_epoll_wait+0x59/0x68

 

another time I aw it say (repeating over and over):

#PF: supervisor write access in kernel mode

#PF: error_code(0x0002) - not present page

BUB: unable to handle page fault for address: ffffffffffffffae

 

To be safe I ran a memtest but it all cleared without issue.

Edited by aqua
Link to comment
  • 2 weeks later...

BUG REPORT


Something in this plugin is causing error messages to get dumped to the physically attached console/monitor on boot, which do not appear to be shown or logged to syslog or anywhere else I've been able to locate. I narrowed it down to this plugin by removing all plugins, then individually enabling plugins and rebooting until the errors returned.

These messages are not generated for me when the plugin is "installed" - only on full reboot.

 

It looks like something is using unsanitized input into a shell command, where the parsing chokes likely on either a single/double quote, or open-parenthesis.  I'm not sure if the actual problem is the parens in "Toshiba...(Y) Enterprise HDD" logged to the screen, or some prior parsing step

 

See this thread for someone else with the same problem: https://forums.unraid.net/topic/143922-weird-error-messages-on-console/#comment-1297893

UDpreclear_errors.png

Link to comment

Hi, I just finished 2 cycle pre-clear of an unassigned disk. at the beginning I had the icon to open the log and check status, but then disappeared. How can I retrive the information? in particular about reallocated sector count!

 

thanks for any help!

 

ocRq6hr.png

Link to comment
On 2/5/2024 at 9:23 PM, dlandon said:

Post dioagnostics.

 

On 2/5/2024 at 4:06 PM, nick5429 said:

BUG REPORT


Something in this plugin is causing error messages to get dumped to the physically attached console/monitor on boot, which do not appear to be shown or logged to syslog or anywhere else I've been able to locate. I narrowed it down to this plugin by removing all plugins, then individually enabling plugins and rebooting until the errors returned.

These messages are not generated for me when the plugin is "installed" - only on full reboot.

 

It looks like something is using unsanitized input into a shell command, where the parsing chokes likely on either a single/double quote, or open-parenthesis.  I'm not sure if the actual problem is the parens in "Toshiba...(Y) Enterprise HDD" logged to the screen, or some prior parsing step

 

See this thread for someone else with the same problem: https://forums.unraid.net/topic/143922-weird-error-messages-on-console/#comment-1297893

UDpreclear_errors.png

 

Two diagnostics along with accompanying physical terminal output screenshots, immediately after a fresh reboot. Both have all my other regular 'stuff' enabled.  The only thing that changed between these boots was installing the UD preclear plugin immediately before rebooting.

fresh boot, no preclear plugin, no errors -- physically attached terminal output.png

fresh boot after UDpreclear plugin added -- physically attached terminal output.png

 

Edited by nick5429
remove diagnostics after issue resolved
Link to comment
21 minutes ago, nick5429 said:

 

 

Two diagnostics along with accompanying physical terminal output screenshots, immediately after a fresh reboot. Both have all my other regular 'stuff' enabled.  The only thing that changed between these boots was installing the UD preclear plugin immediately before rebooting.

 

Looks like it's the quote returned in 'Model Family' for these drives:

 

root@nickserver:~# /usr/sbin/smartctl --info --attributes -d auto /dev/sdc
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.1.64-Unraid] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Toshiba 3.5" MG03ACAxxx(Y) Enterprise HDD
Device Model:     TOSHIBA MG03ACA300
Serial Number:    64OUKFOJF
LU WWN Device Id: 5 000039 59c580e61
Firmware Version: FL1A
User Capacity:    3,000,592,982,016 bytes [3.00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches
Device is:        In smartctl database 7.3/5528
ATA Version is:   ATA8-ACS (minor revision not indicated)
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Tue Feb  6 15:13:57 2024 EST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   050    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0005   100   100   050    Pre-fail  Offline      -       0
  3 Spin_Up_Time            0x0027   100   100   001    Pre-fail  Always       -       11608
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       4143
  5 Reallocated_Sector_Ct   0x0033   100   100   050    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000b   100   100   050    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   100   100   050    Pre-fail  Offline      -       0
  9 Power_On_Hours          0x0032   001   001   000    Old_age   Always       -       69664
 10 Spin_Retry_Count        0x0033   182   100   030    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       153
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       120
193 Load_Cycle_Count        0x0032   098   098   000    Old_age   Always       -       21236
194 Temperature_Celsius     0x0022   100   100   000    Old_age   Always       -       38 (Min/Max 16/80)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
220 Disk_Shift              0x0002   100   100   000    Old_age   Always       -       0
222 Loaded_Hours            0x0032   001   001   000    Old_age   Always       -       53131
223 Load_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
224 Load_Friction           0x0022   100   100   000    Old_age   Always       -       0
226 Load-in_Time            0x0026   100   100   000    Old_age   Always       -       195
240 Head_Flying_Hours       0x0001   100   100   001    Pre-fail  Offline      -       0

 

 

I believe this specific problem is here:

https://github.com/dlandon/unassigned.devices/blob/master/source/Unassigned.devices.preclear/scripts/rc.diskinfo#L542C1-L544C79

 

$out    = timed_exec(10, "/usr/sbin/smartctl --info --attributes ".$type." ".escapeshellarg($device)." 2>/dev/null");
$info = trim(shell_exec("echo -e \"{$out}\" | grep -v '\[No Information Found\]' | grep -c -e 'Vendor:' -e 'Product:' -e 'Serial Number:' -e 'Device Model:'"));
$attr = trim(shell_exec("echo -e \"{$out}\" | grep -c 'ATTRIBUTE_NAME'"));

 

These, and similar, need escapeshellarg()

Edited by nick5429
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.