Saturday, June 9, 2018

Sleepy raid controllers and drilling holes

One of my hard drives started to misbehave seriously (and Harddisk Sentinel pretty much confirmed it is about to die).

I immediately picked up a new one, and was about to copy data from the old to the new drive when I realized I was running out of SATA ports. When I build my homeserver I picked a cheap case (actually: the cheapest I could find 😅) and somewhere in the back of my mind I convinced myself I could always add some drives later on.

Well, that turned out to be possible, but there were some unforeseen limitations...


SATA ports

My homeserver is using an Asrock mainboard with just 4 SATA ports (a clear oversight at the time).

To overcome the limited number of ports I added a SATA controller with two ports. Not for RAID purposes, just to add two drives. I picked op a SIL3115 based DeLock card, which works fine BUT doesn't support Wake On Lan, or better put: the drivers seem to be unable to handle a C3 sleep state.


In other words: I can see 6 drives after a reboot, but can only see 4 after a WOL. If you don't need WOL then this card is fine, but only then. (Check out Wakiewakie if you use WOL.)

I'm still fooling around with the BIOS settings, but haven't found a solution and guess I will never find one. The lack of a 'power management' tab in the driver panel is a telltale sign, I guess...

Oh well. I have two future options: increase the size of the drives currently in use (4 times 4 TB is still a whopping 16 TB). Or replace the mainboard (I've got another machine that the kids use, which is an older I3, and that's beginning to age somewhat when runnign games) with something with more ports.

So, summarizing: pick a board with sufficient SATA ports, don't try these controllers unless you want to add RAID functionality, and then perhaps you should pick a better (read: more expensive) one.


Mounting the drives

So, how to mount six drives? That all depends on your case. The cheap Antec case I used is supposed to mount six (!) 3.5 drives and three 5.25 drives. And indeed that is possible, though ventilation space is getting tight.


Ventilation is an issue anyway, especially when using older cases. And the Antec VSK400 case is, frankly, not just old but also a bit crappy. But it can be done 😇

Here's the Antec case, the Asrock mainboard, the DeLock sata card, and all six drives:


Since then I've changed the drives a little. Currently, the machine has 4 drives connected to the mainboard, and 2 to the PCIe controller. What drive number each drive gets assigned depends on who you are asking... BIOS, Windows, and mainboard all have them numbered differently...

From top to bottom:

Mainboard SATA:

HDD1 - WDC WD40EZRZ - 4 TB - D:
HDD2 - WDC WD40EZRZ - 4 TB - E:
HDD3 - Seagate ST2000DL003 - 2 TB - F: - refurbished
HDD0 - OCZ 60GB SSD - C:

DeLock PCIe SATA:

HDD4 - ST3000DM001 - 3 TB - G: - failing, health 85%
HDD5 - WDC WD40EZRZ - 4 TB - H: - failing, health 11%

Why an SSD? I was using an old Raptor 10K drive with Windows 7. I was hoping Windows 10 would boot a little faster with this SSD, and it does but barely noticeable. Oh well, at least this drive is more silent, smaller (better airflow) and uses less power so doesn't get warm.

That 2 TB Seagate is a replacement drive for an older 2 TB that failed me within the guarantee period. I suspect it's simply a new one with a different sticker, but whatever, it has been running fine.

The 3 TB Seagate is a lemon. It's out of guarantee, and two of its older brethern have already failed me. HD Sentinel keeps issuing a 'health'warning but it still works.

The 4 TB WD with health 11% is, unfortunately, still not acceptable to WD. It has lots of bad sectors, but (according to WD's diagnostic tool) not yet enough to qualify for guarantee. Pffff.

Update: it finally died.


Fan 1

I wanted some space between the drives for proper airflow, so decided to move three drives to the top of the machine, using a left-over drive cage from my last Ryzen 5 build, then used that drive cage to mount a fan:


I may replace the rubber mounting of the fan for something noisier (read: screws) so I can mount dust filters later... haven't decided yet.

The fan is an Arctic F12 PWM DST. These are nice and quiet.


Holes

This drive cage slots into the tree 5.25 slots at the top of the case. Unfortunately there's no proper way for the air to reach that fan, so I had to add some ventilation holes to the front panel. Actually, I drilled those holes in the blind panels of the 5.25 drives. And for good measure added a few for the bottom fan as well:


That took a little patience... carefully measure out, pencil out the heart lines, use a sharp object to create indents where the holes have to come, use a small drill for the first pass, then a bigger one for the final size.

If you are patient then this is quite doable. If you're impatient it is going to look like a mess.

I'm getting too old for fancy LED lights in my PC fans, but I guess they would have looked great in this build...


Fan 2

There's no space to mount a fan directly behind the plastic front panel on the metal chassis, so I had to mount the fan between the drives and the metal chassis. There's very little space there:


Again, I may have to re-mount the fan to add some dust filters. The amount of dust accumulated over two years was amazing!


Fan controls

This Asrock board only allows the CPU as the source for controlling a chassis fan (it has a mainboard temperature sensor, you just can't select it in the BIOS.)

In this little home server it doesn't matter much. File serving, as expected, doesn't cause any serious CPU load. Transcoding does, and transcoding on a single core does bring up the temperature to approximately 50 degrees C. According to the documentation this G3220 dual core Pentium has a max temp of 72 degrees, so I've set max fan speed accordingly. (The BIOS uses 80 degrees as default.)

I started with the following settings:

CPU temp / CPU fan speed: 30 / 20% - 40 / 30% - 50 / 50% - 60 / 80% - 70 / 100%
CPU temp / CASE fan speed: 30 / 30% - 40 / 30% - 50 / 50% - 60 / 80% - 70 / 100%

When idling the CPU stays just below 40 degrees. The front fans only run faster when the CPU is actually doing something serious, thus avoiding annoying spin up / down sequences.

Here's the result. From left to right a short while idling, then running Prime95 on both cores, then using USM while transcoding some anime (which only utilizes one core) after which the CPU slowly returned to a low usage state.


However, that wasn't perfect, because I still could hear the fan speed. Further testing showed that the CPU would never go above 45 degrees with any simple task, including limited transcoding and file indexing. I played a little with the fan speed, and after several reboots and trial runs decided on the following:

CPU temp / CPU fan speed: 30 / 30% - 40 / 30% - 45 / 30% - 69 / 80% - 70 / 100%
CPU temp / CASE fan speed: 30 / 35% - 40 / 35% - 45 / 35% - 69 / 80% - 70 / 100%

This effectively keeps the fans on the same speed until the CPU actually 'does' something and gets warm. As said before, it rarely peaks above 45 degrees. I could run the case fans a little slower, but I wanted to keep some air moving through the case all the time. (And I haven't added dust filters yet.)


Conclusion?

Yes, it all works. Just a pity the extra two drives mean nothing...

Update. Well, they just might work with the latest (June 2018) Windows 10 build... Too early to be sure, but still... Would there be something Windows 10 actually does right? Scary!

Update. Oh well, of course Windows 10 wouldn't behave any better... To be honest, it's probably the driver of the SATA controller anyway, but sometimes, just sometimes, all six drives were visible after a warm boot / wake up from sleep. With sometimes being the keyword...

Update. Many Windows 10 updates later, and it appears the drives are visible now all the time. Hmmm. Windows?


Old build here.

More about the software running on the homeserver here.





No comments:

Post a Comment