13 Feb 2021

Building a storage server - Part 1

For many years (more than 10y?) I had some sort of 247 server running at home, hosting some nice services like mail, websites and of course central storage.

It started with a random intel atom based platform with windows and vmware server. Moving to a single ESXi with windows and gnu/linux based virtual machines and finally moved to a server where I used qemu/kvm with many gnu/linux based virtual machines.

But over the years I always had trouble with the amount of harddisks needed for saving and backing up my data. I have a backup solution based on borg to backup some stuff on a daily basis. But for the bigger part of my data, I had a eSATA 2-bay connected to my desktop and once a month a used rsync to mirror my data to this bay.

Last year my storage demands increased again and I had no more space left in my server. And even if I had space for that, the next problem would be space for backup. From time to time, I exchanged harddisks by some bigger once. But I didnt really liked that, it felt like a bad workaround. I also started to be interested in video transcoding/encoding and I also bought a TV usb stick a year ago and never really used it. I wanted to stream the TV signal over IP to somewhere else.

So I decided to build a new server which should cover the following topics:

  • enough space for my data (with RAID) and some local backup storage
  • backup on daily basis, maybe with compression/deduplication (lets see)
  • providing the data via samba to remote clients
  • jellyfin with hardware-based transcoding and encoding
  • use the TV usb stick with the help of tvheadend (maybe combine it with jellyfin)

After some research, I bought the following components:

  • ASRock H470 Phantom Gaming 4
  • Intel Core i3-10100
  • Patriot Viper 4 DIMM Kit 8GB
  • Seasonic Focus GX 550W
  • 2 x Kingston A2000 NVMe PCIe SSD 250GB
  • an ASM1166 based PCIe SATA controller
  • 3 x Toshiba MG07ACA 14TB
  • Second-hand case from a friend (just needed enough space for ~8 3.5” harddisks, no hotswap)

I want to try out these NVMe SSDs. I dont have any experience with them. My plan is to setup a RAID1 with mdadm on them and use them for the operating system and any kind of cache when needed.

Based on my research, the i3-10100 should be cabable of multiple hw-based encodings (even with 4K). Some tests will hopefully prove that.

The three 14TB harddisks will go into a RAID5 and serve as my main storage for everything. For backup, I will use some of my existing harddisks and just put them into an LVM volumegroup. The ASM1166 will hopefully help me out with some additional SATA connectors.

I choosed the mainboard mainly because of price/performance reasons. It has a bunch of PCIe connectors, maybe for some later extending and a bunch of ultra fast usb ports. I used USB 3.0 only one or two times until now, so I need to catchup here a bit.

The whole setup feels flexible enough for later extending in many ways.

Part 2 comes when everything is shipped to me.