In a previous post, I highlighted the addition of a new server to my lab that was intended to be a VM host for all my services. That server is now officially the host to all the services in my lab, except for network storage! Not only that, but all the services that were previously provided by various VMs and native apps on Windows Server 2012 are now all operating in logically segregated and new VMs. At this time I have 4 Linux VMs running that support all of the services I need in my lab (again, except for network storage, which is handled completely by Windows Server 2012 on my R510)
Previously I had an ugly mix of services that led to a number of problems:
- Not all services would automatically start after a reboot
- If a certain service required a restart, it was likely that the entire host needed to be rebooted, unnecessarily affecting other services
- If a certain service encountered issues that required a rollback through snapshots or updates, other services would be unnecessarily affected
- Increased vulnerability as a result of external access required by some services
Each of my 4 VMs now serves a specific purpose, and services run on specific boxes so that an issue with one service won’t affect other services unnecessarily. They are as follows:
Roadhog – Plex Media Server box (Ubuntu)
- Plex Media Server
Running PlexPy on the same box as PMS means that if the whole box goes down, PlexPy won’t notify me, but it means that as long as PMS is running, PlexPy is as well, and tracking watch status. I keep a good eye on the lab so if the machine goes down I usually notice quickly. Additionally, network issues can’t affect PlexPy connecting to PMS.
Sombra – Download box (Ubuntu)
Having each of these services in a single provides some benefits:
- Simple communication between the services (Sonarr > Deluge, Ombi > Sonarr, etc), since they can all use localhost
- Many of these run on Mono, which means Mono only needs to be installed on a single box to support all of them
- Each of these services is related in nature, and can easily be moved all together if necessary
Pharah – External access box (Ubuntu)
- SSH server
- nginx reverse proxy server
Pharah is the newest box, created to replace the older CentOS box that was creating problems since it had previously supported several services and was only being used as an SSH server. It was replaced with a more streamlined Ubuntu box that only runs the services that are needed.
Pihole – Pi-Hole box (Debian)
Only runs Pi-Hole. Since Pi-Hole is a network service separate from the rest of the services, it runs on a completely separated VM so that the service can maintain as much uptime as possible.
In the future I expect to create another VM with MineOS to run a Minecraft server. For now though, all the services I run in my lab are handled by these VMs or dedicated devices such as my router.