{"id":9591,"date":"2025-05-26T08:00:00","date_gmt":"2025-05-26T12:00:00","guid":{"rendered":"https:\/\/nandgate.consulting\/website\/?p=9591"},"modified":"2025-05-25T16:03:15","modified_gmt":"2025-05-25T20:03:15","slug":"home-lab-server-hardware-and-storage-setup","status":"publish","type":"post","link":"https:\/\/nandgate.consulting\/website\/?p=9591","title":{"rendered":"Home Lab Server &#8211; Hardware Setup"},"content":{"rendered":"\n<p>The next step on the journey of building a home lab server is to consider hardware and storage needs. This article cannot possibly provide any one individual or family or organization with the necessary knowledge to make an optimal decision about computing hardware. Therefore, consider this article the exploration of one man&#8217;s decision-making process with project goals and limited funds in mind.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The hardware &#8220;stack&#8221;<\/h2>\n\n\n\n<p>There are simply too many options and configurations to provide a full written guide in any one place that can stand the test of time. Therefore, this article will be a straightforward listing of the hardware I am working with in this project. It is not intended to be a guide for what you *should* purchase or use in your own design. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Hardware on the Network<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ubiquiti Dream Machine Special Edition.<\/strong> Runs a variety of Ubiquiti switches and access points from this single machine which can be connected to two separate WANs at once. (We will have fiber to the home soon, but I work remotely and the kids are homeschooled so having both a cable and fiber connection to provide redundanct connectivity is becoming critical to daily life.) Having Ubiquiti networking gear simplified my ability to manage multiple VLANs, mesh networking, and connectivity to IoT devices around the home. Expect to pay as much for this type of gear as for any one MacBook Pro 15&#8243; or a high-end gaming desktop, but it is awfully nice to not have to troubleshoot WiFi problems every other month.<\/li>\n\n\n\n<li><strong>HP G600 with 1.2GB of disk space.<\/strong> This machine is for core services primarily, such as running an LXC with PiHole as my DNS filtering mechanism. (Helps cut down on the cybersecurity attack surface of my family&#8217;s devices, and allows some amount of control over general Internet browsing by completely dropping DNS queries for domains we know we wouldn&#8217;t want our kids exposed to on the Internet.)<\/li>\n\n\n\n<li><strong>Numerous laptops, gaming platforms, smartphones, and tablets connect to the primary WiFi network, with other IoT devices connecting to a separate VLAN I setup which can talk to the Internet but cannot access any of my general purpose computing machines on the main WiFi network.<\/strong> Again, this design limits our exposure to cybersecurity threats via poorly designed or maintained IoT devices by manufacturers of devices which primarily serve different purposes but have some sort of digital controls connecting to the Internet. For instance, my new furnace and A\/C system is designed for Internet connectivity as an IoT device &#8211; you know, for saving the planet with eco-friendly stuff and such.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Hardware Design of the New Server<\/h3>\n\n\n\n<p>First, a quick way to display everything on my system directly from the command line:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;nix-shell:~]$ hwinfo --short\ncpu:                                                            \n                       AMD Ryzen 5 3600 6-Core Processor, 2200 MHz\n                       AMD Ryzen 5 3600 6-Core Processor, 2800 MHz\n                       AMD Ryzen 5 3600 6-Core Processor, 2800 MHz\n                       AMD Ryzen 5 3600 6-Core Processor, 3410 MHz\n                       AMD Ryzen 5 3600 6-Core Processor, 4203 MHz\n                       AMD Ryzen 5 3600 6-Core Processor, 2200 MHz\n                       AMD Ryzen 5 3600 6-Core Processor, 2200 MHz\n                       AMD Ryzen 5 3600 6-Core Processor, 2200 MHz\n                       AMD Ryzen 5 3600 6-Core Processor, 2200 MHz\n                       AMD Ryzen 5 3600 6-Core Processor, 3715 MHz\n                       AMD Ryzen 5 3600 6-Core Processor, 4200 MHz\n                       AMD Ryzen 5 3600 6-Core Processor, 2800 MHz\nkeyboard:\n  \/dev\/input\/event1    Logitech USB Keyboard\nmouse:\n  \/dev\/input\/mice      Logitech USB Optical Mouse\nmonitor:\n                       GTW KX2153\ngraphics card:\n                       nVidia VGA compatible controller\nsound:\n                       nVidia Multimedia controller\n                       AMD Multimedia controller\nstorage:\n                       Silicon Motion Mass storage controller\n                       AMD Mass storage controller\nnetwork:\n  enp34s0              Ethernet controller\nnetwork interface:\n  tailscale0           Network Interface\n  enp34s0              Ethernet network interface\n  lo                   Loopback network interface\ndisk:\n  \/dev\/nvme0n1         Silicon Motion Inland TN320 NVMe SSD\n  \/dev\/sdd             WDC WD10EZEX-60W\n  \/dev\/sdb             ST8000DM004-2U91\n  \/dev\/sdc             ST8000DM004-2U91\n  \/dev\/sda             WDC WD10EZEX-60W\npartition:\n  \/dev\/nvme0n1p1       Partition\n  \/dev\/nvme0n1p2       Partition\n  \/dev\/sdd1            Partition\n  \/dev\/sdb1            Partition\n  \/dev\/sdc1            Partition\n  \/dev\/sda1            Partition\nusb controller:\n                       AMD USB Controller\n                       nVidia USB Controller\n                       AMD USB Controller\nbios:\n                       BIOS\nbridge:\n                       AMD PCI bridge\n                       AMD Host bridge\n                       AMD Host bridge\n                       AMD PCI bridge\n                       AMD PCI bridge\n                       AMD Host bridge\n                       AMD Host bridge\n                       AMD Host bridge\n                       AMD ISA bridge\n                       AMD Host bridge\n                       AMD Host bridge\n                       AMD Host bridge\n                       AMD PCI bridge\n                       AMD Host bridge\n                       AMD Host bridge\n                       AMD Host bridge\n                       AMD PCI bridge\n                       AMD PCI bridge\n                       AMD Host bridge\n                       AMD PCI bridge\n                       AMD Host bridge\n                       AMD Host bridge\n                       AMD Host bridge\n                       AMD Host bridge\nhub:\n                       Linux 6.6.90 xhci-hcd xHCI Host Controller\n                       Linux 6.6.90 xhci-hcd xHCI Host Controller\n                       Linux 6.6.90 xhci-hcd xHCI Host Controller\n                       Linux 6.6.90 xhci-hcd xHCI Host Controller\n                       Linux 6.6.90 xhci-hcd xHCI Host Controller\n                       Linux 6.6.90 xhci-hcd xHCI Host Controller\nmemory:\n                       Main Memory\nunknown:\n                       FPU\n                       DMA controller\n                       PIC\n                       Keyboard controller\n                       unknown unknown\n                       AMD Generic system peripheral\n                       unknown unknown\n                       AMD Encryption controller\n                       nVidia Serial bus controller\n                       AMD SMBus\n                       Serial controller\n  \/dev\/input\/event2    Logitech USB Keyboard\n<\/code><\/pre>\n\n\n\n<p>However, this doesn&#8217;t tell you much about how to look up specific information for the model of motherboard, CPU, drives, etc. You might also have some questions about the reporting of the CPU, because it says it is an &#8220;AMD Ryzen 5 3600 6-Core Processor&#8221; and yet 12 cores with their current processor speed are displayed. My particular CPU does have just 6 CPU dies on the chip, but each die is a dual-core processor, hence the 12 cores shown.<\/p>\n\n\n\n<p>Next, you might notice that I have 5 separate disks, one NVME drive on which I have already installed NixOS, and four additional drives. To simplify things, I have listed more detailed information of my hardware.<\/p>\n\n\n\n<p><strong>Motherboard:<\/strong> MSI A520M-A PRO with dual channel DDR4 RAM slots, AMD AM4 CPU slot, 1x PCIE 4 (for GPU), 1x PCIE 3, single NVME m.4 slot, and 4 SATA drive connectors, and up to 1Gb Ethernet.<br><strong>Memory:<\/strong> 32GB at 3600MHz<br><strong>CPU:<\/strong> AMD Ryzen 5 3600 6-core, dual CPU (12 logical CPUs total)<br><strong>GPU:<\/strong> ASUS Nvidia 1650 Super<br><strong>NVME Drive:<\/strong> Kingston 256GB m.4<br><strong>HDDs:<\/strong> 2x Western Digital 1TB, 2x Seagate IronWolf 8TB<\/p>\n\n\n\n<p>Remember, these components are half extra leftover parts from prior machines, and some new parts meant to provide more storage and capabilities for my server. Making a decision about the hardware to use may often be based on total cost and total availability of parts; in my case, availability of parts trumped cost because I wanted to spend as little as possible in order to run a server.<\/p>\n\n\n\n<p>I began by installing NixOS (Gnome desktop version) directly to my NVME drive. Prior experience has taught me that (1) I often make mistakes not being a full-time sysadmin, and (2) sometimes the easiest way to correct mistakes is to search the internet and apply solutions from forums and help files online. It&#8217;s a big pain to drag around a laptop to lookup information online to solve problems, so I wanted an attached display and windowed desktop environment on my server when troubleshooting needed to progress to on-server work. (rather than SSH&#8217;ing into the server from an external laptop or desktop)<\/p>\n\n\n\n<p>In the next article I will detail how I built out the storage of my new server after installing NixOS, along with explanations behind each of my decisions.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The next step on the journey of building a home lab server is to consider hardware and storage needs. This article cannot possibly provide any one individual or family or organization with the necessary knowledge to make an optimal decision about computing hardware. Therefore, consider this article the exploration of one man&#8217;s decision-making process with [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-9591","post","type-post","status-publish","format-standard","hentry","category-article"],"_links":{"self":[{"href":"https:\/\/nandgate.consulting\/website\/index.php?rest_route=\/wp\/v2\/posts\/9591","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nandgate.consulting\/website\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nandgate.consulting\/website\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nandgate.consulting\/website\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nandgate.consulting\/website\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9591"}],"version-history":[{"count":3,"href":"https:\/\/nandgate.consulting\/website\/index.php?rest_route=\/wp\/v2\/posts\/9591\/revisions"}],"predecessor-version":[{"id":9597,"href":"https:\/\/nandgate.consulting\/website\/index.php?rest_route=\/wp\/v2\/posts\/9591\/revisions\/9597"}],"wp:attachment":[{"href":"https:\/\/nandgate.consulting\/website\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9591"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nandgate.consulting\/website\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9591"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nandgate.consulting\/website\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}