Skip to content

Hetzner NFS VLAN

What is it?

Connect 2+ servers hosted on Hetzner using NFS and VLAN.

Note 1: This comes with no support other than the instructions provided here.

Note 2: This setup has been tested to work with standard Unionfs/Rclone VFS setup. Using either MergerFS or any non-standard setup will require you to tweak the appropriate mounts. You can look at the roles to see what changes need to be done.

1. Installation

In this example, we'll set our Feederbox as the NFS server and our Mediabox as the NFS client - this is so that the feeder data can be available to the media server.

There are 3 phases to the setup. They are broken down below.

Hetzner Robot

  1. Log into Hetzner Robot.

  2. Create a VLAN (vSwitch) and add servers to it. Note the VLAN ID.

  1. Setup Firewall.

    • Mediabox:

    • Feederbox:

NFS Server (Feederbox)

  1. Setup the Ansible role config.

  2. Add vlan_id.

  3. mount_client setting is ignored for the NFS server (i.e. it will just use 2).

    nano /srv/git/saltbox/hetzner_nfs.yml
    
    hetzner_nfs:
      vlan_id: 4001
      mount_client: 3
    
  4. Run Ansible role to configure the NFS server.

    sb install hetzner-nfs-server
    

NFS Client (Mediabox)

  1. Setup the Ansible role config.

  2. Add vlan_id.

  3. Add mount_client.

    Note: mount_client will need to be either 3 or a number > 250.

    nano /srv/git/saltbox/hetzner_nfs.yml
    
    hetzner_nfs:
      vlan_id: 4001
      mount_client: 3
    
  4. Run Ansible role to configure the NFS client.

    sb install hetzner-nfs-client-mount
    

Uninstall

Simply run the following commands on their respective servers:

Uninstall NFS Server (Feederbox)

sb install hetzner-nfs-server-uninstall

Uninstall NFS Client (Mediabox)

sb install hetzner-nfs-client-unmount