DHitMA: Hardware II

Never forget, always have a backup!

Coming upon this article, it is likely that the reader has already established a means of hoarding some data. Whether it be a spare flash drive, some spare space on a hard drive (internal or external) or any other means- you are hoarding data. In this article we will address the next step in hoarding data, which can be considered as "semi-professional data storage".

There is, for the typical individual, only one way whereby semi-professional data hoarder status may be achieved. This status is not just a title: there is increased reliability, speed, maintainability and so on, that comes with performing what is written in this article. What we speak of is a NAS machine, or Network-Attached Storage. Below are detailed some options for the reader. Your NAS, however you choose to employ it, will act literally as another hard drive that you can put files in and take files from. It is a dedicated media machine. The benefit of using a NAS is that any computer on one's network may access it (unless the extra step is taken to make the NAS accessible from anywhere in the world, using SSH, which we do not recommend unless very strong RSA keys are used), and NAS software supports a variety of functions that makes your data archive more secure, accessible, reliable, maintainable and so forth.

Whatever solution is employed, we emphasize that the user must use an Ethernet cable on the NAS, and not plain Wi-Fi, to achieve reliable speed and connection from other computers to the NAS.

The below paragraphs contain links to outside websites and sources of data; we maintain that the individual must verify the links therein.

  1. Take an old laptop or computer you already own, or buy a new one; the OS does not matter (we will consider any machine with Windows 7, 8, or 10; but really, the interface we speak of is common to all modern OSes).
  2. Plug as many external hard drives, SSDs or flash drives as you can fit into the computer (or however many you want).
  3. Buy a USB splitter if necessary and attach more drives.
  4. Share your Frankenstein-NAS' storage through the operating system options (it uses the CIFS [Common Internet File System] or SMB [Samba] protocol to do so).
  5. With any Windows machine, network sharing is very easy; and there are copious guides on the Web.
  6. Set a strong password on the share.
  1. Buy a Raspberry Pi 3 or 4. This could even be done with a Pi Zero, if you are willing to forego Ethernet (we do not recommend this).
  2. A case is optional, but really you do not need one.
  3. Know the interface of the Pi, and buy the appropriate cables/splitters to fit the number of drives you want.
  4. Set up OpenMediaVault (or some other NAS OS) on the Pi.
  5. Interface with the device with CIFS/Samba.
  6. Change the OS settings through the WebGUI to make your NAS secure: disable all forms of interfacing except CIFS/Samba, change your password to something strong and set up a user account that must be logged into with a strong password to access the NAS.
  7. There are thousands of videos and guides on how to do this; the Raspberry Pi has a massive community and support exists everywhere.
  1. A parts list should be generated for the NAS: we recommend https://www.pcpartpicker.com for this purpose. There are countless guides on building a NAS in this manner. In truth, the cheapest parts possible shall suffice, but the hard drives should be higher quality, NAS drives- not general consumer hard drives (these cost ~25% more).
  2. Purchase hard drives of the same size and brand (for RAID purposes later, if you so choose).
  3. Purchase a faster boot drive of at least 8-16GB for the OS to rest on (M.2, PCIe, SATA SSD or even a USB 3.0+ flash drive shall suffice).
  4. Consider ECC memory and a server-type processor (like a Xeon) if you want to use your NAS as a workhorse, and never plan to turn it off. For most individuals: pick the lowest power consumption (TDP) processor that is at least dual-core.
  5. Choose your operating system. FreeNAS, NAS4Free/XigmaNAS and OpenMediaVault (OMV) are some of the most popular solutions, though there are dozens of others. Do your research and decide which OS fits your needs. In general, FreeNAS or XigmaNAS will suffice to meet any user's requirements.
  6. Do an exasperating amount of research on the process of actually setting up your NAS before you do it. This means: reading how-to guides, OS documentation, watching videos, etc. Make sure you have a detailed plan before executing it.
  7. Install the OS.
  8. Adjust the NAS settings in the WebGUI to make your NAS secure: set strong passwords, disable all forms of interfacing except for CIFS/Samba and set up a user profile that must be logged into to access the NAS.

Please read the next article to make the best use of your NAS: DHitMA: Hardware III.

We (DHitMA) have actually found a full guide on building and setting up a XigmaNAS machine, at pastebin.com/LNjtsL7m; archived at archive.is/p7JGE, which does include information on accessing the NAS remotely over the internet, using SSH. We have copied its contents below, with minimal edits:

If you're smart enough, you'll probably realize that you don't care about the network-attached part, and can literally just plug a bunch of new HDDs into your PC- and you are absolutely correct. This is cheaper, but you lose the reliability of having a dedicated device that you can, with some configuring, connect to from anywhere in the world; again, if you are smart enough, you will know that you can remote desktop connect (RDC) into your PC and do the same- you are also correct.

This guide is for those who want a standalone, low-power, secure and dedicated device for mass data storage. The operating system for this NAS will be XigmaNAS, which we will get into shortly. If you are not enamored with the idea of building your own NAS, there are tons of pre-built solutions available (Synology, QNAP, etc.) Make sure to do your research, and decide whether building your own NAS is worth your time.

You could even buy a few high-capacity (4 TB is common) external hard drives and carry a few wherever you go if simple data archiving is your goal.

You COULD even be extremely scandalous and milk a couple free accounts from Mega (https://mega.nz), each with 50GB of space, and have as much space as you want on the cloud, wherever you go. >:) Or, you know: pay for an account- they're not terribly expensive.

PLEASE do your own research and find out what you want before following this guide. This is for a very specific case where you would want to spend the time configuring your NAS yourself.

If you still want to go through with your own XigmaNAS NAS, then have these links available and become familiar with the content therein:

And of course, Google whatever you seek.

NOTA BENE: XigmaNAS is an older (not necessarily worse) and simpler version of Nas4Free; as such, if you find something on a Nas4Free site, it is likely quite related to XigmaNAS, and can possibly be applied.

NAS or not; keep your data backed up! https://pastebin.com/bfDe02Wh

You first need to decide on how much data you want to be stored. For most people, 4-10 TB is plenty. If you plan on implementing some form of redundancy (like RAID1, which you should search if you have not heard of) you will need more space. Once decided, you need to pick your hardware.

For your personal XigmaNAS NAS, you will need:

Excluding HDDs, you do not need to spend more than $400-$500 on hardware.

There are TONS of guides on building a computer, so I will not get buried in its detail. However, here is a good tip: on the site PCPartPicker, you can view completed builds; sort them by date and find ones you like; many of them include the keyword NAS in their title.

This link is all builds using the Node 304 case, a very popular case for NAS builds. https://pcpartpicker.com/builds/by_part/BWFPxr

Here is an example build, without HDDs and SATA data cables: https://pcpartpicker.com/list/wgz3J8

Some tips:

NOTA BENE: PC means your personal computer, NOT your NAS.

Assemble the computer like any other, and make sure that it boots (the CPU fan and any case fans should start spinning and stay spinning, and you should see your BIOS show up on the connected monitor). Make sure that all of your drives are showing up. Also, don't forget to plug in the Ethernet cable. If all is well, you can turn the machine off and continue on for the NAS-specific steps.

Read this article first. It is a bit old and perhaps overly-general, but it is very accurate to the setup of Xigmanas today. https://lifehacker.com/turn-an-old-computer-into-a-networked-backup-streaming-5822590

Head over to https://sourceforge.net/projects/xigmanas/files/ and go to the latest version (bigger numbers, herp). Read the README file if you want. Download the LiveUSB-GPT file (use the LiveCD version if you want to use a CD instead of a flash-drive), and extract it on your PC, so that you have a .img file saved. Now you need to put this onto a dummy flash-drive with a disk imaging tool. ENSURE that your dummy flash drive is empty; you may want to right click its drive shortcut and format it. Use Win32DiskImager (https://sourceforge.net/projects/win32diskimager/) if you're on Windows (open the tool, select the XigmaNAS image file you extracted earlier, and select the destination to image to, which is literally your flash drive). Linux probably has this built-in. Mac can sod off.

Now, shove this imaged flash drive into your NAS' USB port, making sure to pick a USB 3.0 one (you should have a few, and this is preferable to USB 2.0 simply for speed). Ensure that your boot drive is connected as well (I used another flash drive, but you can use an HDD or SSD [no CDs]). Turn the NAS on and you should start to see some new stuff happening on the attached monitor- this is XigmaNAS booting. Once it's fully booted, you'll be presented with some options that you can choose via a keyboard (some gaming keyboards that required two USB ports may not work, so use another if you have issues).

NOTA BENE: If you use a VPN service, like NordVPN, ENSURE that any option described like 'Invisibility on LAN' is TURNED OFF; if you fail to do this, you computer will not be able to detect your NAS on your LAN.

Type 1 and hit Enter to configure the network interfaces. Try auto-detect, and pick whatever port your ethernet cable is plugged into on your NAS' motherboard (probably the first one). Click Yes through whatever pops up to return to the main screen. Type 2 and press Enter to configure the network IP address; use DHCP and click Yes through whatever pops up. It will take a second, then you will be returned to the main screen. Now you should see, at the top, a WebGUI address and an IPv4 address, presumably 10.0.0.# or 192.168.1.#. Type in the WebGUI address in a web browser (Chrome, Firefox, etc.) to start the real configuration of your NAS.

Make sure to use the exact web address given (http and all), and if you get a security pop-up, click around until you can 'continue to site.'

Now you'll see the XigmaNAS web-browser. The default login is admin and its password is xigmanas; type this in. Once through, you are in your new NAS' homepage. You can access it privately on your LAN and view your NAS' status. Firstly, at the top is your navigation bar: this is where you'll work from. Immediately click System > General > Password (Password is a sub-tab, literally lower on the screen) and change your password to something strong. Now go back to the General sub-tab (next to Password) and in the protocol drop-down box, select HTTPS (this is more secure than HTTP). This is a good enough start for you NAS, now we can proceed to setting up your disks.

NOTA BENE: Ensure first that all of your disks are connected physically; this should have been verified during the first boot of the PC when the BIOS was shown. Additionally, keep a monitor plugged into your NAS so you can see updates print to the screen as you change things.

Go to the Disks tab and click Management. The first thing you'll have to do is format the drives (i.e. all data is wiped). Click on the HDD Format sub-tab and select the drives you want to format, and in the drop-down box above, select UFS (GPT and Soft Updates) as your filesystem. Click 'Next' through without changing anything and allow the drives to be formatted (it may take a while).

NOTA BENE: You will do this next paragraph's steps for all drives you formatted.

Once all formatting is done, click the Disks tab, then click Mount Point. Click the blue plus sign in the bottom right. Leave everything unchanged, but in the Disk drop-down box, select each of your newly-formatted drives, one at a time. Also, change your drive name to something in the 'Mount point name' field; I choose disk0, disk1, etc. arbitrarily. Now, click Add. After a moment, your disks will be mounted.

If you want to do some RAID (I like RAID1), you will need to go to Disks > Software Raid and set up your RAID array with your disks. Once done with that, go back to Disks > Format and format the new RAID array as UFS, just like a normal disk. Then, mount the new 'disk' and you are done.

Now, we can share the NAS with users on the LAN. Go to Services > CIFS/SMB and once in that tab, check the Enable box in the top right. Ensure that in the Authentication field, Local User is selected.

Click on the Shares sub-tab, and then the blue check mark. Fill out the first two fields, and in the third, Path, open the popup box by clicking the three dots. Once opened, DO NOT SHARE /mnt only; this will cause issues. For each of the drives you want to share, share them by clicking them in the popup box. For instance, you have two drives, disk0 and disk1; once done, your two paths will be /mnt/disk0 and /mnt/disk1.

Back in the individual Share settings sub-tab, ensure that Browseable, Guest and Recycle Bin are checked (this last one is for safety- if you show hidden files in Windows you can see the recycle bin of each share and recover files you might have accidentally deleted). Apply these changes to each share.

At this point, you can view the disks from your PC. If you want, you can create user accounts to allow specific people specific rights and access points from the Access > Users and Groups tab and by adding a new user (i.e. you will have to login with a password and username from your PC). If it is just you working with the NAS, this is optional. I do it as an added layer of security.

On your PC, open the file explorer. In the address bar, type \\ followed by the IP address of your NAS (the same as the WebGUI's one, but just the numbers); for instance: \\ You should see your drives; now you can add files to your heart's content. As your NAS grows, it may take a bit longer to load up.

That's it. Enjoy.

The next step, should you choose to do it, is to allow yourself to access your NAS from anywhere in the world: your own private server. There are ways to do this, but many are VERY unsafe and can result in your data being literally open to the internet.

I won't write a step-by-step for this, but here is an outline:

Here is a dump of files related to the topic of making your NAS acessible through the internet from anywhere in the world (take them with a grain of salt: there are bound to be some discrepancies):