Technology is always evolving, and it is important that a professional in the IT industry is always finding ways to stay on top of the changing technological landscape. A favorite method for IT professionals to accomplish this is by building their own personal lab computers. This presents an opportunity to test new software and hardware, and provides the ability to create a technology model of a business environment. The purpose of this project was to create a lab system to design and build technology models that mimic these environments in order to learn, demo, and find ways to benefit from these solutions.
The scope of this project was to build and establish a server with several different virtual machines (VM) and to establish some basic services to test and use. The server was custom built from individually purchased hardware components. It was set up with a type I hypervisor (software that allowed the computer to run virtual machines) on which we installed Windows Server 2012 and a Linux distribution hosts. Our primary goal was to establish services using a web, email, and private cloud storage server.
Part of our plan for building the server was picking individual PC components and then assembling it. We ordered the following components:
The parts we ordered from Newegg and Amazon arrived on time. The Western Digital hard drive came from a pre-existing inventory of spare parts and was repurposed for this project. Assembly went smoothly and the server worked immediately on boot up.
Initially, there was an issue with getting the network interface card (NIC) to recognize the network through the hypervisor, but it was just a case of making sure the right NIC was connected out of the three available. After completing the hypervisor installation, we proceeded to install VM hosts of Windows Server 2012 and Linux. Both installed without issue with Windows being installed on the SSD with a 40gb partition, and Linux was installed on the HDD with a 30gb partition. Windows Server was used as a domain controller, and it is always a good idea to have a backup so a second Windows VM was also set up for that purpose on the HDD. We established admin control on Linux, and set up Active Directory on Windows.
After setting up Linux with user accounts with admin rights, we needed to establish a domain for the VM server. We already had a domain available from a prior project at Namecheap.com, and it offered dynamic dns services for the domain. We were able to enable that feature so that we could assign a subdomain name to the server and still be able to access it even if the IP changed. The server was being hosted through a residential cable internet service provided by Comcast. With a subdomain name established and opening the appropriate ports in the firewall, we were finally ready to access the services from the VM hosts.
Overall, the project ran smoothly and efficiently. As a team we worked really well together. We established google docs for all of our deliverables, and we were able to stay on top of the project at all times. We communicated really well together, and were always on the same page. We built a virtual machine server which is what we set out to do. We established three services within the server, those being web, cloud storage services, and email services being the only service that was not fully realized. We've created user profiles for each of us, and have been able to interact with each other on the server using these services.
The biggest challenges presented were version conflicts between Windows Server 2012 and Exchange 2010. After some research, it was discovered that Exchange would only work if upgraded with at least service pack 3. Another challenge was configuring our private DNS server so that email records would properly route to the email server. With the lab system being hosted on a dynamic internet IP, we couldn't configure the dns records to a static IP. We had access to a service called FreeDNS from the domain registrar “Namecheap” that allowed us to establish a URL with dynamic IP updating enabled in case the server’s internet IP changed. We did this in an effort to use the URL as part of the MX records. Namecheap also offers a DNS that we tried to use to establish MX records for email delivery. The problem is that our private and Namecheap DNS servers would not be in sync because of the dynamic IP issue, and if we had gotten internet email working, this would have been a long term challenge.
While we didn’t fully achieve our email goals, we did establish the infrastructure required for email along with a website using Outlook Web App (OWA) to access it. While we can’t send emails over the internet, it does work between users on an intranet. If at any point in the future a static internet IP can be established like those acquired through business internet accounts, it might be possible to actually establish internet email on the Exchange server. At a minimum it made us aware of the current atmosphere in email configuration and security because of all the challenges.
In its current state, the server has many applications for future use. With its current virtual machines, other services can be established like FTP, Remote Apps, VPN. While they are not necessarily needed, they would be good exercises in system management. Since Jose has an interest in database and application development, he has a platform to setup a web development platform using either ASP, JSP, or PHP while being able to also integrate an RDBMS like Microsoft SQL or mySQL.
The most obvious use of the server is its ability to create new virtual machines. It can be used to test the latest operating systems in a safe environment that won’t affect other systems. Since virtualization has been established a valuable technology, it is the perfect platform to learn how to manage its resources as new virtual machines are being created.