I have been reading a lot about servers, but unfortunately it seems that there is no central place where you can get the breakdown of all the important information. Different sites cover different aspects. This might be a bit ambitious, but I will try to have all the important bases covered here and hopefully get some good advice and corrections, if any. This will help me and all future Googlers. I build computers, but I have not built a server yet. So let's break it down:
OS: Server R2 2008 or Windows 7? It seems that the quick answer is "depends." The basic difference between Server R2 and W7 is that the server edition is optimized so that the memory usage is less - fewer native background applications are running. The Server edition can be used just like W7; however, there are some limitations. For example, you can't use it to record TV or easily burn CDs without admin access. You can't use a regular antivirus either and server AV prices are high. Additionally, if you modify W7 startup services and remove what you don't need, you can bring down the memory usage, though it still won't be as efficient as the Server edition. But more importantly, Server R2 2008 costs about $700 vs $100 for W7 Ultimate edition (ebay prices). As such, it is likely a good idea to use W7 instead unless you are going to use the server to host your website, emails, and/or serve dozens of computers. I should note that I would at least get W7 Ultimate version because anything below that does not have elaborate/easily accessible user access controls and Bitlocker, which is essential for security. It is also necessary to get the 64bit edition for enhanced security and larger memory maximum (4GB on 32bit vs 192GB on 64bit!)
Hardware: This is probably the most difficult part as there are a lot of components. Overall, there are two paths one can take: you can either build a server with true "server" components or use a regular desktop build. My understanding is that the most basic difference is reliability. Servers run 24/365 and if you want to build a server that will last 10 years or so, you should select components made for servers. These components can be twice as expensive though and to me the decision is simpler: if you are building a server for your home or small business with 20 or so computers for simple file sharing (no intensive media edits, etc), you don't really have to use server components. First, you won't need the power offered by server motherboards, which can have slots for two CPUs, eight RAM sticks, etc. Second, technology changes so fast that it is unlikely that you will hang on to your system for more than 5 years without any upgrades. 10 years ago Windows XP wasn't even released and we were on 32MB SDRAM sticks. Can you imagine running W7 on that technology? It won't work. Some people choose to not upgrade their OS, but that creates a security risk. This is why I don't see anyone keeping a computer for over 5 years without running into a security risk.
Let's break down the components:
1. Motherboard: I would like to get some feedback on this, but to me it seems that there are three important aspects: the ethernet must be gigabit capable, there must be a RAID controller for the RAID config you want with a good reporting software (unless you get a separate RAID controller), and ideally the BIOS should have the option to power itself up after a power outage. Did I miss any important features?
2. RAID Controller: see above. This component is needed if the motherboard doesn't have a RAID controller. It should have a good software that can monitor the integrity of all drives and send email reports. My question in this area is: are there any advantages to using a dedicated RAID controller? Also, what features should one look for to achieve maximum transfer speeds? Newegg does not list the speed of each controller.
3. Memory: 4GB for W7 should be sufficient. I have not found a good way to test memory usage on the system to determine whether more memory is needed. The native W7 memory usage tracker is not accurate because it modifies memory usage based on what you have already available. A server for a dozen or so computers should not need much more than 4GB RAM.
4. Hard Drive: This is another difficult area. I think the best approach to this is speed. The fastest networks for regular use are the gigabit networks. They provide 1Gbps max speed, which is equivalent to 128 MB/s. However, many people don't come anywhere near this speed because they don't realize that to achieve these speeds you need ALL your endpoints to be gigabit compliant and you need an HD that can actually support that speed. So how do we select the right HD? It is almost impossible to look at the RPM or the cache size and determine the speed of the drive. Real testing is required (one such tool is HD Tune). There are also online test databases, such as this one or this. A quick look at the results shows that unless you get a Velociraptor (10000RPM), which is expensive at $150 for just 300GB, you're not going to approach 128MB/s. WD Caviar Black is more reasonable at $85 for 1TB and the speed is at ~110MB/s for both writing and reading. Given WDs reliability, I think Caviar Black would serve well for high performance servers. Of course, if you're trying to save energy or keep the system heat down, then you might want to sacrifice performance and go for the Blue or Green drives.
This leads into the RAID discussion. Another way to increase HD performance while safeguarding data is to arrange the right RAID configuration. For best performance and redundancy RAID 0+1 or RAID 10 (aka, RAID 1+0) are recommended. This is the fastest RAID configuration (excluding RAID 0, which has twice the write speed of RAID10, in theory). All other RAID configurations suffer a speed loss compared to non-RAID setups. The downside is that this is costly. RAID 10 uses a minimum of 4 HDs and only half of those have a usable space. If you have 4x1TB HDs, only 2TB will be available for storage. Some recommend using RAID 5 if cost is an issue, but that has it's own issues. If you don't care about performance, RAID 1 is another alternative. Theoretically, RAID10 should increase the read and write speeds by 4 and 2 times, respectively. This means that if you get that 110MB/s Caviar Black, you will max out the speed provided by your gigabit LAN since your read and write speeds for RAID 10 will be 440MB/s by 220MB/s, in theory. I would appreciate if someone with real data can confirm this performance prediction.
Cables: If you are using anything less than Cat.5 ethernet cable, you are not going to be able to take full advantage of the gigabit network. In fact, it is strongly recommended to use Cat.6 cable as it is specifically certified for gigabit networks and transfers data better with less errors.
Security: How sensitive is the data on the server? To secure data, entire hard drives should be encrypted with bitlocker, which is available only in W7 Ultimate and Enterprise editions (or Server 2008 R2). All computers trying to access the server must also have the Ultimate edition. Note that some time ago Passware came up with a method to quickly decrypt Bitlocker, Truecrypt, and other security solutions by reading the encryption key from the RAM. This is why the operating system must also be encrypted as it will encrypt the boot and hibernation files and make the system resistant to RAM attacks. It is impossible to encrypt the RAM itself and the only way to clean the RAM is to reboot the computer (disable quick reboot or quick memory test). Note: If you don't want to use a USB key with bitlocker, you have to get a motherboard that supports TPM.
This is it, at least for now. I hope that those more familiar with servers will provide answers to my questions and correct me where I am wrong.
OS: Server R2 2008 or Windows 7? It seems that the quick answer is "depends." The basic difference between Server R2 and W7 is that the server edition is optimized so that the memory usage is less - fewer native background applications are running. The Server edition can be used just like W7; however, there are some limitations. For example, you can't use it to record TV or easily burn CDs without admin access. You can't use a regular antivirus either and server AV prices are high. Additionally, if you modify W7 startup services and remove what you don't need, you can bring down the memory usage, though it still won't be as efficient as the Server edition. But more importantly, Server R2 2008 costs about $700 vs $100 for W7 Ultimate edition (ebay prices). As such, it is likely a good idea to use W7 instead unless you are going to use the server to host your website, emails, and/or serve dozens of computers. I should note that I would at least get W7 Ultimate version because anything below that does not have elaborate/easily accessible user access controls and Bitlocker, which is essential for security. It is also necessary to get the 64bit edition for enhanced security and larger memory maximum (4GB on 32bit vs 192GB on 64bit!)
Hardware: This is probably the most difficult part as there are a lot of components. Overall, there are two paths one can take: you can either build a server with true "server" components or use a regular desktop build. My understanding is that the most basic difference is reliability. Servers run 24/365 and if you want to build a server that will last 10 years or so, you should select components made for servers. These components can be twice as expensive though and to me the decision is simpler: if you are building a server for your home or small business with 20 or so computers for simple file sharing (no intensive media edits, etc), you don't really have to use server components. First, you won't need the power offered by server motherboards, which can have slots for two CPUs, eight RAM sticks, etc. Second, technology changes so fast that it is unlikely that you will hang on to your system for more than 5 years without any upgrades. 10 years ago Windows XP wasn't even released and we were on 32MB SDRAM sticks. Can you imagine running W7 on that technology? It won't work. Some people choose to not upgrade their OS, but that creates a security risk. This is why I don't see anyone keeping a computer for over 5 years without running into a security risk.
Let's break down the components:
1. Motherboard: I would like to get some feedback on this, but to me it seems that there are three important aspects: the ethernet must be gigabit capable, there must be a RAID controller for the RAID config you want with a good reporting software (unless you get a separate RAID controller), and ideally the BIOS should have the option to power itself up after a power outage. Did I miss any important features?
2. RAID Controller: see above. This component is needed if the motherboard doesn't have a RAID controller. It should have a good software that can monitor the integrity of all drives and send email reports. My question in this area is: are there any advantages to using a dedicated RAID controller? Also, what features should one look for to achieve maximum transfer speeds? Newegg does not list the speed of each controller.
3. Memory: 4GB for W7 should be sufficient. I have not found a good way to test memory usage on the system to determine whether more memory is needed. The native W7 memory usage tracker is not accurate because it modifies memory usage based on what you have already available. A server for a dozen or so computers should not need much more than 4GB RAM.
4. Hard Drive: This is another difficult area. I think the best approach to this is speed. The fastest networks for regular use are the gigabit networks. They provide 1Gbps max speed, which is equivalent to 128 MB/s. However, many people don't come anywhere near this speed because they don't realize that to achieve these speeds you need ALL your endpoints to be gigabit compliant and you need an HD that can actually support that speed. So how do we select the right HD? It is almost impossible to look at the RPM or the cache size and determine the speed of the drive. Real testing is required (one such tool is HD Tune). There are also online test databases, such as this one or this. A quick look at the results shows that unless you get a Velociraptor (10000RPM), which is expensive at $150 for just 300GB, you're not going to approach 128MB/s. WD Caviar Black is more reasonable at $85 for 1TB and the speed is at ~110MB/s for both writing and reading. Given WDs reliability, I think Caviar Black would serve well for high performance servers. Of course, if you're trying to save energy or keep the system heat down, then you might want to sacrifice performance and go for the Blue or Green drives.
This leads into the RAID discussion. Another way to increase HD performance while safeguarding data is to arrange the right RAID configuration. For best performance and redundancy RAID 0+1 or RAID 10 (aka, RAID 1+0) are recommended. This is the fastest RAID configuration (excluding RAID 0, which has twice the write speed of RAID10, in theory). All other RAID configurations suffer a speed loss compared to non-RAID setups. The downside is that this is costly. RAID 10 uses a minimum of 4 HDs and only half of those have a usable space. If you have 4x1TB HDs, only 2TB will be available for storage. Some recommend using RAID 5 if cost is an issue, but that has it's own issues. If you don't care about performance, RAID 1 is another alternative. Theoretically, RAID10 should increase the read and write speeds by 4 and 2 times, respectively. This means that if you get that 110MB/s Caviar Black, you will max out the speed provided by your gigabit LAN since your read and write speeds for RAID 10 will be 440MB/s by 220MB/s, in theory. I would appreciate if someone with real data can confirm this performance prediction.
Cables: If you are using anything less than Cat.5 ethernet cable, you are not going to be able to take full advantage of the gigabit network. In fact, it is strongly recommended to use Cat.6 cable as it is specifically certified for gigabit networks and transfers data better with less errors.
Security: How sensitive is the data on the server? To secure data, entire hard drives should be encrypted with bitlocker, which is available only in W7 Ultimate and Enterprise editions (or Server 2008 R2). All computers trying to access the server must also have the Ultimate edition. Note that some time ago Passware came up with a method to quickly decrypt Bitlocker, Truecrypt, and other security solutions by reading the encryption key from the RAM. This is why the operating system must also be encrypted as it will encrypt the boot and hibernation files and make the system resistant to RAM attacks. It is impossible to encrypt the RAM itself and the only way to clean the RAM is to reboot the computer (disable quick reboot or quick memory test). Note: If you don't want to use a USB key with bitlocker, you have to get a motherboard that supports TPM.
This is it, at least for now. I hope that those more familiar with servers will provide answers to my questions and correct me where I am wrong.