myMain 1.5 - Now Integrated into unmenu


Recommended Posts

  • 4 weeks later...
  • Replies 136
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

FYI to myMain followers.  I sent an update to Joe L. tonight with updated myMain files for better support in 5.0b6a.  Please try it out and let me know if you have any problems.  A couple of new features ...

 

It has the HPA detect feature.  It is pretty simple - just looks for "552" as the last three numbers of the partition size (as reported by unRAID).  All modern drives are sized this way, but older (IDE drives may not be and you may get false HPA positives.  If unRAID finds the value is something else, the status column will turn orange and it will say "HPA", with hoverable text explaining that you might have an HPA.  You can set a custom drive attribute "hpa_ok".  If set to 1 it will ignore the check.  If set to 0 is will cause the error to be shown (easy way to test to see what it looks like).

 

Another feature is ability to set a custom drive attribute called "smartopt".  If it has a value, the "-d ata" parameter will not be sent to smartctl, and instead the value of the "smartopt" custom drive attribute will be sent.  Setting "smartopt" to "-A" works for drives on the BR10i controller.

 

Let me know how it goes with this version.  I didn't do a lot of backward version testing (except 4.7), so if you do see anything strange happening with an older version, please let me know.  Can't promise anything, but I'll take a look and see if I can fix it.

 

Remember I just sent them to Joe so it may take him a little time to deply the fixes.

Link to comment

I do not think that Joe L has deployed the update yet.  The reason the IDs were not showing is because unRaid 5.0b6a (and earlier 5.0 betas too I think) stopped returning the serial number as a separate field. Instead the serial number is part of the ID field and must be computed. This was definitely one of the fixes I made.

Link to comment

I do not think that Joe L has deployed the update yet.  The reason the IDs were not showing is because unRaid 5.0b6a (and earlier 5.0 betas too I think) stopped returning the serial number as a separate field. Instead the serial number is part of the ID field and must be computed. This was definitely one of the fixes I made.

I've not even downloaded the patches yet.  so they are not yet deployed. :(
Link to comment

I do not think that Joe L has deployed the update yet.  The reason the IDs were not showing is because unRaid 5.0b6a (and earlier 5.0 betas too I think) stopped returning the serial number as a separate field. Instead the serial number is part of the ID field and must be computed. This was definitely one of the fixes I made.

I've not even downloaded the patches yet.  so they are not yet deployed. :(

I'm about ready to upload the changes to myMain, but wanted to show what it is doing on my server.

I have NO HPAs, but I do have an assortment of older IDE drives in the array, apparently with sizes that do not fit the current rule embedded in myMain.

 

Perhaps the logic can be simplified to only look at the last two digits of the size instead of the last three?  That still won't fix the bottom two disks... They are an old 250 Gig disk and a very old 8 Gig disk I use for testing. 

 

Joe L.

 

otf2ht.jpg

Link to comment

Ok Joe L., hold off deploying.

 

If 2 out of 2 had some form of false positive on HPA, then my logic is not sufficient.

 

There is the "hpa_ok" drive attribute you can set temporarily to have unRAID skip HPA detection on that drive, but I will have a fix out later today so you might just want to hold off.

 

sacretagent -

 

Could you please run the following two commands or your cache drive (500G Samsung) and post the results?

 

fdisk -lu /dev/sdp

 

hdparm -N /dev/sdp

 

Thanks!

Link to comment

root@p5bplus:~# fdisk -lu /dev/sdp

Disk /dev/sdp: 500.1 GB, 500107862016 bytes
1 heads, 63 sectors/track, 15504336 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdp1              63   976773167   488386552+  83  Linux
Partition 1 does not end on cylinder boundary.

root@p5bplus:~# hdparm -N /dev/sdp

 

/dev/sdp:

max sectors  = 976773168/976773168, HPA is disabled

 

Here you go :)

 

Link to comment

Thanks to sacretagent and Joe L. for helping me test this out.

 

(And special thanks to RobJ for identifying a massive number of drive sizes in THIS POST).

 

The updated myMain is ready to be deployed.  Joe L. is working on it.  Should be posted soon.

 

Once deployed, please let me know if you are getting false positives on the HPA detection logic.  If you have something odd (like a VMware image of a strange size), there is an easy way to turn off the warning on that drive.  And if you've got a prehistoric drive in your array, you may have to do the same.  But if you've got an off-the-shelf drive manufactured in the last 5 years or so, I will add it to the supported list if you run the following commands and send me the results.

 

fdisk -lu /dev/sdX

 

hdparn -N /dev/sdX

 

As always, comments and suggestions welcome!

Link to comment

Thanks to sacretagent and Joe L. for helping me test this out.

 

(And special thanks to RobJ for identifying a massive number of drive sizes in THIS POST).

 

The updated myMain is ready to be deployed.  Joe L. is working on it.  Should be posted soon.

 

Once deployed, please let me know if you are getting false positives on the HPA detection logic.  If you have something odd (like a VMware image of a strange size), there is an easy way to turn off the warning on that drive.  And if you've got a prehistoric drive in your array, you may have to do the same.  But if you've got an off-the-shelf drive manufactured in the last 4-5 years, I will add it to the supported list if you run the following commands and send me the results.

 

fdisk -lu /dev/sdX

 

hdparn -N /dev/sdX

 

As always, comments and suggestions welcome!

As an FYI, even the most recent fix you sent to me still shows HPA? on those 400Gig drives in my array.  Their size ends in 352 rather than 552.

 

I'm on the way out to a dance, but this evening I should be able to deploy the changes. 

(Got to have a social life too  ;D)

 

Joe L.

Link to comment

Of course you'd find the one typo in the valid parition size table! ;)

 

It was entered as 390771352 instead of 390711552

 

I have sent you a PM with the update.

 

Thanks again!!!

That was wrong, but the logic was still not working properly.

 

I needed to change this

else if( index(constant["ValidPartitionSizes"], "=" drivedb[ix, "disk_size_raw"]/1.024)  "," == 0)

 

to this

else if( index(constant["ValidPartitionSizes"], "=" sprintf("%d",drivedb[ix, "disk_size_raw"]/1.024) ",") == 0)

 

The result of the math

(drivedb[ix, "disk_size_raw"]/1.024)

was in exponential notation and needed to be forced into a decimal string format before the index in the string would work.

 

Now it works as expected here too.

 

Joe L.

 

 

 

Link to comment

Of course you'd find the one typo in the valid parition size table! ;)

 

It was entered as 390771352 instead of 390711552

 

I have sent you a PM with the update.

 

Thanks again!!!

That was wrong, but the logic was still not working properly.

 

I needed to change this

else if( index(constant["ValidPartitionSizes"], "=" drivedb[ix, "disk_size_raw"]/1.024)  "," == 0)

 

to this

else if( index(constant["ValidPartitionSizes"], "=" sprintf("%d",drivedb[ix, "disk_size_raw"]/1.024) ",") == 0)

 

The result of the math

(drivedb[ix, "disk_size_raw"]/1.024)

was in exponential notation and needed to be forced into a decimal string format before the index in the string would work.

 

Now it works as expected here too.

 

Joe L.

 

It's hard to debug for a drive you don't have.  Thanks for the debugging help on this one!

Link to comment

Ok Joe L., hold off deploying.

 

If 2 out of 2 had some form of false positive on HPA, then my logic is not sufficient.

 

There is the "hpa_ok" drive attribute you can set temporarily to have unRAID skip HPA detection on that drive, but I will have a fix out later today so you might just want to hold off.

 

sacretagent -

 

Could you please run the following two commands or your cache drive (500G Samsung) and post the results?

 

fdisk -lu /dev/sdp

 

hdparm -N /dev/sdp

 

Thanks!

 

One of my drives in my test server shows up with and HPA? beside it.  Below are the commands you wanted:

Disk /dev/hdb: 60.0 GB, 60022480896 bytes
1 heads, 63 sectors/track, 1860816 cylinders, total 117231408 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x00000000

  Device Boot      Start         End      Blocks   Id  System
/dev/hdb1              64   117231407    58615672   83  Linux
Partition 1 does not end on cylinder boundary.

 

/dev/hdb:
The running kernel lacks CONFIG_IDE_TASK_IOCTL support for this device.
READ_NATIVE_MAX_ADDRESS failed: Invalid argument

 

This is on a system running 4.7

Link to comment

One of my drives in my test server shows up with and HPA? beside it.  Below are the commands you wanted:

Disk /dev/hdb: 60.0 GB, 60022480896 bytes
1 heads, 63 sectors/track, 1860816 cylinders, total 117231408 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x00000000

  Device Boot      Start         End      Blocks   Id  System
/dev/hdb1              64   117231407    58615672   83  Linux
Partition 1 does not end on cylinder boundary.

 

/dev/hdb:
The running kernel lacks CONFIG_IDE_TASK_IOCTL support for this device.
READ_NATIVE_MAX_ADDRESS failed: Invalid argument

 

This is on a system running 4.7

 

Can you go to the myMain details view and confirm that the "Size (k)" column is 58,615,672 for that drive?

 

There will probably be a rash of these as people report their smaller drive sizes (which are probably mostly going to be cache disks).  I'll probably wait a week or so and then send an update to Joe L. with the updates to deploy.

 

I wonder why you are getting an error on hdparm.  Is there another way to verify there is no HPA on the drive?

 

 

 

 

Link to comment

Hi Brian,

 

I also have a HPA alert on my cache drive:

root@Tower:~# fdisk -lu /dev/sdc

Disk /dev/sdc: 320.0 GB, 320072933376 bytes
1 heads, 63 sectors/track, 9922896 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x00000000

  Device Boot      Start         End      Blocks   Id  System
/dev/sdc1              63   625142447   312571192+  83  Linux
Partition 1 does not end on cylinder boundary.

 

root@Tower:~# hdparm -N /dev/sdc

/dev/sdc:
max sectors   = 625142448/4385456(625142448?), HPA setting seems invalid (buggy kernel device driver?)

 

Drive size on details tab: 320,072,901

 

Is this mean I really have a HPA on the cache? I am not saying it's impossible (I don't remember when I formatted the drive and I have a Giga-Byte board), but none of the other drives are affected.

 

 

I thought it's also worth to mention that the drive assigned to the cache slot showed as 'New' if the array comes up in stopped state.

Link to comment

Sorry for the delay - somehow missed this post.

 

Attached is a copy of myMain.conf that should fix the problem.  Please try it out and see if it fixes your HPA detect.  Once I get confirmation I will ask Joe L. to deploy it.

 

The number you posted from the details page I believe is the wrong number (I need the "Size (k)" column). But I found a problem and fixed it and believe it will no longer report an HPA on your 320G dirve.

 

prostuff1 - this also includes the 60G drive you reported.  I am hopeful it doesn't have an HPA.  I did some searching on that number and found quite a few hits from Linux command outputs - so I am fairly confident there is no HPA.

 

Why is the cache drive showing as new when array is stopped?  When the array is running, the cache disk is mounted as /mnt/cache - and unmenu / myMain can use that fact to figure out what disk is the cache disk.  But when the array is stopped, it is not mounted and there are no clues of which is the cache disk (except maybe pouring through disk.cfg which unmenu/myMain do not do).

myMain.conf

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.