RAID in 2018

Still Not Quite Obsolete

I’ve talked to a lot of professionals in the IT industry and some surprisingly don’t even know what RAID is!  Others think it is unnecessary, while some think RAID is a replacement for backups still (something admins and hardware techs have been harping about for decades now).  First, I’ll give a quick introduction into what RAID is, what it isn’t and its applications in the real world.

RAID stands for Redundant Array of Independent Disks.  I think the term is a little bit unnecessary in todays’ world but let’s break it down.

First of all we are talking about an array of connected, separate hard disk drives.  These could be 2.5″, 3.5″, SAS, SATA or SSD as far as our implementation and OS they are all essentially the same to the computer that they are connected to.

There are 5 levels or versions of RAID as follows:

  1. RAID 0 AKA striping (two drives required).  This takes two identical hard drives and combines their performance and capacities to make what appears to be a single drive.  Performance with 0 is excellent but the disadvantage is that a failure of any single disk will result in dataloss and the array going offline.  There is no recovery except for backups.   I never recommend RAID 0.
  2. RAID 1 AKA mirroring (two drives required).  It is called mirroring because both drives contain an identical copy of the data. Performance is enhanced on reads because data can be read twice as fast but simultaneously reading from the 2 separate hard drives at once.  There is a performance penalty in terms of writing since the data must be written to both drives at once (however this is usually not an issue for most servers since the majority are read intensive on average).
  3. RAID 5 (3 + drives required).  RAID 5 has in the distant past been one of the most common RAIDs as it provides enhanced performance and some redundancy but it is very prone to faults, failures and slow rebuild times.  It uses a parity drive that is essentially spread between the others but this parity often results in performance degradation unless a hardware RAID card is used.    It can withstand a single drive failure but NOT 2 drives.  Performance of reads is good but the parity calculations slow down performance.
  4. RAID 6 (4+ drives required).  Similar to RAID 6 but two drives are used for parity so it could survive 2 drives failing and is more fault tolerant.  It takes even longer to rebuild on RAID 6 than RAID 5. Performance of reads is good but the parity calculations slow down performance.
  5. RAID 10 AKA 1+0 (requires 4 or more drives).  It is a combination of the sum of two RAID 1 arrays, striped together as a RAID 0.  It delivers excellent performance and is fault tolerant (a drive of each RAID 1 could die without any ill effect aside from some performance reduction).  Rebuild times are similar to RAID 1 and are much faster than RAID 5 or 6.

Rather than over complicating this issue I will try to give a practical take in 2018 of what RAID means.  Some have said RAID is obsolete but usually they are referring to the nearly impossible resync or rebuild times on large multi-terabyte RAID 5/6 arrays.  I would agree there as I’ve never liked RAID 5 or 6 and whether you like it or not it is very impractical to use.

So what is the best way to go?

RAID 1 If you only have 2 drives then I think RAID 1 is an excellent trade off.  It is quick and easy to resync/rebuild, a single drive can die and you will still not have any data loss, yet when both are active you have a performance boost in

RAID 10 If you have 4 drives you gain extra performance in a RAID 10 configuration with fault tolerance that a single drive on each RAID 1 could die without dataloss.

The main disadvantage is that with RAID 1 and RAID 10 you are essentially losing 50% of your storage space but since storage/drives are relatively cheap I think it’s been a worthy tradeoff.

There are some people who spout that “drives are more reliable today” and “you don’t need RAID anymore” but I hardly find this true.  I’d actually argue that SSD drives may be more unreliable or unpredictable than mechanical hard drives.  One thing we can all agree on is that the most likely component to fail in a server is a hard disk and that’s not likely to change any time soon as much as we like to believe flash based storage is more reliable.  I’d also ask anyone who thinks running on a single drive (even with backups) that isn’t the performance benefit and redundancy worth running RAID?  I’m sure most datacenter techs and server admins would agree that it is much better to hotswap/replace a disk than it is to deal with downtime and restoring from backups right?

Now for the warnings.  RAID “protection” is NOT a replacement for backups even if nothing ever dies.  The reason for this is to understand the misleading term of RAID “protection” that some in the industry use.  It is true in sense that you are protected from dataloss if a single drive fails (or possibly 2 in some RAID levels).  However this doesn’t take into account natural disasters, theft, accidental or willful deletion or destruction of data.

I’d say as it stands in 2018 and beyond that everyone should be using at least RAID1 or RAID10 if possible in nearly every use case.  There are a few possible exceptions to this rule but they are rare and even then you should aim for as much redundancy as possible.

In conclusion, if you can use RAID 1, preferably RAID 10. If you can’t use RAID, learn and use it anyway.

Cheers!
A.Yasir

Ethereum’s Issues Stem From the Basics

Ethereum is certainly #2 in the market capitalization only second to Bitcoin but it doesn’t mean it’s as easy to use.  In fact I suspect my recent experience is what is keeping it from rising, Ethereum makes me nervous and reluctant to use it everyday. As someone who has used the client’s/wallets for both I find Ethereum’s is cumbersome and at times impossible to use, thus preventing the user from using it to do any transactions at all.

Imagine if a simple eTransfer or Wire from your bank took over a week to initiate?  That’s way too long and beyond the purpose of the infamous but in practice non-realtime transactions in the cryptoworld.

I spent nearly a week syncing 4 months of blocks!

I needed to do a transaction in Ethereum and opened up my Ethereum Client which slowed my whole computer down and ultimately wouldn’t update past a certain point.

I consider myself an above average user who is good at troubleshooting issues.

I updated to the latest Ethereum client and that still didn’t fix it.

Some users suggest deleting the “chaindata” folder and that didn’t fix it.

Eventually I decided to do delete the whole “Ethereum Wallet” folder (never do this without backing up your keystore files safely).  Also be aware that this folder “Ethereum Wallet” is not where your keys/wallet data are stored.  In Linux they are stored in “~/.ethereum/keystore”which is very misleading when you have a “~/.config/Ethereum\ Wallet” (which is not where your wallet data or keys are stored).  I stress this because I came across many who had sworn off the Ethereum Coin and team because of this confusion where they lost their keys and ultimately their investment and coins.

The solution was to delete “~/.config/Ethereum\ Wallet” but the fun didn’t stop there.  It was updating so slow through the missing blocks that it felt like I was mining the entire blockchaining (you could literally count 1 by 1 as it was processing or sometimes it would take minutes on a single block).  I’ve been able to sync the whole Bitcoin or Litecoin Blockchain more quickly and without or much impact on my computer.

I decided to switch the chaindata for Ethereum to SSD it did speed things up but not significantly and still took about a day to catch up and my computer still did slow down.

What I Learned About Ethereum

For all of its features I think the team is out of touch with getting the basics right first, as evidenced by the “Parity” fiasco where through no fault of the users people have essentially lost or have 160M worth of Ethereum coins frozen and lost presumably forever.  I have never seen this with another major coin.

Nor have I seen or experienced the confusion on basics of why their client is so complex.  Why does it use another program geth to sync the data?  Why are there so many different choices, fast sync (which didn’t help speed things up for me), a MIST client and so many different confusing and unnecessary choices and complexity?

I like how I can just download the Bitcoin client or Litecoin client and it works simply, there’s no guessing or confusion.

When it comes down to it, if someone with my background is having to troubleshoot and it slows me down from doing transactions, or I fear my coins could randomly be lost it doesn’t bold well for Ethereum’s future.  I don’t mind leaving other wallets running but Ethereum just takes too much computing with SSH so it’s not practical.  I will consider Ethereum a wise investment with some risks I’ve highlighted above but for any cryptocurrency to truly be accepted and successful it must be secure, fast, reliable and easy to use (something which most cryptocurrencies still fail at if not for the reason that you require the whole blockchain to keep your money in your own possession or have to rely on dangerous uninsured third party exchanges or services that are often hacked).

As we can see below this is not a sustainable practice for cryptocurrency going forward and I will be posting more about how I think the future of crypto will be significantly different than we currently see.

Screenshot-Ethereum Wallet-19

Green Low-Power Alternative Computing Intel NUC Boxes

The key features of low power NUC boxes are that they are small,lightweight,portable,efficient and the low power means less heat and energy savings which all mean “Green Efficient Computing for the Environment”.  In addition consider that you could run these units without power on a UPS for a much longer period of time than most laptops or Desktop computers.  In an emergency or any issue with lack of power, these units will be first and foremost.

As a bit of continuation of my Green Computing talk these NUC boxes take it to the next level from Intel using low power laptop DDR3L SODIMM memory.  I recently bought a barebone Intel NUC J3455 Box for my wife and was impressed at the power usage (literally 10W to the wall at 110V!) and it is still a Quad-Core albeit with slightly lower CPU frequency of just 1.5Ghz but it works great for most functions.  I was able to upgrade it easily to 8GB of RAM (2x4GB), it has an SD card slot built-in, HDMI, VGA and 4 USB 3.0 ports and a 2.5″ SATA 3.0 port that I plugged a 256GB SSD into and installed Ubuntu/Linux Mint on.  It works quite well but there appear to be a few bugs and fidgeting required, for example the NIC cable came loose and it wouldn’t work until I replugged and rebooted it (actually the BIOS stopped showing the NIC at all so somehow it got disabled on its own and there was no option to rThe cheaper one on the left is bare-ones and e-enable or disable it in the BIOS).  You also have to disable the C-Step functions or the CPU doesn’t work properly.  In Linux it looks like there is a bug in the Intel Graphics driver for this model that sometimes causes the graphics/mdm to be restarted. Aside from the tinkering it is well worth the cost saving and works well and reliably.

One thing I will say I am a little surprised at is that the unit does get fairly hot if you are using it heavily and there is no fan in the Intel NUC which means things do get a bit hot (but nothing compared to a laptop).  It comes down to HDD, RAM and CPU being cramped into an incredibly small package.

The Vorke V1 J3160 is basically the same thing as above but does not have the 2 RAM slots (only a single).  However it is priced well and only uses 6W instead of 10W, quite the power savings!  I have purchased the unit below but have not had a chance to test it but I am hoping for the same or better results as the Intel J3455 unit above.  I love how this one comes with 4GB RAM and 64GB SSD out of the box and includes Windows so it’s ready to go out of the box (many like me will just be installing Linux though).  It can serve as an excellent backup box (eg. plug it in somewhere else and hook up a bunch of large USB 3.0 HDDs and keep another copy of your data). Or in my case it could just be an excellent “stand-by” computer with a mirror of your current config “just in case” your main unit goes down you could get going instantly with the backup one.  One other feature I am hoping for in this unit is to see the BIOS is a little more stable and less buggy than Intel’s.  Finally I am hopeful the unit will run cooler due to the 6W CPU and built-in case fan which I think Intel may want to consider too.   Time will tell but I am looking forward to getting a chance to open and test the Vorke V1 and hope they will keep producing similar units.