January 28, 201115 yr So, does it? I have one disk in my unRAID array that previously used to be in my Gigabyte-based HTPC with HPA turned on. When I was adding this disk to my unRAID I assumed that preclear deals with this problem. But while I was reading the unRAID 4.7 announcement thread I saw that some people have problems with HPA reappearing after the update, so it made me wonder. So can you confirm that preclear removes HPA?
January 28, 201115 yr So, does it? I have one disk in my unRAID array that previously used to be in my Gigabyte-based HTPC with HPA turned on. When I was adding this disk to my unRAID I assumed that preclear deals with this problem. But while I was reading the unRAID 4.7 announcement thread I saw that some people have problems with HPA reappearing after the update, so it made me wonder. So can you confirm that preclear removes HPA? preclear DOES NOT remove an HPA. You must first remove the HPA, then preclear. Joe L.
January 28, 201115 yr Enhancement opportunity? Problem is there are many kernel drivers that report the wrong and impossibly huge native number of sectors. Joe L.
January 28, 201115 yr Author OK, so what should I do now? I've done a small research on the forum and found some info but I don't feel very comfortable with this. Would you mind helping me, please? :-) I've check my syslog and found this: Dec 10 15:38:06 Tower kernel: ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 300) Dec 10 15:38:06 Tower kernel: ata5.00: HPA detected: current 1953523055, native 1953525168 Dec 10 15:38:06 Tower kernel: ata5.00: ATA-8: WDC WD10EARS-00Y5B1, 80.00A80, max UDMA/133 Dec 10 15:38:06 Tower kernel: ata5.00: 1953523055 sectors, multi 0: LBA48 NCQ (depth 31/32), AA Dec 10 15:38:06 Tower kernel: ata5.00: configured for UDMA/133 I've seen it before, but I thought preclear could handle this. Never mind. Now I need to connect to my server via telnet and execute these commands, right? hdparm -N p1953525168 /dev/sde hdparm -N /dev/sde But shall I stop the array first? Parity check? Do I need to remove this disk form the array or restart my server? Will my data left intact? If not – can it be rebuild automatically? Or should I do that manually in some special way? How long you think it will take (1TB drive but only 15GB of data)? Do I need to preclear this disk after removing HPA? Does HPA on this disk corrupts in any way my parity data? I've been using unRAID for about 4 months (1,5 with this drive) and never had any errors after parity check. I would be really thankful for step-by-step instructions. And I promise to put them on the wiki by the end of the week :-)
January 28, 201115 yr OK, so what should I do now? I've done a small research on the forum and found some info but I don't feel very comfortable with this. Would you mind helping me, please? :-) I've check my syslog and found this: Dec 10 15:38:06 Tower kernel: ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 300) Dec 10 15:38:06 Tower kernel: ata5.00: HPA detected: current 1953523055, native 1953525168 Dec 10 15:38:06 Tower kernel: ata5.00: ATA-8: WDC WD10EARS-00Y5B1, 80.00A80, max UDMA/133 Dec 10 15:38:06 Tower kernel: ata5.00: 1953523055 sectors, multi 0: LBA48 NCQ (depth 31/32), AA Dec 10 15:38:06 Tower kernel: ata5.00: configured for UDMA/133 I've seen it before, but I thought preclear could handle this. Never mind. Now I need to connect to my server via telnet and execute these commands, right? Correct hdparm -N p1953525168 /dev/sde hdparm -N /dev/sde But shall I stop the array first? Parity check? Perform a parity check first, before doing anything. Expect no errors. If you have errors, they need to be resolved before you do anything about the HPA since you will be re-constructing the disk with the HPA onto itself reading from all the other disks in the server. Once the parity check is complete, stop the array. Run the two commands exactly as you described. The size you set is the "native" size listed in the syslog. Do I need to remove this disk form the array or restart my server?No, I don't think you need to do either. Will my data left intact? Yes, it will be intact.If not – can it be rebuild automatically? Or should I do that manually in some special way?The disk will be re-constructed onto itself. It will be written with its own contents for 99.9999% of the disk. The file system will be expanded to fit the new size. There is one issue though, those last few megs will contain the remnants of what Gigabyte stored there. They will completely invalidate the parity for those last few megs on every disk. (Normally a new/upsized disk would have all zeros and parity would be unchanged) Therefore, once you start the array, and AFTER it finished the re-construction, you must initiate a manual parity check. Expect some parity errors in the last few megs of the disk. They will be corrected when you perform the check. (You must NOT use the "nocorrect" version of the parity check. You want it to correct the parity drive. So, use the "Check" button on the normal unRAID management console web-page. How long you think it will take (1TB drive but only 15GB of data)?slightly longer than a normal parity check. Does not matter how many files are on the disk. Parity works on bits, on the whole drive, not on files. Do I need to preclear this disk after removing HPA? Does HPA on this disk corrupts in any way my parity data?No, and No. (not unless the HPA was added after you filled the drive with files, in which case it might have overwritten the last few megs of the disk. I've been using unRAID for about 4 months (1,5 with this drive) and never had any errors after parity check.That is great news, odds are everything will go smoothly for you. I would be really thankful for step-by-step instructions. And I promise to put them on the wiki by the end of the week :-) Hopefully you'll have what you need in this response. One last thing, you'll need to disable the "feature" in the Gigabyte BIOS that created the HPA. Otherwise, it will pick a disk and write one again... Joe L.
January 28, 201115 yr I wish you the best with hdparm I could never get it to work. In my searches, most people that tried were unsuccessful as well. It definitely is the slick and easy solution. If hdparm fails for you, you can try SeaTools. http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=203451&Hilite= Joe, Why would the parity set contain the HPA information for the disk that he is replacing? Shouldn't it just be like replacing a disk with a tiny bit larger disk and thus write zeros?
January 28, 201115 yr Joe, Why would the parity set contain the HPA information for the disk that he is replacing? Shouldn't it just be like replacing a disk with a tiny bit larger disk and thus write zeros? You might be right. If you let a full reconstruction take place. If you shortcut it, ("trust" process,) it will not.
January 28, 201115 yr Enhancement opportunity? Problem is there are many kernel drivers that report the wrong and impossibly huge native number of sectors. However, the Gigabyte HPA is very consistent. The difference between the native and current sector count is always 2113. Another check that's almost as reliable, the last 3 digits of the sector count of modern drives seems to be 055 for HPA, 168 for no HPA. Some older smaller drives had different counts, but still a difference of 2113. Seems a bit odd that all drives now, no matter what the size or vendor, seem to follow this 'standard' of a sector count that ends in 168. Obviously arbitrary, but good for unRAID.
January 29, 201115 yr Author OK, I tried to remove HPA from my disk earlier today and I think I've succeeded. First of all I've check parity without correcting – zero errors. Then I stopped the array and executed hdparm -N p1953525168 /dev/sde. The thing is I didn't know (and still don't) what to expect. So I pressed [Enter] and unRAID returned this: /dev/sde: setting max visible sectors to 1953525168 (permanent) max sectors = 1953525168/7368112, HPA setting seems invalid I've tried hdparm -N /dev/sde and all I got was the last line from the previous command. I was pretty confused at that moment because response was (at least for me) inconclusive. After that I decide to reboot my computer using HDAT2 boot CD, but this program clearly stated that WD10EARS does not have HPA. When I rebooted array was stopped and unRAID reported new disk (orange dot). To start the array I had to tick the checkbox, so the data rebuilding could be started. And after about five hours – zero errors. The final step was a parity check but this time with correcting. And here a strange thing happened – I was told to expect some errors but once again unRAID stated that everything went fine. So now I'm a little worried. Is my disk HPA-free or did I screw something up?
January 29, 201115 yr OK, I tried to remove HPA from my disk earlier today and I think I've succeeded. First of all I've check parity without correcting – zero errors. Then I stopped the array and executed hdparm -N p1953525168 /dev/sde. The thing is I didn't know (and still don't) what to expect. So I pressed [Enter] and unRAID returned this: /dev/sde: setting max visible sectors to 1953525168 (permanent) max sectors = 1953525168/7368112, HPA setting seems invalid I've tried hdparm -N /dev/sde and all I got was the last line from the previous command. I was pretty confused at that moment because response was (at least for me) inconclusive. After that I decide to reboot my computer using HDAT2 boot CD, but this program clearly stated that WD10EARS does not have HPA. When I rebooted array was stopped and unRAID reported new disk (orange dot). To start the array I had to tick the checkbox, so the data rebuilding could be started. And after about five hours – zero errors. The final step was a parity check but this time with correcting. And here a strange thing happened – I was told to expect some errors but once again unRAID stated that everything went fine. So now I'm a little worried. Is my disk HPA-free or did I screw something up? What do you get with hdparm -N /dev/sde If the number of sectors ends in 168, you are OK. If it ends in 055, you have a Gigabyte HPA. Joe L.
January 30, 201115 yr Author root@Tower:~# hdparm -N /dev/sde /dev/sde: max sectors = 1953525168/7368112, HPA setting seems invalid It looks like I should be fine :-) Now I only have to write a how-to for wiki :-)
January 30, 201115 yr Just pulled a drive from my WHS to put in my new unRAID box and low and behold, HPA Just want to say thanks to you guys for the once again fantastic information and help.
February 4, 201115 yr I had a similar problem which was indeed an HPA setting problem. You can follow that thread if you have a Seagate previously on a Gigabyte motherboard, or if you used it to upgrade a 2 TB Seagate to the CC35 firmware. [4.7] Can't assign Parity drive because it's 60 blocks too small!
August 3, 201114 yr I am not sure which thread should I relate my HPA problem to. I have selected this one, please excure me if, this seems to be a bit old thread........I had a gigabyte board with one 1TB and one 2TB HDD. My 1TB HDD was labeled HPA. Though 2TB one escaped and I was also able to run preclear on it. I did everything to get this rectified, finally after 3 days of head banging I gave up and managed to arrange an old MSI board (K9N6SGM-V) "for the time being". To my horror I still was not able to remove HPA from it. I ran the folowing commands as instructed by joe, assuming that I do not have to do anything in BIOS unlike gigabyte. hdparm -N p1953525168 /dev/sda hdparm -N /dev/sda (where sda is my 1TB drive that shows HPA) The following is the output root@SamTower:~# hdparm -N p1953525168 /dev/sda /dev/sda: setting max visible sectors to 1953525168 (permanent) SET_MAX_ADDRESS failed: Input/output error max sectors = 1953523055/7368112(1953525168?), HPA setting seems invalid (bug gy kernel device driver?) root@SamTower:~# root@SamTower:~# hdparm -N /dev/sda /dev/sda: max sectors = 1953523055/7368112(1953525168?), HPA setting seems invalid (bug gy kernel device driver?) root@SamTower:~# And since the last digits of the output are 055 and not 168 as suggested by Joe, I presume, HPA is not removed .... now please what do I do next. I have now even changed the board ..... please plase help as I have spend 1 week just struggling this HPA issue only and I still have to set up my NAS for proped usage .... Any help would be really really appriciated .... Regards Sammy
August 3, 201114 yr ok finally SOLVED ...... Seatools did the trick. For the record and for people struggling to get the HPA removed and who might stumble upon this thread.... first thing first 1. If you do not have the option of turning off the "HPA" thingi under gigabyte mobo... you CANNOT go ahead with gigabyte board. The only option is to change the board. BTW HPA under bios would be listed under advance settings with a label "copy bios to harddrive or something like that. 2. After changing the board, the sure shot way to remove HPA is to download Seatools for DOS[. Its an ISO image. Burn the ISO image on CD Disk and boot your unraid server from it. 3. After selecting the agreement, the nice GUI will be presented with your drives listed. Select the drive that has the HPA, go to Advanced features from the top menu, select Set Capacity to Max Native and exit. 4. Thats it, HPA is removed. Boot in to unraid again and at the prompt type the command hdparm -N /dev/sdX where X is your drive letter that has HPA. The out put for a 1TB drive should look something like this. The last digits if ther are 168 means the HPA has been removed .... root@SamTower:~# hdparm -N /dev/sda /dev/sda: max sectors = 1953525168/7368112(1953525168?), HPA setting seems invalid (bug gy kernel device driver?) All thanks to joe and all others who took time to explain things (not me directly , but to the fourm..... ) Now I can move ahead and assign the drives to the array ......
Archived
This topic is now archived and is closed to further replies.