Repurposing/reformatting used NetApp Drives (520 -> 512 sectors)

 TLDR:

From a Linux System:

sg_scan -i  <--shows what drives are attached to the system

sg_readcap /dev/sg#  <--shows information on the drive in question

sg_format -v --format --size=512 /dev/sg# --six  <--reformats the drive in question to 512 sectors


NetApp and other manufactures will often format their drives to a different sector size, 520 is most common.  Unfortunately most computers/Operating systems can't deal with them; most only speak 512, or even 4k.  In my case I have a bunch of Toshiba 900gb SAS 10k RPM drives with NetApp firmware on them.  Interestingly the SAS controller doesn't even show them at post.  Using my trusted PartedMagic bootable thumb drive, the normal tools "Disk Health", "Partition Editor", and "Erase Disk" don't even see the disks.  They do show up in the hardware inventory though.  The solution is to do a low level format of the drives and resetting them to 512 sectors.

Open a command prompt; type: "sg_scan -i"; this shows what drives are attached to the system, in my case the physical drives start with "sg" then a number.  In my case it shows SG0 and SG1.  

Next verify what the drive specifications are:  "sg_readcap /dev/sg0"; in my case it shows that drive is set to a sector size of 520.  

Then type: "sg_format -v --format --size=512 /dev/sg0"; in my case I got a message about being illegal.  Normally this would work, but something peculiar about how NetApp treats the drives.  To get around this add the "--six" parameter.   This switch uses 6 byte MODE SENSE/SELECT to probe disk, instead of 10 byte mode; no idea what that means, but whatever it works.

The process took me about 7 hours on a PCI-e LSI SAS2008 Fusion controller doing a pair of 900gb 10k drives.  Reboot the machine, the drives show up at post, and are usable by the operating system.


Bonus Linux commands

type: 

"smartctl --all /dev/sg#" this will show further details on the drive including the hours of usage, power cycles, etc. 

"smartctl -H /dev/sg#" this will show health statics

"smartctl -t /dev/sd# short (or long)" this will conducts a smart test, FYI the short test takes about 5 minutes and the long about 2 hours on a 900gb 10k SAS drive

No comments:

Post a Comment