February 4, 201016 yr Author Ooops. I missed that. I am changing it back now and rebooting I will post a syslog once done.
February 4, 201016 yr Author I changed back and rebooted and the array started with no issue. Let me know what step to take next. Here are the results of your script: root@Tower:/boot/scripts# unraid_partition_disk.sh /dev/sdh BLKRRPART: Device or resource busy ######################################################################## Device Model: WDC WD10EADS-00M2B0 Serial Number: WD-WMAV50195436 Firmware Version: 01.00A01 User Capacity: 1,000,204,886,016 bytes Disk /dev/sdh: 1000.2 GB, 1000204886016 bytes 1 heads, 63 sectors/track, 31008336 cylinders, total 1953525168 sectors Units = sectors of 1 * 512 = 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdh1 63 1953525167 976762552+ 83 Linux Partition 1 does not end on cylinder boundary. ######################################################################## ============================================================================ == == DISK /dev/sdh IS partitioned for unRAID properly == expected start = 63, actual start = 63 == expected size = 1953525105, actual size = 1953525105 == ============================================================================ root@Tower:/boot/scripts# root@Tower:/boot/scripts# unraid_partition_disk.sh /dev/hdc BLKRRPART: Device or resource busy ######################################################################## Device Model: ST3500410AS Serial Number: 5VM09ACH Firmware Version: CC31 User Capacity: 500,107,862,016 bytes Disk /dev/hdc: 500.1 GB, 500107862016 bytes 1 heads, 63 sectors/track, 15504336 cylinders, total 976773168 sectors Units = sectors of 1 * 512 = 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/hdc1 63 976773167 488386552+ 83 Linux Partition 1 does not end on cylinder boundary. ######################################################################## ============================================================================ == == DISK /dev/hdc IS partitioned for unRAID properly == expected start = 63, actual start = 63 == expected size = 976773105, actual size = 976773105 == ============================================================================ root@Tower:/boot/scripts#
February 4, 201016 yr I changed back and rebooted and the array started with no issue. Let me know what step to take next. Here are the results of your script: root@Tower:/boot/scripts# unraid_partition_disk.sh /dev/sdh BLKRRPART: Device or resource busy ######################################################################## Device Model: WDC WD10EADS-00M2B0 Serial Number: WD-WMAV50195436 Firmware Version: 01.00A01 User Capacity: 1,000,204,886,016 bytes Disk /dev/sdh: 1000.2 GB, 1000204886016 bytes 1 heads, 63 sectors/track, 31008336 cylinders, total 1953525168 sectors Units = sectors of 1 * 512 = 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdh1 63 1953525167 976762552+ 83 Linux Partition 1 does not end on cylinder boundary. ######################################################################## ============================================================================ == == DISK /dev/sdh IS partitioned for unRAID properly == expected start = 63, actual start = 63 == expected size = 1953525105, actual size = 1953525105 == ============================================================================ root@Tower:/boot/scripts# root@Tower:/boot/scripts# unraid_partition_disk.sh /dev/hdc BLKRRPART: Device or resource busy ######################################################################## Device Model: ST3500410AS Serial Number: 5VM09ACH Firmware Version: CC31 User Capacity: 500,107,862,016 bytes Disk /dev/hdc: 500.1 GB, 500107862016 bytes 1 heads, 63 sectors/track, 15504336 cylinders, total 976773168 sectors Units = sectors of 1 * 512 = 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/hdc1 63 976773167 488386552+ 83 Linux Partition 1 does not end on cylinder boundary. ######################################################################## ============================================================================ == == DISK /dev/hdc IS partitioned for unRAID properly == expected start = 63, actual start = 63 == expected size = 976773105, actual size = 976773105 == ============================================================================ root@Tower:/boot/scripts# The partitions are both sized to expect the full size of the disks, not the artificially shortened size. Now, how about the output of hdparm -N /dev/hdc and hdparm -N /dev/sdh
February 4, 201016 yr Author I get this error when running the command root@Tower:~# hdparm -N /dev/hdc /dev/hdc: The running kernel lacks CONFIG_IDE_TASK_IOCTL support for this device. READ_NATIVE_MAX_ADDRESS_EXT failed: Invalid argument root@Tower:~#
February 4, 201016 yr Author The /dev/sdh drive worked: sdh is disk1 which is the one it complained about when I made the change to the syslinux.cfg file root@Tower:/boot# hdparm -N /dev/sdh /dev/sdh: max sectors = 1953525168/1953525168, HPA is disabled root@Tower:/boot#
February 4, 201016 yr Author On some drives I get this: root@Tower:~# hdparm -N /dev/sdb /dev/sdb: max sectors = 18446744072344861488/2930277168, HPA setting seems invalid
February 4, 201016 yr Author OK I tried to go back to 4.5 beta 6 which is what I was using when I had no parity issues, but when it booted up with 4.5 beta6 I got the same error that the disk was too small and the array would not start. So I put 4.5.1 on and rebooted and the array is started again. The hpa switch in the syslinux.cfg file seems to do nothing in the 4.5 beta6 build of unraid. This HPA is really starting to get on my nerves. Disk1 (/dev/sdh) is the only one that seems to give an issue. There is an HPA on sdc as well because I used it from another windows machine that obviously had a HPA on it. I would really like to get rid of the HPA on both drives once and for all but I have absolutely no idea how to do this. The data on all of my drives is VERY important and I do not want to mess anything up just poking around. I will be out tonight but I would appreciate any next steps I should take. I really appreciate the help
February 4, 201016 yr Author lionelhutz mentions a way to do it but I would need huge guidance on it because I am not great at OS stuff and definitely do not want to mess up the 11 data disks I have in the array. Is there a step by step guide to do what lionelhutz is talking about? There has got to be a way to remove the HPA on the 2 drives without hurting the data. I am out for the night now with the wife but I appreciate any help I can get on this to get parity working with 4.5.1 Thx again for all the help.
February 5, 201016 yr It is my understanding you can only set the HPA once per power cycle on a hard disk. (A limitation of the hard disk firmware) So, since the HPA has already been reset once, when the linux reset it when if found the partition table used the entire disk, you will probably not be able to change it again until you power off and back on... But you can try... Type: hdparm -N p1953525168 /dev/sdh (the "1953525168" is the native size as reported in your syslog for that disk. Preceding the size with a "p" is the syntax for the hdparm command to make the change permanent. ) followed by hdparm -N /dev/sdh to see if it worked. For your smaller /dev/hdc disk, the hdparm command to reset the HPA would be (if it works on an IDE drive): hdparm -N p976773168 /dev/hdc followed by hdparm -N /dev/hdc If none of these work you might need to reboot without the ignore_hpa directive in the syslinux.cfg file, (the array won't start, but don't even try to start it, just type the hdparm command to set the HPA to the full size of the drive (effectively removing it). The, put the ignore_hpa parameter back in syslinux.cfg, reboot, and if you are lucky, the HPA will be gone.
February 5, 201016 yr I am out for the night now with the wife but I appreciate any help I can get on this to get parity working with 4.5.1 Thx again for all the help. Good to spend time with your wife... remember Valentine's day is approaching.... a card can't hurt. (Assuming it is a holiday you recognize.) Joe L.
February 5, 201016 yr It appears the newer version of unRAID is ignoring the HPA, due to that HPA command you added, and has reset the drive data to the full size of the drive. That's why the drive appears to be the too small when you roll back to the older version or remove that HPA part from the cfg file. So, remove that part again and reboot and then use the "restore" button and see what happens. Once the HPA is recognized by unRAID and the disks are put back to being the size that is available the array should be OK again. The parity appears trashed anyways. I downloaded the http://www.ultimatebootcd.com/ iso and created a disk. I then used the HDAT2 utility to remove the HPA. I can't remember the steps but it wasn't hard to do. I recall trying the commands Joe posted but it wouldn't work. Yes, you can only set the HPA once per power cycle. If the motherboard is still accessing it then you won't be able to get rid of it. My unRAID board is not a Gigabyte but I tried connecting the drive back to my Gigabyte HTPC that it came from and the board kept accessing it on boot. I finally connected a optical drive to the server board and did it there first try. Peter
February 5, 201016 yr It appears the newer version of unRAID is ignoring the HPA, due to that HPA command you added, and has reset the drive data to the full size of the drive. That's why the drive appears to be the too small when you roll back to the older version or remove that HPA part from the cfg file. So, remove that part again and reboot and then use the "restore" button and see what happens. Once the HPA is recognized by unRAID and the disks are put back to being the size that is available the array should be OK again. The parity appears trashed anyways. I downloaded the http://www.ultimatebootcd.com/ iso and created a disk. I then used the HDAT2 utility to remove the HPA. I can't remember the steps but it wasn't hard to do. I recall trying the commands Joe posted but it wouldn't work. Yes, you can only set the HPA once per power cycle. If the motherboard is still accessing it then you won't be able to get rid of it. My unRAID board is not a Gigabyte but I tried connecting the drive back to my Gigabyte HTPC that it came from and the board kept accessing it on boot. I finally connected a optical drive to the server board and did it there first try. Peter His partition tables on the disks are sized for the full size of the actual disk. I would NOT use the "restore" button. It immediately invalidates parity. From what I've heard so far, the parity errors are probably the 1 megabyte used by the HPA where no data exists from files anyway. I'd not use the "restore" button at this time... not yet. If you do use it, at least use the "trust-parity" procedure as described in the wiki. You'll at least keep some possibility of parity protection. We've already discovered the partition table in the MBR is looking for the full size of the disks with NO HPA. Since he can disable the new creation of an HPA, he is in better shape to remove it using the hdparm command. Joe L.
February 5, 201016 yr Author OK I ran the hdparm commands and here is the output. I want you to have a look before I do anything else. What next step should I take? Thx root@Tower:~# hdparm -N p1953525168 /dev/sdh /dev/sdh: setting max visible sectors to 1953525168 (permanent) max sectors = 1953525168/1953525168, HPA is disabled root@Tower:~# hdparm -N /dev/sdh /dev/sdh: max sectors = 1953525168/1953525168, HPA is disabled root@Tower:~# The hdparm command fails when run on the hdc IDE drive.
February 5, 201016 yr Author One other thing... I do not have any IDE drives in my tower. They are all SATA connections. Why does it say they are IDE?
February 5, 201016 yr One other thing... I do not have any IDE drives in my tower. They are all SATA connections. Why does it say they are IDE? Easy: You've set the disk controller to emulate IDE drives in your BIOS. (Yes, it is an option, usually for older OS that do not know how to use SATA drives)
February 5, 201016 yr The hdparm command fails when run on the hdc IDE drive. Either switch the drive temporally with one on the other SATA controller so you can give it the the hdparm command, or go into the bios and switch the drive controller out of legacy IDE mode. If you do this you will need to re-assign the drives on the devices page to their correct slots in the array, since it will think you put the disks on a new disk controller. Power down when you switch the cables, of course... It looks as if you successfully removed the HPA on the one drive. Score one for the good-guys...
February 5, 201016 yr One other thing... I do not have any IDE drives in my tower. They are all SATA connections. Why does it say they are IDE? Easy: You've set the disk controller to emulate IDE drives in your BIOS. (Yes, it is an option, usually for older OS that do not know how to use SATA drives) From your MB manual: OnChip SATA Type (SATA2_0~SATA2_3 connectors) Configures the operating mode of the integrated SATA2_0~SATA2_3 controller. Native IDE Allows the SATA controller to operate in Native IDE mode. (Default) Enable Native IDE mode if you wish to install operating systems that support Native mode. RAID Enables RAID for the SATA controller. AHCI Configures the SATA controllers to AHCI mode. Advanced Host Controller Interface (AHCI) is an interface specification that allows the storage driver to enable advanced Serial ATA features such as Native Command Queuing and hot plug. You want to change the SATA type from "Native IDE" to "AHCI" The disks will then show as "sdX" devices. You will need to re-assign the disks on the devices page, as to Linux it is as if they are on a new disk controller.
February 5, 201016 yr Author Joe, you read my mind. I was just going to ask that I have another option in the bios called OnChip SATA port4/5 type The options are: As SATA Type IDE IDE is selected right now.
February 5, 201016 yr Joe, you read my mind. I was just going to ask that I have another option in the bios called OnChip SATA port4/5 type The options are: As SATA Type IDE IDE is selected right now. Now you know why the disks are showing as IDE... ;D
February 5, 201016 yr Author Ok all changes made but now the PC sits at the "Verifying DMI Pool Data....." message
February 5, 201016 yr I guess then you need to put it back to IDE emulation. Now is not the time to be messing with boot codes to get you past that error. Just swap the cable between the disk you fixed with the hdparm command and the one reporting as IDE. Then you can fix it (remember, it will report as the other device) then switch the cables back if you don't want to re-assign the drives on the devices page.
February 5, 201016 yr Author It was my bad. I unplugged the USB drive when doing it and it changed my first boot device even tho I plugged it back in before booting Unraid is loading now. I will re-assign the disks. Once re-assigned is there anything special I need to do to start the array? Do I use start or restore? Thx
February 5, 201016 yr Author Rebooted fine. I had to re-assign 2 disks only. The rest were fine. Array started fine. I am doing a reboot again and will post a syslog shortly.
February 5, 201016 yr Isn't it nice when the BIOS helps you by changing the boot device when you are not looking.... (I'm certain it made sense to somebody) Glad you figured it out. I don't see any mention of the HPA any more in the latest syslog. Did you remove the one on the smaller disk by running the hdparm command on it? In any case, it looks encouraging. I'd give another parity check a try. Joe L.
Archived
This topic is now archived and is closed to further replies.