The compute node is our solution to processing power. The job of This server is to keep things running 24/7 all year round.
When designing our servers we try to find parts that can satisfy all of our needs and then only use that part for every server. This is really important as it simplifies the overall system.
CPU: AMD Ryzen 9 5950x
|
|
Cooler: Noctua NH-D15
|
|
Motherboard: ASRock Rack |
|
Memory (RAM): Kingston Technology |
|
Storage: Samsung 870 EVO SATA III SSD |
|
Case: Rosewill RSV-R4000U 4U Server
|
|
Power Supply: EVGA SuperNOVA 550 G3, |
|
Operating System (OS): Ubuntu Server |
The compute node features a Ryzen 9 5950x 16 core, 32 thread processor. This is an am4 socket CPU so any am4 CPU can be substituted here (Ex. Ryzen 3,5,7,9).
The Noctua cooler has 2 fairly big heatsinks including 2 fans. This is plenty to keep the CPU cool under load. All servers use push-pull air-cooling, so water cooling, while possible, doesn't offer much of an advantage.
The ASRock Rack motherboard Features 2 onboard 10gbit networking ports, 2 onboard 1gbit networking ports, IPMI Remote Management, support for 128GB of ECC Registered memory, and onboard graphics. This is the best motherboard we can find, the only problem we have with it is not enough PCIe slots! Considering this motherboard features onboard 10 Gbit networking and graphics this is a good trade for a headless server.
We go with Kingston memory because it is affordable and reliable. Any type of ram will work as long as the speed is within the motherboard's limits. The important part about choosing your memory is making sure it is ECC Registered. Let's say that your server shuts off while everything is still running and does not write to disk. Depending on the application, how long it was running, and all kinds of other unforeseen events, you have now corrupted an app and will have to restore it from a backup. HOPEFULLY, YOU HAVE BACKUPS! Let's say a chunk of data is corrupted in memory, ECC memory will check for these types of things and prevent a corrupted chunk from being written to disk. If you are using regular memory it will just write whatever is in memory to disk. If you write a chunk of corrupted data to a truenas zfs pool, for example, there is a good chance you will lose your data.
Storage is another area that is not super important for the compute node if you follow our system model. If you choose to have the server handle storage and compute then you must now find a solution. Depending on your use case solutions will vary. 1TB is plenty for our systems, this allows us to use this drive without worrying about storage space for years, which is definitely not the case for the storage node.
The Rosewill server case is designed to be rack-mounted, but almost any case will work as long as it supports a Micro-ATX motherboard. We have included some attachments to fill the front 5.25" bays. We have a fan controller, a drawer for storing things related to the node, x2 hot-swappable drive bay with a 3.25" bay, and an all-in-one media reader. Are these things essential? No, the most important attachment is the hot-swappable drive bays as this is where our OS will boot from. This allows us to easily complete maintenance on our servers.
Our 550w gold-rated power supply is fully modular allowing us to only use what cables are needed and keep cable management as easy as possible. This is plenty of power for this computer. If you decide to stray from our design and add a GPU or anything else, make sure the 550w power supply can handle it or think about upgrading.
Lastly, the Operating System (OS), the only free thing on the list. Ubuntu is one of the most popular Linux distros and one of the easiest to set up and use. You can always find documentation of how to install it on Ubuntu. We run Ubuntu server because it is headless (does not have a GUI) and takes up much less space. You can of course use whatever OS you prefer, windows even. However, if you are building for a server, don't use windows…
Information coming soon