Development VM\Docker Server Configuration

So in my 2 previous blog posts, I went over why I’m building a custom built server in my house for development, storage (NAS) and testing (Docker). In this blog post I’m going to go over my setup and configuration of VMWare ESXi and some configuration & setup stuff I learned.

Frist, in my last post I mentioned that I was going to setup my RAID array as a RAID 5. After talking with some pro full-time IT\System Admin peeps I know, this is not the desired RAID configuration anymore. Basically, disks are now too large which pushes the total RAID size to the point where you’re taking a risk with your entire raid.  Drives have whats called a “non-recoverable read errors per bits read” rating, usually 10^14. This means that for every 12TB of bits read there may be 1 read that cannot happen and if that happens when you’re trying to rebuild your array because you dropped a disk, your entire array is hosed.

I’m already at that limit with 4 4TB WD Black drives in a RAID 5 configuration. Although I’ve rarely ever had an issue with WD drives (which is why I exclusively use them for spinning disks) I’ll be implementing a RAID 6 configuration for my home server. RAID 6 has 2 parity stripes which means if you did get an URE (Unrecoverable Read Error) the bit could be read from the other stripe.

IMG_6704

Screen shot above is converting from a RAID5 to RAID6 and adding 2 disks. This process took almost 5 full days with only 500GB of utilization on the array. So a LOT of time to do the rebuild, and a reason to have an external backup setup if you have anything important on that array. I’ll be keeping a spare disk

Once you get all your hardware installed into the case, it’ll be time to give it a boot, note this process takes a while. Then you’ll get to the LSI MegaRAID boot and you’ll have to configure your drives. This video (https://www.youtube.com/watch?v=KEmoon7eYf8) does a decent job of going over the setup of your raid using WebBIOS and this one (https://www.youtube.com/watch?v=v8ZfoEfGCgY) is also better to see what’s going on in the screen but there is only music.

IMG_6686

Note when you configure the RAID you have a few options for your Write Policy the default of which is “Write Through” this is the safest but has a performance impact. I used “Write Back” which is the highest performance\throughput mode but could lead to data loss if your system loses power during a write operation. For this, I have a UPS attached to the server and an agent VM setup to shut down the host safely during a prolonged power outage.

Once your array is created and healthy it’s time to install VMWare ESXi into your box. You can choose any path you want from here, but I recommend a bare metal hypervisor (one that doesn’t require a full host OS install) so you can allocate more resources to your guest OS’s. You can grab VMWare ESXi from here (https://www.vmware.com/products/vsphere-hypervisor.html) for free. It’ll start a trial, but you can convert to full time free (with a loss of some features) by installing the license. What what I can tell the only thing you loose is the ability to have a guest OS with more then 8 processors.

IMG_6721

Once you get ESXi installed, you should be prompted with a screen like the one above. You will need to ensure your IP address and network adapter are correct. You can press F2 to access the console and choose the correct adapter and set dynamic or static IP Address.

2018-04-25 11_31_35-Microsoft Edge

From here, all the work you will do in setting up ESXi will be via a web browser to your server’s IP address. You can manage, start, stop, adjust settings and monitor all aspects of your VMWare server from here. Note that not all browsers play nice with the ESXi WebUI and I recommend using Edge to play around with it.

In the next post I’ll go over some configuration and my VMWare setup.

If you’re a First Responder, or know one, check out Resgrid which is a SaaS product utilizing Microsoft Azure, providing free logistics, management and communication tools to first responder organizations like volunteer fire departments, career fire departments, EMS, search & rescue, CERT, public safety, security and disaster relief organizations.

About: Shawn Jackson

I’ve spent the last 12 years in the world of Information Technology on both the IT and Development sides of the isle. I’m currently a Software Engineer for Paylocity. In addition to working at Paylocity, I’m also the Principal of Resgrid, a cloud services company dedicated to providing logistics and management solutions to first responder organizations, volunteer and career fire departments, EMS, ambulance services, search and rescue, public safety, HAZMAT and others. My focus is building better businesses through the use of applied, targeted and tactical software development and infrastructure implementation. My passion is solving real world business problems with technology and constant learning, in the fields of technology, business and law. I hope you enjoy reading as much as I do writing. Although I may not post as often as I would wish when I do I try and have something useful to say. Although programming is a great creative outlet it sometimes is far to technical and detail oriented to be a stress free outlet for me. So I write on this blog and sometimes a couple others. I also write fiction stories in my spare time, when I have some!