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.
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.
-
Log into Hetzner Robot.
-
Create a VLAN (vSwitch) and add servers to it. Note the VLAN ID.
-
Setup Firewall.
-
Setup the Ansible role config.
-
Add
vlan_id
. -
mount_client
setting is ignored for the NFS server (i.e. it will just use2
).cd ~/community nano hetzner_nfs.yml
hetzner_nfs: vlan_id: 4001 mount_client: 3
-
-
Run Ansible role to configure the NFS server.
sudo ansible-playbook community.yml --tags hetzner_nfs_server
-
Setup the Ansible role config.
-
Add
vlan_id
. -
Add
mount_client
.Note:
mount_client
will need to be either3
or a number >250
.cd ~/community nano hetzner_nfs.yml
hetzner_nfs: vlan_id: 4001 mount_client: 3
-
-
Run Ansible role to configure the NFS client.
sudo ansible-playbook community.yml --tags hetzner_nfs_client_mount
Simply run the following commands on their respective servers:
sudo ansible-playbook community.yml --tags hetzner_nfs_server_uninstall
sudo ansible-playbook community.yml --tags hetzner_nfs_client_unmount