Jump to content

[Solved] "Replacement disk is too small" but didn't change anything


joshstrange

Recommended Posts

My array will not start with the error:

 

Stopped. Replacement disk is too small.	Start	The replacement disk must be as big or bigger than the original.

 

But I have not changed my disks at all. I just upgrade the RAM in this server and it has been working fine for months. While replacing the RAM I accidentally knocked out the power for one of my drives and so when I first started it up 1 drive was missing but after fixing the power it came back however a different drive is showing as "Wrong Drive" (It showed that way with the missing drive as well).

 

I didn't change the drive at all and I didn't want to go mess with anything before I asked here first. I attached my diagnostics and a screenshot of the issue.

 

 

Lastly I ran lsblk on the server and I see this:

 

root@Tower:~# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    1  3.8G  0 disk
??sda1   8:1    1  3.8G  0 part /boot
sdb      8:16   0  2.7T  0 disk
??sdb1   8:17   0  2.7T  0 part
sdc      8:32   0  2.7T  0 disk
sdd      8:48   0  2.7T  0 disk
??sdd1   8:49   0  2.7T  0 part
sde      8:64   0  4.6T  0 disk
??sde1   8:65   0  4.6T  0 part
sdf      8:80   0  2.7T  0 disk
??sdf1   8:81   0  2.7T  0 part
sdg      8:96   0  4.6T  0 disk
??sdg1   8:97   0  4.6T  0 part

 

Which seems to indicate the partition is missing on this drive

tower-diagnostics-20170101-1436.zip

Screenshot_2017-01-01_14_31_30.png.2132b2634bde83117ae1281f8639db11.png

Link to comment

As Johnnie noted, you have a Gigabyte motherboard.  These often create a backup of the BIOS on the first hard disk that is enumerated when booting by creating a small "Host Protected Area" (HPA) on the disk -- which reduces the size of the disk by a few KB.

 

You obviously already had this backup on two of your other disks -- created BEFORE it was added to your array -- but when you had your issue a different disk was "seen" first by the motherboard, and as it didn't have an HPA, it created one ... thus when you resolved the issue and UnRAID saw the disk again, it was smaller than it had been.

 

On most recent Gigabyte boards, you can disable this feature -- just turn off the "BIOS Backup" feature in the BIOS.

 

Meanwhile, there are a variety of ways to resolve your current issue.  What I'd do is remove the HPA from the disk that is shown as too small -- and ONLY that disk.  If you remove the other HPA's, that will change the apparent size of those disks, which may cause more issues.  [The HPA isn't "hurting" anything -- it just makes the disk a tiny bit smaller ... this is really only an issue on a parity drive.]    Once you've removed the HPA from the "too small" disk, I suspect UnRAID will then rebuild the disk back onto itself ... but that's fine => when it's done your array will be back to normal.  But DO turn off the automatic BIOS backup feature in the BIOS, so you won't encounter this issue again.

 

Link to comment

Here are the steps I took to fix it:

 

 

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

/dev/sdc:
max sectors   = 5860531055/5860533168, HPA is enabled <--- This is the problem

 

 

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

/dev/sdc:
setting max visible sectors to 5860533168 (permanent)
max sectors   = 5860533168/5860533168, HPA is disabled

 

Note that I took the second number from the max sectors and plugged that into the command with a "p" in front of it. After doing this I was able to start the array and then it started a parity-sync.

 

 

 

 

 

Link to comment

... Be sure the disk you remove the HPA from is the one that's now shown as "too small".  This won't necessarily be the disk that you knocked the power from => in fact, it's probably not.  I suspect the disk you knocked the power from already had an HPA; but when it wasn't "seen" during the boot process a new HPA was created on the next disk encountered during the boot process -- THAT is the one you want to remove it from.  It's easy to identify which disk you need to fix -- it's the one shown as "too small".

 

Link to comment

Sounds like you've resolved it already.  I'm a bit surprised that it's doing a parity sync instead of a rebuild -- but as long as it didn't format the disk in the process everything should be fine.  I'd have expected it to do a rebuild -- but I suspect since it's the same disk (S/N identifies that), and it wasn't "red balled", that's why it's just re-computing parity.

 

 

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...