Pre-purchase / capabilities question

Can a Pi 4 with 4GB RAM run the following three applications simultaneously - SMB/cifs/NFS NAS with two 5TB drives attached (one for incremental backups via rsync), PiHole to stop adverts and a Webmin type headless server management tool?

I want to purchase a Pi 4 with 4GB RAM for use in the following manner using the Raspbian operating system:-

As a small SMB/cifs/NFS NAS, with 5TB on one USB 3 port, and a backup 5TB on the other
Would the above configuration also be able to run PiHole to protect users browsers from the nuisance-stream of web adverts which constantly clutter and interrupt research progress, while still handling the SMB calls (only two users)?
Is there anything in the Raspbian repository that can be used for headless server management - similar in function to Webmin (http://www.webmin.com/index.html)?

I am reasonably confident the above hardware configuration should be man enough for each of those tasks individually and probably two at a time, but is it man enough to run all three functions simultaneously - SMB NAS server, PiHole and webmin (or equivalent)?

Any advice would be very much appreciated.

Thank you
Alex

It will entirely depend on the request load. A hunk of memory will be taken by the operating system and default services. A huge hunk of memory will be taken by filesystem metadata for the two 5TB drives. The services you listed will load and live in memory together, and won’t need all that 4GB to be able to respond to requests. But how they will contend for memory with the block cache will depend on the request load and how it is spaced across the filesystems. Also how much they will contend for the CPU cores will also depend on the request load. In turn the request load will depend on the number of simultaneous active users on the network. Bandwidth between CPU and memory will be a choke point, as well as the network interface and the USB storage driver.

My gut feel is you’ll see these kinds of user experience levels;

people user experience level
just you with a computer good
just you with computer, phone, tablet, television good
you and a partner fair
you, partner, and three kids poor
small business with a team below four pathetic
small business with a team above ten nonexistent

If you find the Raspberry Pi 4 doesn’t perform to your needs, I’d go for an Intel NUC, an Apple MacMini M1, or a whitebox system with good memory bandwidth.

Hope that helps!

Hi quozl,

Thanks for that. Since there are only two of us on the system and the disk is only there fro us to share data on the cabled network and all WiFi disabled, that sounds reasonable.
Based on your reply, should I consider the 8GB Pi?
Do you think that the extra RAM would make any performance difference, or do I wait for Pi 5(?), which will hopefully have more grunt?
The second disk will only be mounted when I want to run weekly backups, which could be run either by Telneting in to the unit, starting an rsync script and logging out of Telnet, or via the headless management application.
Speaking of which, is there such a headless management application in the Raspbian repository, or should I install the Debian version of Webin?

Thanks and regards
Alex

Given two people, I’d find 4GB sufficient. An additional 4GB would be used by block cache of disk content, so sharing recently written data would be faster because it could be taken from memory rather than using the USB to get at the disk. It depends on how much sharing is actually done, and how much data is shared. For instance if you regularly share small files, it will help, but if you share anything larger than the memory size of the Raspberry Pi the block cache will be preloaded with the tail of the file you want, instead of the head, and once the head is read back in the block cache won’t have the tail, so it may as well not have been there.

Raspberry Pi OS (formerly Raspbian) like Debian has SSH for remote management, which is my favourite, or you can add a VNC server if you need anything from the desktop environment. Webmin I used once upon a time, but I don’t find it packaged these days. I stopped using it about 10 to 15 years ago, because I find command-line actions more reliable and satisfying.

What an excellently informative answer. If there was a ‘star rating’ system, you would get 6 out of 5!!! That was great!!!
I too used webmib about 15 years ago on a headless Ubuntu server in my early forays into Linux.
Just thought that if you are interested to try it again, it can be found at https://prdownloads.sourceforge.net/webadmin/webmin_1.962_all.deb
Obviously not in the repos. any more, since I guess they have some sort of problem with Debian’s ‘Open Source’ only policy?
Thank you, Thank you again for that very detailed answer.

Regards
Alex

It’s very complicated. I’m James Cameron, and I work for One Laptop per Child, where I’m CTO. The author of Webmin was Jamie Cameron, no relation. Like my namesake in the movie directing business, I was often confused with Jamie as well. I was a contributor to Webmin at one stage.

Webmin was excellent at the time, but it was eventually not maintained in the face of dramatic improvements to how Debian handled configuration files. Those improvements made it easier to clone and reproduce complex systems and to merge your own configuration file changes with Debian releases. Eventually the Debian Project dropped the package once the volunteers dried up.

It is possible that these problems could have been resolved since, but I’ve not checked.

I deployed Webmin in a couple of outback community technology centres for use by people who really couldn’t type very well, and were unwilling to learn command-line techniques. Using Linux for the servers saved us thousands but did bring with it little issues like that.