Review.IT – Hardware for a data recovery machine in the home lab

As some of you may remember, I have written about data recovery tasks in previous posts. In this post, I want to talk about the hardware that I have used, and mention some limitations when choosing and using particular hardware. Actually, the basic requirements of a data recovery machine for the home lab are similar to those requirements of a standard PC. It doesn’t need to be a very powerful gaming PC – just needs to be able to connect disk drives of all sorts, and have storage capacity – but we will go through this.

So what can we do with this data recovery machine in the home lab? We should establish this so that we can adjust our requirements. Typically, we would be dealing with recovering data from a disk or data storage device, that has either suffered from a virus corruption, possible logical issues like reformatting and/or the usual thing that has happened after an update has gone wrong, and the disk no longer boots. We won’t necessarily be involved with the physical or electronic repair of a spinning disk drive that involves removing platters, replacing heads, or head amplifiers – but we may deal with a disk that has some unreadable sectors. Now that we know what this machine will be used for, then we look at the requirements.

The CPU – this is the heart of the machine. Any recent CPU can be used – it could be from Intel or AMD. Although not absolutely essential, I recommend that the CPU have internal graphics. I am currently using an AMD Ryzen 5 3400G, but have successfully used an AMD Athlon II X3 420e for many years, then later, an Intel Pentium G4560. The old Athlon II X3 420e didn’t have internal graphics though, so it was paired with a low end video card. I preferred at that time to use a fan-less video card, since the graphics requirements are quite low, and being fan-less would mean that it uses less power and generates less noise, especially if the machine is running for many hours (days) at a time.

The Motherboard – this is the body of the machine, where all the peripherals connects to. Ideally, we should be able to install at least 8GB of ram, and preferably 16GB – my Ryzen has 16GB. It should have a number of Sata ports – depending on how many disk drives we want to connect at the same time. It could also have onboard M.2 sockets – one or two – but this is also not critical as we can get away with using adapters – which I will mention later. There should be a number of USB ports, but most of the recent motherboards already have these anyway.

The Case – this is the box that everything will be installed in. I would suggest something like a mid-tower case with a number of 5.25″ front bays. Any power supply should be sufficient as long as you have enough Molex or Sata power connectors to suit the number of drives you want to run at the same time.

Ok – that’s it, or is it? I didn’t mention IDE disks, did I? No, but that is because only the very old PC’s use IDE disk drives. We can cater for these by using external disk cases, that can take an IDE disk, and plug into a USB port, or even a Firewire port.

Now we look at some limitations of the motherboards and how I overcame them. The motherboard might have M.2 and Sata ports. One great example is the MSI Z270 Krait Gaming that I had paired with an Intel Pentium G4560. It had internal graphics which was great. It also had two M.2 slots that were NVMe compatible – which was really handy when I was copying and extending a NVMe disk for my brother’s Lenovo laptop.

One of the problems with using M.2 slots is that they do take away from your Sata ports depending on what you install into the M.2 slots. Here is a clip from the Krait Gaming manual.

From the table, we can see that installing a Sata device into M2_1 would disable Sata1 and installing a Sata device into M2_2 would disable Sata5, but then installing two NVMe devices into the M.2 slots would disable Sata5 and Sata6. Effectively this means that using one Sata M.2 device will limit your Sata ports to 5 in total – which in reality is quite reasonable. So I had used a 240GB M.2 Sata SSD into port M2_2 with that motherboard and was still able to use 5 Sata ports.

One thing I should note, is that the motherboard sata ports are not meant to be plugged and unplugged a lot. In fact most of the manufacturer specifications for the Sata socket itself say that its durability is quite low at max. mating cycles = 50. I got around this limitation by using a hot-swap Sata disk chassis. There are quite a few of these around, but the one I am using, was bought many years ago. It was a Norco SS-500 5 Bay Sata/SAS Hot Swap Rack Module.

This is a picture of what the Norco SS-500 looks like – but it is actually installed with the trays in the vertical position

This rack module comes with trays that will accept either 3.5″ Sata disks or 2.5″ Sata disks. It is powered by two Molex connectors. The rack module will use up 3x 5.25″ external case bays – one of the reasons why I suggested a mid-tower case. One of my initial problems encountered with this rack module, was that my case had bay guides and my rack module didn’t like that, so I had to bend the thin metal guides out of the way so that I could install the rack module. An alternative would be the Norco SS-400, which is 4 bays, but allows it to install into cases where the bay guides cannot be bent out of the way.

This Norco SS-400 would then fit most of the cases with bay guides and uses up three 5.25″ front bay slots

The case I used is quite an old one. It was a Cooler Master 334U and looks like this.

My Norco SS-500 was installed in the top three 5.25″ bays. The case could handle a full size ATX motherboard so was fully compatible. With the MSI Z270 Krait Gaming, I could have an internal M.2 SSD and be able to connect to five sata disks. Each Sata disk would be installed into a tray, then I would install each tray as needed. I might have a scratch disk, i.e. a disk that can be written to for either taking an image or for temporary usage. I could have a bulk storage disk, like a 4-8TB disk to keep disk images on and other disks if I want to do disk-to-disk copying/imaging.

Earlier this year, I decided to upgrade my CPU/Motherboard combination to make my data recovery machine into a more general purpose machine. I bought an AMD Ryzen 5 3400G cpu that has integrated graphics (Radeon Vega 11) and paired it with a MSI B450-A PRO MAX motherboard. The motherboard comes with 6x Sata ports and 1x M.2 slot. Unfortunately when the M.2 slot is used, it disables Sata5 and Sata6. Then I was limited to 4 Sata ports if I used my M.2 slot.

To fix this, I decided to do two things. I would get from ebay, a couple of disk adapters, those that take a M.2 device and convert it to a 2.5″ Sata disk. Then in addition, I would get a Silverstone FS202B 3.5″ to 2.5″ Hot Swap Drive Bay.

The Silverstone FS202B takes two 2.5″ Sata drives – I only needed one, but the second might be handy in the future

The Silverstone FS202B could then be installed into one of the front 3.5″ bays, and give me access to the full six Sata slots. It has a trayless design, and can handle two 2.5″ disks, but I would only use one for the time being. I can use this in conjunction with the M.2 to Sata adapters for booting my operating system that I will mention in a later post.

An alternative to the Norco SS-500 in a trayless design would be the Icy Box IB-565SSK. The Icy Box will only take 3.5″ drives, so to use a 2.5″ would require a 2.5″ to 3.5″ bay converter or caddy. However, in the future, I might move towards getting a rack module that is trayless like the Norco SS-400 which gives me 4x 3.5″ slots, then will be able to use both of the FS202B 2.5″ drive slots. If I ever need to connect more than two 2.5″ drives, I can then use a converter.

Newer case styles have moved towards reducing the number of front 5.25″ bays. Many of the lower cost cases have only two bays, so a suitable alternative is something like the StarTech 3-Bay Hot Swap Backplane that fits into two bays. To get more front bays, you will need to look at larger and more expensive cases.

I haven’t mentioned a hardware write blocker. This data recovery machine is for a home lab, but depending on your budget, you can get a write blocker. Usually a write blocker is a USB connected device that allows connection of Sata/SAS disks or even IDE disks such that any writes to the disk are disabled/blocked. We would definitely use a write blocker if we wanted to make a proper forensic image that is needed for legal reasons.

For a home lab, a hardware write blocker is not necessary – but if what we were doing is needed in court, then a write blocker is a must – along with proper chain of evidence documentation. If you wish to get a write blocker, you should use one that is approved and tested.

So that is almost it – oh, one more thing, you can also get an Orico 1106SS that is a 5.25″ to 3.5″ Sata Hot Swap Rack – also trayless, allows you to use a spare 5.25″ front bay. There are also modules that convert mSata to Sata. It all depends on what devices you want to read or recover from. The options for the drive configurations are numerous. If you are mainly working on laptop data recovery, then you need fewer 3.5″ slots. The bare minimum would be three – an operating system drive, the source disk, and the target disk. Once the imaging has been done, swap out the source disk and put it away, since all work will be done on the target disk, or a scratch disk that is inserted afterwards.

Anyway, I hope you enjoyed this post – that discusses some of the requirements of a data recovery machine, which basically summarizes down to how many concurrent disk devices you want to use. You can make do with less, but that means moving data around. One thing I didn’t mention was network storage – instead of copying disk images to another disk, you could use network storage – I do have that as well, but found network storage to be a lot slower than physical disk to disk. If I want to make an image of a 2TB disk, then I need to be able to store that 2TB disk image somewhere, and usually is to a bulk storage disk like a 4TB or larger disk. Once I have the disk image, then I like to copy the image back to a physical disk after removing the original source disk, so it helps to have a number of scratch disks available whose contents you don’t care about, once the job is done.

Refute.IT – Misconception “Graphics cards used for cryptocurrency mining have been abused, don’t buy them!”

To give you a bit of background, I have built mining rigs in the past for cryptocurrency mining. In my earliest forays into mining (2013), I was using Radeon HD R7950, R7870 & R7850. Then four years ago (2017), I invested in a Radeon RX570 & RX580. Unfortunately I didn’t like the RX570 and RX580 because they would get quite hot, so they didn’t even pass my testing and were boxed back up. Then I got to try some nVidia cards, namely a GTX 1060, GTX 1070 & GTX 1080Ti. I liked the GTX 1070 so got more of those. I also used the GTX 1080Ti for my gaming and got another one. I also tried a couple of GTX 1080’s. The nVidia based mining rigs got dismantled in 2019.

Over the past year, I had been disposing of my graphics cards. The Radeon HD series are a very much older generation of cards, so I didn’t expect to sell them due to the low demand. The nVidia GTX 1070’s, 1080’s and 1080Ti are two generations behind, but there is still some good demand for them. However, one of the comments that I was getting from people – who find that these cards had been used for mining – is that they have been thrashed to within an inch of their life – a paraphrase, that is. The conception is that if the graphics card was used for mining, they have been overclocked, overheated and are no longer reliable so should not buy them.

I did sell a number of the cards anyway, and those people who bought them got a really good deal, since I never overclocked them, didn’t overheat them and generally sold them while there was still some manufacturer warranty remaining. Now though, the 3 year warranty has run out for the rest of the cards, and with the recent releases of the nVidia RTX series, and the rise in price of BTC, the demand for these older cards has increased, so maybe I should sell them or put them to good use.

The increase in demand of second hand graphics cards, is due to miners buying up the latest generation of nVidia graphics cards, and also the previous 20×0 series as well. This global demand has also caused price increases, so much that gamers are having to pay a premium, if they can even find someone that has stock on hand. This has forced gamers to look to the second hand market to get decent graphics cards.

Ok – to cut to the chase, it happened that I managed to get hold of a MSI RTX 3070 Gaming X Trio a few weeks ago for AU$1380. If I want to get another RTX 3070 today, I can – but the lowest price that I can find now, is AU$1990. Anyway, the RTX 3070 sat in its box for a couple of weeks because I was planning to swap my current gaming card, a GTX 1080Ti with it, when I reorganize my study. The reorganization would allow me some downtime to work on the computer. Do to work demands, that got a bit delayed, so I thought I should try the RTX 3070 at mining and while I was doing this, to refute the misconception that mining is bad for graphics cards.

Let’s put ourselves in the shoes of the miner – what does a miner want from the graphics card? The answer is – they want the graphics card to make money in the form of Bitcoin or equivalent. If we look at it from the point of an investment, we have the cost of the graphics card, and we want to make a ROI in a reasonable time, after which we start making a profit. Unless you have access to free electricity, we have to pay for electricity, and this is where I am coming from. Most miners that I know of, want to make as much BTC as they can, as efficiently as they can.

So – what does this mean? If we want maximum BTC, we would run the graphics card as hard as possible, but then it consumes a lot of power. Think of the graphics card as a car – we can drive it fast, but the faster we go, the more petrol is used, get it? Petrol costs money unless we have free fuel, but if we drive it more conservatively, we get more mileage out of the tank. The return we want from the graphics card is like the maximum mileage from a tank of petrol for our car. Now, back to the graphics card – we want to mine at a point where we get maximum BTC for the power it will consume. This is in the form of BTC/W but that is a hard number of calculate, so we make it simpler. Let’s think of what the graphics card is doing. It is calculating a hash for the particular algorithm we are targeting.

For DaggerHashimoto, or Ethereum, the hashrate is in terms of MH/s – MegaHashes per second. But, hang on – we want maximum hash per Watt, so it becomes MH/J or kH/J. As it happens, the Nicehash QuickMiner as it is mining, will give a readout of hashrate, power consumed and efficiency.

The picture above, shows what my RTX 3070 is doing right now, as a single graphics card in my test mining machine. Now, I will explain how I got there.

I have a MSI Z270 Krait Gaming motherboard with a Pentium G4560 cpu. It has 16GB of ram installed – not that this is relevant since it doesn’t need that much ram. I installed Windows 10 on a M.2 SSD and installed nVidia drivers according to what Nicehash recommends. Nicehash is a mining platform that allows me to sell my hashing power and get paid in Bitcoin, so even if it is mining Ethereum, someone through Nicehash is paying me BTC for my hashing power. If I wanted to mine Ethereum – I could, but then I would end up with Ethereum, so would need to sell Ethereum to get Bitcoin. With Nicehash, some nice buyer will pay Nicehash for renting mining power, and Nicehash will in turn, pay me in Bitcoin for my mining power – a win win situation.

Ok, so more hashing power means more BTC – got it? But I have to pay the electricity, which for my area – costs about 31c per kWh. Now, with the single RTX 3070 installed, I also added the Aorus Engine, that is needed to perform overclocking or underclocking in my case.

By default, everything on the graphics card runs at a 100% power limit, so the first thing I did was to run the QuickMiner and then note down the average MH/s, power and efficiency numbers while I adjust the power limit. This next picture shows what I got.

I lowered the power limit 10% each time and noted the values. You might think that it doesn’t make sense, but that is what the numbers show. Each time I lowered the power limit, the efficiency went up. In fact there was very little change from 100% to 90%. Only a slight improvement at 80%, then at 50% – which was the lowest I could go, the difference in hashrate was still not much different to full power, but the power consumed went down from 184W to 120W. Why would a miner run the 3070 at 100% and get pretty much the same hashrate as at 50% and use 50% more power – get it?

The higher the power, the hotter the card gets. Hang-on, the picture shows a hashrate of 58MH/s – is this the same card? Yes! Once I know roughly what power limit I can get a good efficiency, now I can play with tuning other things such as core gpu clock and memory clock. If we raise the core gpu or memory clock – it consumes more power and gets hotter. The picture is a result of setting the core gpu clock lower at -400 and raising the memory clock by +1000. The main improvements came from increasing the memory clock, but then I chose to reduce the core gpu clock since it seemed to help as well as reduce the core temperature. Actually Nicehash suggests -500 on the gpu clock, and +1100 on the memory clock – but I like to be a little more conservative.

At a power level of 50%, core gpu clock lowered at -400, memory clock raised at +1000 – I get a hashrate of 58.33MH/s, but consuming about 112W and the efficiency at around 520kH/j. This is a big difference to running the RTX 3070 at default with efficiency of 280kH/J with a lower hashrate.

Is this sufficient to show you that graphics cards used for mining are not abused in any way? How hot is the card running?

The RTX 3070 is currently running at a temperature of 44oC – it fluctuates around 42-45 most of the time, depending on ambient temperature. Contrast this to a graphics card used by gamers. Gamers want performance out of the card and of the cpu. They want the cpu to run faster, so they like to overclock the cpu. Overclocking the cpu means that the cpu gets hotter, so they have to provide better cooling, like using liquid cooling systems. Similarly with the graphics card, they overclock it by raising the core gpu clock, then the card gets too hot, so they have to add more fans to improve airflow and also to extract the heat out of the case. The end result is that a lot of serious gamers run the graphics card a lot hotter than most miners.

I remember with the Radeon cards – having those running on a winter’s day was fine, made the corner of the house quite cosy – but during the summer, the heat was quite high. Imagine if I had to run the air-conditioner to keep the house cool because of the heat from the mining rigs. How much would the air-conditioner cost to run?

Choosing a graphics card for mining is not haphazard – we would weigh up the cost of the card, the possible hashrate we can get from it, power consumption costs and end up with a couple of things that we can use for comparison. A hashrate per dollar cost after adjusting for electricity costs, and an ROI term. The shorter the ROI term, the more likelihood that we can make a profit from it. But at the same time, from an investment point of view, we want to efficiently use our dollar, so a higher hashrate per dollar means we get more for our money. We have to weigh up these factors with availability, so I chose the RTX 3070 because I could get it, and the hashrate per dollar was good. How good? My estimates for the RTX 3070 are 0.00002150 BTC per Year, per Dollar with ROI of 8 months. My estimate for the RTX 3060 is 0.00002548 BTC/Yr/$ with ROI of 7 months. I am keen to see if I am right.

Anyway, I hope you like this article – which was to refute the misconception that you shouldn’t buy mining cards because they have been damaged or abused, and give you an insight to the way of the miner. The power costs are of course higher than this, but I am looking at the incremental cost of power for running the graphics card. For real life values, we also have to cater for the power consumed by the PC itself, i.e. motherboard, cpu, etc, if this is a dedicated mining rig.

I still have those 1070’s sitting around, I might get those back to mining, as BTC hit AU$83k recently and is currently sitting at AU$74k.

[P.S. The suggestion that running things at lower power improves efficiency, is not a new one. It happens with a lot of things you might use daily. I gave the car example earlier. Swimming pool pumps is another example – you need to run them a couple of times a day, for many hours at a time, to pump water through the filter and to chlorinate the water, especially if you have a salt water pool. It might surprise you, but you can buy devices that run the pool pump at a lower voltage, which still gets almost as much water through, but saving you maybe 20% of the power used. We should be asking, why don’t the swimming pool suppliers do this as a matter of course – good question, maybe a reader can answer that.]

[P.S. I also got hold of a RTX 3060 for AU$970 delivered. At the time I bought the RTX 3070, the RTX 3060 was AU$840 so should have got that at the same time – just giving you a hint of the price rises. The RTX 3060 arrived by Express Post yesterday morning. I might do another mining performance test on it, especially since nVidia said that they had modified the graphics driver to cripple the mining performance when a 3060 has been detected. This was done in an effort to make the RTX 3060 less attractive to miners, and leave them more available for gamers.]