I know this is 9 months old, but here is my experience.
Also purchased my first set of Seagate drives from ServerPartDeals (one x24, one x20, two ironwolf pro nt models) and was excited to try out 4kn. As related here, the warnings about multiple disks, production (fully installed) OS, etc are real. Ironically, with 4 drives plugged into my motherboard (2 on direct sata connections to CPU, 2 on some realtek controller or something) my first drive (the x20) successfully converted.
“Awesome!” I thought, “warnings are for the legal team to cover their rears.”
Next drive (the x24) started successfully, going… going… seemed to hang… waited an hour per stdout info… “Crap. Warnings were real.”
I had read in the man pages, other locations, and early printout from the setSectorSize option that if it seems to fail, you can try setting sector size again, and it may be able to fix itself.
aside: I powered off my system, unplugged the other 3 drives, and upon reboot, it stalled in early boot with repeated errors accessing the ATA device. Eventually boot continued but the drive would not show up at all with lsblk. I hot swapped it from the realtek(? again, don’t remember exactly which controller my mobo uses, I could look it up pretty quickly, but don’t think it is relevant) controller to a direct CPU Sata port, and it appeared with lsblk
. “phew! at least it isn’t completely destroyed, still have some sort of communication with the drive.”
I was unable to write to the disk, despite it showing up in lsblk
. Not even dd if=/dev/zero of=/dev/sda
worked. SMART also was not happy, read errors increasing at 60 errors at a time on each reboot attempt.
So at this point, instead of running from my production system (up to date Arch Linux on the lts kernel), I decided it may be necessary to put in the effort to get Seagate’s linux boot image on a usb drive and boot to that. It uses tiny core linux, boots with refind (imo a pleasant surprise), and has all the SeaChest utils installed. I couldn’t find (I didn’t try that hard to look) a seagate util to install this image from linux. They have a windows .exe that will flash the selected usb drive, and I just used that out of ease and quickness to get on with the project.
Booted into the usb, and since the format to 4k failed, I decided to re-run the setSectorSize back to 512 to hopefully “reset” it of sorts. It started the process, then not-quite-immediately the stdout printout stated that it recognized there was something wrong with the drive, possibly a previous failed attempt to re-format, and stated it would attempt a recovery. (I don’t remember the exact phrasing.) To re-iterate: I had only one drive connected to the system, and I was using a sata port that was directly connected to the CPU (not using a chipset controller). After several minutes, the command completed and stdout printout reported a successful recovery. “YEE HAW!”
At this point, I think I did a sanitize overwrite, but don’t remember. There are drive background operations going on in the drive after a format, as I understand, the spindle has to write each sector, but I don’t understand it entirely. vonericsen on seagate’s github has a bunch of info on it. I don’t remember exactly but I know that after this, in the seagate tinycore environment, I re-ran the format to 4k, and it was successful at this point. There were reports that x24 drives were failing format on the current version of SeaChest, and I was concerned about this, but those concerns were put to rest on this result of successful recovery and subsequent successful format to 4kn.
I rebooted the tinycore environment between each drive, and with each in turn connected to the CPU SATA port, the last two drives successfully formatted to 4kn.
After a reboot into my production, with the drives still in the middle of the background operations, I used the arch wiki badblocks#alternatives section recommendation to cryptsetup
& shred
zeros across all 4 drives simultaneously, to force the background ops to complete. All four passed the cmp -b /dev/zero
command.
Note: The x24 shows failed shortDST. SMART reports 170-something un-correctable read errors, but zero re-allocated sectors. I believe the uncorrectable read errors were due to my reboots between the failed format and the successful repair. The read errors haven’t grown since the repair. I tried a SeaChest --dstAndClean
, but the read errors are still recorded in the log. I am ignoring them, considering the drive in perfectly fine condition, and will just monitor for an increase from the current value, in addition to the other traditional indications of drive failure (reallocated sectors, etc).
This was long, hope it helps somebody.