I put Ubuntu as the prefix, but, this could easily switch between Ubuntu Server and Ubuntu Desktop.
It has been some time since I have built a Ubuntu NAS system, my last build is about 9 years old (I think it was originally build with 16.04), and had constant hardware upgrades - but never a new build, though it is now running Ubuntu 22.04.X. But because of the large period of time that has elapsed, I wanted to do a brand new system, and update the architecture and infrastructure to be more modern, to make it easier to manage with some of the newer software that has come out.
Currently, the plan is to have:
- Ubuntu Desktop / Ubuntu Server 22.04 or 24.04 (whatever is available at the time of finishing and completing the build)
- Anything that can be dockerized, will be.
- Any service that isn't fundamental to the Operating System, my hope is, can and will be dockerized. For example, things like SMB/Samba, Plex, Hardware Monitoring tools, etc
- Right now, I have about 20 Dockerized Services
- Have 100 TB ZFS pool, debating putting a SLOG, ZIL, or L2ARC on an Optane Drive
- Have a nvme "cache" drive for the services running on Docker (I have found that with my older NAS, the ZFS pool is not sufficient for data IO)
- Running the main OS on USB (or I might re-purpose an old 2.5 SSD).
Current Hardware is:
- MSI Z790I Motherboard
- 13600K
- 64 GB of RAM (non-ECC)
- 1x 2TB NVME drive
- 1x Intel Optane Drive (128GB)
- 5x WD Red Pro 22TB drives
- Silverstone SATA Expander NVME Card
With that said, some of the features I am looking to do that I need advice on:
- Use guacamole to have a desktop interface if I ever need it / for ease of use when hooking up physical devices to the NAS
- Ideally, that doesn't attach to the main display, but auto creates a new session when authorized and authenticated and rebinds to existing display sessions where possible
- Run a 100TB ZFS pool
- What is the most optimal configurations for ZFS now a days?
- Being used for photos, large file storage (EG: PSD, Video Editing), pdf documents
- Hardware Monitoring
- Best use cases for SMART Monitoring, Power Efficiency Tweaking, Fan Speed tweaking, etc
And these are the things I need help with planning, not necessarily the whole configuration and everything - I have already written up the docker compose configuration for several of the services I plan on running/using, but for the services that are going to run on the bare metal OS, just understanding how I can achieve it or what is the most optimal way to configure it through the configuration files or new packages that may be have been released, or maybe to learn about some new configuration options that were not previously available 7 years ago.
For ZFS:
As an example, I have been reading several more recent posts:
https://forums.servethehome.com/inde...in-2023.40773/
https://www.reddit.com/r/zfs/comment..._what_are_the/
https://www.servethehome.com/what-is...es-a-good-one/
And it seems like the idea of having the ZIL or SLOG is overall better, though I am not entirely sure if there are any performance tweaks, or changes I need to make in any of this configuration for the intended use case.
The last time I built the ZFS pool above, I got heavily invested in needing to tweak very specific ZFS settings, but, not sure if that is still needed now a days for home nas use? If I was running a production business-critical system, I would imagine so.
For Guacamole:
Honestly, I am not sure where to begin. I am aware that Ubuntu can run a desktop environment over a VNC port or equivalent, but, not sure if there is newer protocols that can be used to also provide sound, better UX capabilities (such as file transferring, copy paste, etc).
I have been reading:
https://guacamole.apache.org/doc/0.9...guacamole.html
https://www.linuxbabe.com/ubuntu/apa...p-ubuntu-20-04
https://www.linode.com/docs/guides/i...tu-and-debian/
And honestly a few others, I also just don't want to keep posting links - as I am worried it might flag a spam filter or something, but, what I see are a lot of things focusing solely on just getting the web interface and VNC or RDP session up and running, and not focusing on extra or additional features (such as file transfer, copy / paste, or audio). Are there any guides or anything that I need to go out of my way for to get up and running on the host itself (I had planned on running Guacamole on a container).
I think the hardest / most difficult situation here, is that I want Guacamole to spin up new desktop environments rather than connect to the main display session, and when reading - it seems that most people are connecting to the main session.
For Hardware Monitoring / Tweaking:
I am honestly trying to keep this very simple, I don't expect to run TIG, ELK, or any other stack initially, but, I do want decent hardware monitoring and alerting for basic things like:
- SMART status / failures
- Temperature / Overheating Issues
- Power Consumption tweaking
For SMART tools, I have looked at services like Scrutiny (https://github.com/AnalogJ/scrutiny), and it looks like it would work well, but, as I have not been able to test it out yet - not sure if it can also send email alerts, hook into push notification services, use webhooks, etc. So not entirely sure if I need to actually do anything.
For temp monitoring, I was thinking of using NetData initially, and then when I have the time / priority to run TIG/ELK effectively, then switch over to that. But is there anything specific that anyone could recommend?
Power Consumption tweaking, I used powertop quite some time ago (even before the older NAS build), but, am not sure if it is still maintained or useful? ArchLinux's site seems to have documentation on it still, but, is there anything that needs to be done with it, other than running it with --auto-tune flag?
I am sure I am overthinking or over planning, a lot of this stuff, but, just trying to be thorough in what I am doing and researching - so I can have a fairly stable and long lasting system that I won't have to break-fix a lot of the time.
Really appreciate any solutions or offers for advice here, I might have some more questions as I come closer to finalizing the build.
Bookmarks