FOG Server complete on NAS (e.g. Thecus , QNAP)
Hello has anyone tried to install/adaptfog server to a NAS?
On my case it is a Thecus NAS N4200 Pro, but i think the the adaption is similar on diffenrent except the modul installation.
for my understanding are this the main components
(correct me if i am wrong - not a network specialist ):
- Server scripts
- Server webfrontend
Are there users here who have installed fog server to a NAS, please write if only some points (NAS as storage note) run on a NAS with restrictions.
If you can SSH to your NAS then go ahead and try (after backing up of course)! Quite a few NAS do support an awful lot of things; looking at my own synology, that has a dashboard where you can install web servers, MySQL, bulletin boards - all sorts really so it isn’t too much of a stretch to imagine FOG can be installed on the NAS. It all comes down to what flavour of Linux the NAS is running and how friendly it is to repo’s vs recompiling…
Building a “docker” element for FOG, ultimately, wouldn’t be that hard. The part that makes FOG as a “docker” easy is ONLY the AMP portions though. (albeit the device needs to support it).
The problems with having such a thing are unrelated to the AMP portions though. They’re related to the “extras” we need. For example, NFS and FTP are common place, but required elements. This is not a problem though as most NAS’ support these two types of things. Where you might run into problems, however, is the replication of images across other nodes as we use the lftp utility that I don’t think is available on NAS’ as readily as full blown OS’. The parts that are a bit more difficult:
- DHCP (if needed to host on the device).
- UDP-Cast (if needed to multicast images to devices).
- TFTP Servers (To allow PXE booting to happen).
- CVS Client (Subversion - svn, or GIT to enable relatively easy upgrades).
- Certificate Handling (openssl - to allow clients to trust the fog server).
These are just a few of the things I can think of off the top of my head.
Installing FOG directly on a NAS hasn’t been done as far as I know. We have setup a NAS as a FOG storage node, with the FOG server running on a small linux platform some place else.
The problem with running fog on a NAS is a couple fold.
- NAS’ typically have very limited RAM. Typically just enough to run the NAS’ OS with a little space for an plugins they might support.
- NAS’ typically have underpowered CPUs. They are sufficient for moving data from the local storage to the network, but they are typically not designed to run a local database. Many are single core Atom processors.
- Not all NAS devices use IA32 instruction sets. This isn’t a big deal as long as the arch used has a decent repository for packages.
- FOG relies on a lot of other 3rd party technology for imaging. Again this goes to the distribution’s repositories have to be robust. FOG uses a lot of PHP libraries, your NAS’s distribution must support them if the FOG installer doesn’t supply them directly.
With that said, I’ve run FOG on a Raspberry Pi2 and Pi3 devices. They do work surprisingly well for how small they are. I would almost put these devices in the same class as a consumer NAS. They run Cortex ARM 4 core processors and do have limited on board RAM. The advantage of a PI over a traditional NAS is that raspbian has a large support base so they have available all of the modules that FOG uses. I’m not saying that the Pi is an ideal solution. Its just one way to accomplish a very tiny deployment.
You can run fog in somewhat of a split mode, where FOG could run on a VM or (I guess) repurposed desktop hardware with all of the storage on the NAS. In this case you would setup the NAS to emulate a FOG storage node, where nothing would be stored on the FOG Master node.
You do have a few options. If you are skilled you could even manually configure FOG on your NAS, assuming their repo has all of the modules FOG installs from a traditional linux repo.
FOG uses the traditional LAMP stack (Linux, Apache, MySQL, PHP). If your NAS supports the AMP part then you might have some luck.