Skip to main content

Add Fast Storage to Your eisy!

· 5 min read

eisy



You may wonder why you would need more storage on your eisy. Well, you really don't unless you are a geek. And of course, you are in the Geeks Corner, here are some of the things we use it for:

  1. Very fast network file server
  2. Media files especially now that you can use our AudioPlayer plugin to play music through the headphone jack on the back
  3. Plugin development since read/write operations are much faster on SSD than than the internal storage

Get an NVMe M.2 SSD

You can get pretty much any M.2 NVMe SSD with the limitation that the capacity cannot be more than 1TB.

Install the SSD

eisy-nvme

  1. Press and hold the power button so that the light turns red
  2. Unplug the power cord
  3. Open the 4 screws at the bottom and gently remove the bottom cover
  4. Remove the screw that holds the SSD in place (top right on a stand)
  5. Plugin the SSD and screw in the screw in 4
  6. Gently put the bottom cover back ensuring that the label points to the back (where the connectors are)
  7. Screw in the 4 screws you took out in 3
  8. Plugin the power cord

That's it!

Configure the OS

ssh to eisy

  1. On Mac, open the terminal app (search | terminal)
  2. On Windows, open the command prompt (search | cmd)
  3. Type:
    ssh admin@eisy.local
  1. When prompted, type in the password. Default is admin. If you have not already changed the password, change it immediately.

All sudo may prompt you for the password. Please use the password in step 4.

The two most popular file systems for unix are ZFS and UFS (mostly on BSD). UFS is much easier to manage while ZFS is much more flexiblie. We are going to use ZFS. We will also provide two methods: one is simple which takes over the whole disk and the other allows you to partition into different partitions.

Simple - Takes over the whole disk

  1. Make sure you have /etc/zfs directory otherwise automount will not work after reboot
    sudo mkdir -p /etc/zfs
  1. Make sure the SSD is installed
    sudo nvmecontrol devlist

You should get something like this:

    nvme0: SPCC M.2 PCIe SSD
nvme0ns1 (122104MB) --> 128GB

If not, then the SSD is not installed properly.

  1. Create a ZFS pool
    sudo zpool create storage /dev/nvd0

Make sure it got craeted

    sudo zpool list

You should get something like this:

    NAME       SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
storage 97.5G 106K 97.5G - - 0% 0% 1.00x ONLINE -
zudi 108G 27.3G 80.7G - - 26% 25% 1.00x ONLINE -

  1. Change permissions as you see fit For this example, we use admin:admin as the owner
    sudo chown admin:admin /storage
  1. Make sure that it can be automounted after reboot
    sudo zpool export storage 
sudo zpool import storage
  1. Copy some files and reboot

Multiple partitions

  1. Make sure you have /etc/zfs directory otherwise automount will not work after reboot
    sudo mkdir -p /etc/zfs
  1. Make sure the SSD is installed
    sudo nvmecontrol devlist

You should get something like this:

    nvme0: SPCC M.2 PCIe SSD
nvme0ns1 (122104MB) --> 128GB

If not, then the SSD is not installed properly.

  1. Create a partitioning scheme on the SSD
    sudo gpart create -s gpt nvd0
  1. Add partition(s)

You can add as many partitions as you like as long as the the total size is not greater than what you got from nvmecontrol command (see above). In our case, we are just going to allocate about 100G for our storage and leave about 20G for the future:

    sudo gpart add -s 100000M -t freebsd-zfs -l storage_m nvd0

Just to make sure the partition was created:

    gpart show 

You should get something like this:

=>       40  241663920  mmcsd0  GPT  (115G)
40 1024 1 freebsd-boot (512K)
1064 131072 2 efi (64M)
132136 226852864 3 freebsd-zfs (108G)
226985000 8388608 4 freebsd-swap (4.0G)
235373608 6290352 - free - (3.0G)

=> 40 250069600 nvd0 GPT (119G)
40 204800000 1 freebsd-zfs (98G)
204800040 45269600 - free - (22G)

  1. Create a ZFS pool
    sudo zpool create storage /dev/gpt/storage_m

Make sure it got craeted

    sudo zpool list

You should get something like this:

    NAME       SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
storage 97.5G 106K 97.5G - - 0% 0% 1.00x ONLINE -
zudi 108G 27.3G 80.7G - - 26% 25% 1.00x ONLINE -

  1. Change permissions as you see fit For this example, we use admin:admin as the owner
    sudo chown admin:admin /storage
  1. Make sure that it can be automounted after reboot
    sudo zpool export storage 
sudo zpool import storage
  1. Copy some files and reboot

You are done!