MurtaghsNAS
Dabbler
- Joined
- Jul 21, 2021
- Messages
- 17
I need some help architecting the networking around my Scale server. I am of a technical level that I academically understand what is going on, but I lack the experience or wisdom to know I am choosing the right solution. Once I have a solution where I at least know where the gotchas are, I should be able to teach myself the details of the implementation. In other words, I know there are things I don’t know, and I want to minimize loss of work due to something I don’t know at the start invalidating my planning, such as NFS needs a networking bridge to connect a VM with storage.
TL;DNR What are the best network settings and design for a Scale server with a VM that requires access to the Truenas storage via NFS and access to network devices with intense UDP streams?
Situation: I am in a home network with a /24 network address space. All clients are Linux, Android or misc. IOT devices. The network attaches to the internet and is administered (DHCP, DNS, etc) through a DD-WRT router. The Scale server is standalone, with no HA applications expected. Scale server currently has a single NIC.
Scale server has following roles
TL;DNR What are the best network settings and design for a Scale server with a VM that requires access to the Truenas storage via NFS and access to network devices with intense UDP streams?
Situation: I am in a home network with a /24 network address space. All clients are Linux, Android or misc. IOT devices. The network attaches to the internet and is administered (DHCP, DNS, etc) through a DD-WRT router. The Scale server is standalone, with no HA applications expected. Scale server currently has a single NIC.
Scale server has following roles
- Centralized data storage. Primary access is through NFS shares, though I do use secondary methods of DNLA and Nextcloud file access for case-by-case accesses.
- Media Server. Much of the data stored is video, music, and photos. My primary media clients are Kodi boxes accessing the centralized storage via NFS. I also have a DVR powered by MythTV that is currently an external box accessing storage via NFS, but I want to convert this to a virtualized solution on the Scale. During this transition, I may change softwares to something more modern such as Jellyfin, but I am still exploring whether Jellyfin’s PVR solution meets my needs. Regardless of software, there will be a virtualized media server accessing storage via NFS, attached to clients on the local network via IP, and being fed media streams from a HDHomerun networked TV tuner. For those not familiar the HDHomerun is an OTA Antenna to IP transceiver that uses UDP to send its video streams across the local network. A secondary capability of the media server is to serve files to a couple of DNLA clients.
- Nextcloud server. I plan on installing a virtualized instance of Nextcloud, primarily as a contacts management server, and a last resort access-to-storage server. I am not sure if I am going to use the k8s Nextcloud or spinup a full VM, but I am leaning towards the k8s. It is networked only to the local network, not the internet.
- Future expansion. Let’s assume I will find another virtualized app or two I will want to host on the Scale server. I can’t specify these yet obviously, but let’s assume they will happen. I do not see a large number of apps, or anything intensive like a Minecraft server, but let’s assume something will be added.
- I am fairly open to how servers are addressed on the network. Ideally I think giving each app its own IP address is best to minimize port-mapping headaches, but specifying ports in URLs is not an obstacle of concern.
- If possible, keeping things on a single network would be nice to avoid routing headaches. But I am not adverse to multiple networks or VLANs if that is the best solution.
- Scale has (as far I know) an issue with connecting Virtualized (VMs, K8s) clients with NFS. The known solution is to setup a bridge. Does this apply to SMB shares as well? While I would dislike converting to SMB, it is a valid solution.
- HDHomerun does not like internetworking. I believe because of its reliance on intense UDP streams, it is recommended that the HDHomerun and the client be on the same network. For K8s, when HDHomeruns are involved, I usually see the option networking=host is invoked. For this reason, and a general inexperience with K8s, I have been expecting to put the media server function in a VM, not a K8s. But I am starting to feel the above virtualized NFS issue may be an issue solving this.
- DNLA is a desired option, but suffers from similar constraints to the HDHomerun.