Sunday, June 23, 2013

Home Server Build - Part 2: Operating System(s)

When I started this project, I had some ideas on how to set up the server operating system(s) and configure it/them. Although I am technically inclined and good at many IT subjects, business servers and networking are still quite new to me. It's been two weeks since I finished building the hardware and I've already learned a lot. I've also learned I have a long way to go. The subject of servers can be described as at least two ecosystems of knowledge: Server types and systems, and Networking, which is inextricably linked to servers.

No battle plan survives contact with the enemy - Helmuth von Moltke the Elder

My goal is to learn as much as possible, especially for the first 180 days. Why 180 days? Microsoft has a "try before you buy" system for Windows Server 2012. You can download their latest server OS here and use it for 180 days before you need to either purchase a license or remove it. My first plan was to install Windows server as a host, running several virtual machines as in the drawing below.
Original Plan
There's a few problems with this.

  • It seems that parents don't inherit from children. In this case, the VM server running Active Directory (AD) doesn't control the host, so you can't log into the host as a user set up under AD.
  • My copy of Windows XP turned out to be the XP Home Edition, which lacks the ability to attach to a domain. There are hacks that allow you to do this, but most of the websites say to use a program that I can't find - it's an old hack.
  • It used to be that Linux and Windows didn't mix. That is not the case any more; you can attach a Linux machine to a Windows Domain, according to a few websites such as these two:


Now the setup looks more like this:
Plan B
I left the child Server settings alone, it doesn't seem to mind (yet?) and added AD/DNS to the roles of the host server. Now I can theoretically add all the VMs to the host's domain. So far I can log into the child server as a user set up under the host's directory, but haven't had time to hack the Linux systems to do the same. I added a second hard drive, but there is a conflict between how the drives are formatted and Windows is ignoring the larger drive. Learn about MBR and GPT formats. 

Conclusion

It seems a paltry amount to have learned in two weeks, but I've gained some valuable resources as well. A few things to take away:
  • The more you install operating systems, the easier it gets - practice makes perfect!
  • Start with a plan, but be flexible. Change according to new knowledge so you don't get stuck and frustrated.
  • Break it down. This is a lot to learn and it's easy to get overwhelmed. Take a breath, do one thing, then do the next.
  • You will make mistakes, so what? Mistakes are a great way to learn. Find a safe place to learn. I built this machine so I could break things without negative consequences. You can build your own, find a mentor, take a class - whatever it takes.
  • Teach what you learn. You will learn more this way because it forces you to think about the subject in a different way.

Resources:

  • www.google.com - It's the best place to start!
  • http://techandcoffee.info/tac-hangouts - Communities dedicated to a subject are filled with people who love to help. This is one of the good ones.
  • http://www.microsoftvirtualacademy.com/ - You can't beat free classes. This is a paradigm shift from old school philosophies on the economics of knowledge. The transition from knowledge as a commodity that is bought and sold to knowledge as a community benefit that needs to be shared as efficiently as possible is a subject that deserves its own book.
  • http://www.linux.org/ - Portal to free operating systems, their community, and the training to do whatever you need.