I'm the "Tech guy" (Analyst, technically, but I'm the only one who's not a secretary or sales agent in the company) for a small company selling office machines throughout Pennsylvania. We currently have two offices, one with a decent (work in progress) server and the other with a bunch of networked dinosaurs and laptops. I'm looking to bring these two offices together through a VPN tunnel and create a unified network that we can control from anywhere. The software part of this I have somewhat learned, but I need to build a server for location 2. My boss (the owner) is willing to purchase new equipment, but I need to make sure that I don't pitch something too expensive his way. In order to save money, I am not planning on going the typical rack-server direction, but rather a simple consumer board with components that can all be placed into an existing ATX case.
I'm probably going to be running server 2008 r2 and a Hyper-V VM to be used as a firewall (some linux variety or another with exclusive access to the outgoing NIC, still working on the details there). Obviously this means 2 gigabit ethernet cards at a minimum. There will be Domain Controller Active Directory roles to be filled by this server or a VM running therein, as well as DNS and NAT roles by either win2008r2 or the Linux instance, whichever is easier.
Overall, I just need help since the last time I built my own system was 2002, and I've only kept up with the best gaming values, not with server needs in mind.
For software, aside from the VM for a firewall, we will probably have one or more VMs for sales staff to remotely log into via iPad to operate some essential sales software built only for windows. We do not currently run our own website, but I wouldn't say it will never happen, just not right now. Again, I'd like to be able to run this all as VMs on this one computer without killing the domain controller jobs it will be doing.
This is a hardware forum, so my main question is one of hardware. What motherboard, CPU(s), RAM, HDD, SSD, etc do I need to purchase to make this a reality without busting my boss's bank? I would love to stay under $1K, but I'm not sure if I can get these needs met under that line. No monitor or keyboard, etc is needed. Just the stuff that goes in the box (PSU maybe if needed more than 400W).
That being said, any and all help related to this project is greatly appreciated and if you want to throw some advice my way, I'll definitely listen.
The biggest thing with an office server is availability and redundancy, and you wish to use high quality components to ensure you are getting the highest reliability. Given the need for high quality and redundant capable hardware alone, you might be able to get a entry-level server built for about $1,000.
However, you have quite a lit of virtual machines and additional needs that your server needs to accommodate than a basic file server. Tasks such as running a domain controller within a virtual machine on Hyper-V plus an additional virtual machine for security filtering/firewall, plus a few others for remote desktop sessions for end users, and this is starting to need quite a bit of computational horsepower, more so than you can get in a server for $1,000.
Yes, building your own may be a great way to save a little extra money, but it also comes with a lot of additional work in ensuring everything is compatible, everything is tested, everything is configured perfectly, etc. I built custom servers myself for a few customers, but recently due to the additional risk involved and work involved, for servers I tend to go with a ProLiant from HP. They are a little more expensive than a custom system, but the best thing to do is get the base system you need (processor, power supply, RAID controller, etc.) and then add in your own upgrades such as hard drives and additional memory to save some money.
For a server to fill all the needs you are looking at, I would recommend something with at least 24 GB of memory to be allocated out to your individual machines. Remember that with Windows Server 2008 R2 running Hyper-V you have to have enough memory to run that host OS as well as dedicating out enough to efficiently run all your VMs. Personally for me that means a minimum of 4 GB of RAM dedicated for each VM as well as 4 GB of RAM for the host Windows OS.
Because you've got several VMs in use as well, including remote desktop sessions that will be used concurrently with server environments, I would recommend looking into a nice dedicated RAID controller with onboard cache and SAS 6 Gb/s hard drives for the best performance. Going with regular SATA hard drives might get you by, but you will noticed the difference in performance. Hard drive prices are still high, especially on enterprise drives, but much better than they were. I ended up buying "new bulk" HP SAS drives from eBay with full 1 year warranty for less than half of what the same drives listed for on other popular sites including Newegg, and they even included the HP drive bay trays which alone can be hard to track down.
Are you specifically wanting to use a linux virtual machine for certain reasons to use as a firewall for your network? Unless there is a personal preference or specific reason for using a virtual machine, it may be easier and cheaper to instead consider a dedicated hardware appliance, such as the SonicWall TZ 100 or TZ 200. The benefit there as well is it can also work as your network router and control the site-to-site VPN tunnel between your two locations.
Without even figuring in software costs, I would recommend budgeting at least $3,000 for the server you described. Again, 24 GB of RAM at least, with a hyper-threaded quad core processor. A RAID controller with 512 MB of onboard memory, and redundant 500 watt or greater power supplies. I don't know what you have for storage needs, but creating a storage array of SAS hard drives is going to be your biggest chunk of cash really.
I'm really not a server expert by any means, but I've built various systems for small offices to use for file servers, domain controllers, and host a couple virtual machines using Hyper-V. Just going from my experience with these systems so far, I just don't believe it's going to be possible to run all the tasks you are looking for all on one server for $1,000 unfortunately.
Thank you very much for the reply. I would agree wholeheartedly with your advice if I were building this for a larger company. The company I work for consists of a total of 10 employees max. At any time, the most any user would be using a web browser with a few tabs open and a custom internal application that is rather lightweight.
I'm looking to get something that is pretty heavily multi-processing, but the domain aspects are pretty lightweight. In fact, the only reason that I'm even using a domain controller is because it centralizes permissions for directory and printer access. The Active Directory is the key part for us. I mostly am trying to create a demo environment. We don't _need_ to have all of this working all the time, but we demonstrate solutions for all kinds of customers, and most of them have domain controllers and active directory installed.
My choice of using linux over an integrated solution was partially because of familiarity with the OS, and partially because I want to learn more of that aspect of networking. With an out-of-the box solution, it works too easily for me. I need to know how and why it works so that I can troubleshoot it and not have to call in someone else to do so.
I guess I should have listed the educational aspect of this as well as the light scope of these machines. I'm currently running the domain controller for the site I work at on a machine with only 16GB of RAM and have two VMs running in it with mo problems. I"m relatively sure that I can run this with only 2GB or so per VM, and I'm open to limiting the number of VMs used. Since the sales staff will be remoting in via VPN on their iPads, this creates a secure enough tunnel that I would be comfortable using simple RDP with a terminal services type of implementation. It will only be about 3-4 users total per site, and again, they'll be using very light demands on the system. It is only for those things that they cannot do natively on the iPads.
So, here's my problem re-stated:
Main purpose: To create an active directory managed environment utilizing existing equipment with the addition of one more server to be built using as much desktop-level equipment as possible.
Secondary purpose: To expose self and teach self through design and implementation of this system the inner working of each layer of the office environment as concerns windows server domains and active directory in order to be able to gain proficiency in that area (I am a self-taught person through most of my life, this is another aspect of that. I plan to seek CCNA and possibly MCSE certification after I have familiarized myself with these systems and taken a course or two.)
Primary problem: To decide on the hardware configuration of the new server to be implemented at the satellite office.
Some preliminary ideas:
* CPU - As many cores as possible, in order to make multiple concurrent VMs and remote users possible (though the user load is very small)
* RAM - Reliability is important, speed is important. Again, enough for a couple of VMs, but with rather low usage.
* HDD/SSD - I'm thinking a RAID 1 + 0 array of about 1TB. This will give us speed and redundancy without too much complication. The drives themselves should be realiable, more important than the maximum possible speed. Brands and models known to be reliable would be greatly appreciated.
* Network controller - Again, I like the idea of using a fully built-from scratch linux VM to route traffic through the VPM tunnel to the other office. This would help with the goal of getting a better understanding of the underlying technology since I can see each component of the routing system as it's implemented. I could go for a router method if it was a major savings, but I doubt it would be less expensive than a free OS and an extra network card.
* OS - Mostly Windows server 2008 r2. Linux for routing as said above. If anyone has ideas of distros that would lend themselves to use as a firewall it would help.
The next factor you need to consider when trying to use standard desktop hardware for a server is compatibility with your operating systems. If you just go and buy a standard desktop platform motherboard with integrated controller, it most likely will not have proper drivers to run Windows Server 2008 or the best features for hardware pass-through to virtual machines. I have had customers who have tried to do this, running Server 2008 on a standard desktop system, and because there are no drivers from the manufacturer they were unable to get a RAID array to be recognized for installing the OS due to lack of drivers. Even with a single hard drive, there were driver issues with the integrated graphics and were completely unable to use the onboard network card.
To get what you are wanting to do, I would recommend going with an HP ProLiant ML110 G7 server. I've built several basic file server and domain controller servers using these systems and they are top notch quality and performance for the price. Here is what I would recommend:
HP PROLIANT ML110 G7 TOWER SERVER (Part # 656766-S01)
- Intel Xeon E3-1240 3.3Ghz Quad-Core Hyper-Threaded LGA1155 processor
- 8 GB (2 X 4 GB) DDR3 1333 ECC Unbufferred RAM
- Embedded HP B110i SATA RAID controller (RAID 0/1/10 support)
- HP NC112i Dual-Port Gigabit network controller
- HP 460 Watt Common Slot HE Redundant power supply (single)
- HP DVD-RW Burner Drive SATA
You would also need a minimum of the following upgrades:
- 8 GB (2 X 4 GB) DDR3 1333 ECC Unbufferred RAM for a total of 16 GB (max supported)
- 2 X Western Digital RE4 1 TB 7,200 RPM SATAII 64 MB Cache hard drives (in RAID 1 array)
- 2 X HP SAS/SATA Hard Drive Trays (Part # 373211-001)
I would also highly recommend getting the following upgrades for the best performance and redundancy:
- HP P410/256 MB Cache PCI-Express x8 SAS 3Gb/s RAID controller (Part # 462862-B21)
- HP 460 Watt Common Slot HE Redundant power supply (for dual-redundant power supplies) (Part # 503296-B21)
- 2 X Seagate Cheetah 300 GB 15,000 RPM SAS 6Gb/s 16 MB Cache hard drives (in RAID 1 array for running host Windows Server 2008 R2 and running virtual machine VHD files while the separate 1 TB array above is used completely for data storage)
- 2 X HP SAS/SATA Hard Drive Trays (to accommodate the additional two hard drives) (Part # 373211-001)
Depending upon where you purchase from, you're looking at around $1,100 minimum for the base configuration and minimum required upgrades, and up to $2,500 for the recommended configuration and all the upgrades.
A big part of my goal is to have little latency for some of our applications. As a sales company, our primary goal is to impress customers with our solutions so that they make a purchase. By demonstrating the software solutions, it not only makes more money on those solutions, but makes our hardware look good, too.
If we have systems that work, but have high latency, it doesn't go as smoothly for our demonstrations. Therefore, I plan on having the AD mirrored at each site, with a VPN tunnel connecting the sites so that we can use certain features (such as printing to a queue and releasing at any printer in the company). We don't need this for size, since we are so small, but more to make it as snappy as possible.
Also, I plan on running VMs for remote connections, and having more than one machine doing this reduces the load on any one machine, as well as providing full redundancy at another site.
But mostly, because I want to connect the two computers together in such a way that the computer is functioning as a router. I love the idea of running a linux VM with exclusive access to an outgoing physical Ethernet port, which then functions as firewall and router to the NIC controlling the LAN-side. There's that nerd in me that loves the idea of a virtual machine being the only route to get to the outside world.