I have a server with a software RAID system.

There are 4 disk in the array:
4 x 4TB model WD40EFRX-68WT0N0

I noticed that the OS was reporting one of the disks to be 3TB, so I rebooted and checked in the BIOS and it also reports 3TB. Whereas it reports 4TB for the others.

The sticker on the physical disk says 4TB, just like the other 3. This disk has been in the server for several months with no problem. The only change I made recently is to update the OS (on a drive outside of the RAID).

I will replace the disk, but was wondering if anyone had seen this before and If there is a fix. Is it likely to be the HDD controller, the motherboard/bios (MSI/AMI), or something else? I put the drive in a different machine, and the BIOS there also reports 3TB.

Why is it exactly 3TB instead of 4? Seems too exact somehow.

more details on the drives: SATA, WD Red(tm), NASware(tm) 3.0


As per @shodanshok's request, here is the output from hdparm and smartctl. Looks like a Host Protected Area is enabled, and uses 1/4 of the drive.

$ sudo hdparm -N /dev/sda

max sectors   = 5860577134/7814037168, HPA is enabled

Can this have been set accidentally or by an OS install somehow?

and here's the output from smartctl:

$ sudo smartctl -a /dev/sda
 smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.19.0-32-generic] (local build)
 Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

 Device Model:     WDC WD40EFRX-68WT0N0
 Serial Number:    WD-WCC4E5RZJJUE
 LU WWN Device Id: 5 0014ee 2b7895291
 Firmware Version: 82.00A82
 User Capacity:    3,000,615,492,608 bytes [3.00 TB]
 Sector Sizes:     512 bytes logical, 4096 bytes physical
 Rotation Rate:    5400 rpm
 Device is:        Not in smartctl database [for details use: -P showall]
 ATA Version is:   ACS-2 (minor revision not indicated)
 SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
 Local Time is:    Thu Apr 14 13:58:53 2016 IST
 SMART support is: Available - device has SMART capability.
 SMART support is: Enabled

 SMART overall-health self-assessment test result: PASSED

 General SMART Values:
 Offline data collection status:  (0x00)   Offline data collection activity
                                           was never started.
                                           Auto Offline Data Collection: Disabled.
 Self-test execution status:      (   0)   The previous self-test routine completed
                                           without error or no self-test has ever 
                                           been run.
 Total time to complete Offline 
 data collection:                  (53280) seconds.
 Offline data collection
 capabilities:                      (0x7b) SMART execute Offline immediate.
                                           Auto Offline data collection on/off support.
                                           Suspend Offline collection upon new
                                           Offline surface scan supported.
                                           Self-test supported.
                                           Conveyance Self-test supported.
                                           Selective Self-test supported.
 SMART capabilities:             (0x0003)  Saves SMART data before entering
                                           power-saving mode.
                                           Supports SMART auto save timer.
 Error logging capability:         (0x01)  Error logging supported.
                                           General Purpose Logging supported.
 Short self-test routine 
 recommended polling time:          (   2) minutes.
 Extended self-test routine
 recommended polling time:          ( 532) minutes.
 Conveyance self-test routine
 recommended polling time:          (   5) minutes.
 SCT capabilities:                (0x703d) SCT Status supported.
                                           SCT Error Recovery Control supported.
                                           SCT Feature Control supported.
                                           SCT Data Table supported.

 SMART Attributes Data Structure revision number: 16
 Vendor Specific SMART Attributes with Thresholds:
   1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       0
   3 Spin_Up_Time            0x0027   175   175   021    Pre-fail  Always       -       8241
   4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       14
   5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
   7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
   9 Power_On_Hours          0x0032   098   098   000    Old_age   Always       -       1992
  10 Spin_Retry_Count        0x0032   100   253   000    Old_age   Always       -       0
  11 Calibration_Retry_Count 0x0032   100   253   000    Old_age   Always       -       0
  12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       14
 192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       9
 193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       1830
 194 Temperature_Celsius     0x0022   114   108   000    Old_age   Always       -       38
 196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
 197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
 198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline      -       0
 199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
 200 Multi_Zone_Error_Rate   0x0008   100   253   000    Old_age   Offline      -       0

 SMART Error Log Version: 1
 No Errors Logged

 SMART Self-test log structure revision number 1
 No self-tests have been logged.  [To run self-tests, use: smartctl -t]

 SMART Selective self-test log data structure revision number 1
     1        0        0  Not_testing
     2        0        0  Not_testing
     3        0        0  Not_testing
     4        0        0  Not_testing
     5        0        0  Not_testing
 Selective self-test flags (0x0):
   After scanning selected spans, do NOT read-scan remainder of disk.
 If Selective self-test is pending on power-up, resume after 0 minute delay.

Modern HDD drives have a specific SATA command to limit the number of LBAs/sectors reported to the BIOS/OS.

Can you issue smartctl <disk> and hdparm <disk> -N ?

However, pay attention to not insert a numeric value after hdparm -N, and be sure to read the Host protected area section of hdparm manpage

  • Thanks again for your reply, looks like you are on the right track, so to speak. Is it safe to issue hdparm -pN7814037168? As this was part of a RAID, and has been taken out of the array, there's no worries about data loss. – Loopo Apr 14 '16 at 13:18
  • Hi, you should issue hdparm -Np 7814037168 <device> (please note that the p follow then N, not vice versa), the you had to reboot the machine. If data persistence is not a problem, the command should be relatively safe. – shodanshok Apr 14 '16 at 13:34
  • thanks: I did sudo hdparm -Np7814037168 /dev/sda and I got /dev/sda: setting max visible sectors to 7814037168 (permanent) max sectors = 7814037168/7814037168, HPA is disabled – Loopo Apr 15 '16 at 7:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.