SemiThin

My idea for network management bliss:

Summary: Imagine that updating all the computers on a network was as easy as setting them to download a compressed filesystem containing all the changes to their software. You would only need to update this one file to update them all. We could have all the filesystem compressed into a little squashfs archive. All the computers would check a server for an update, download a diff file of the new archive, and if all the computers were set to look at this one server they could use bittorrents even to reduce bandwidth.

Full Description:

We setup an environment using scripts or maybe even a nice graphical environment to setup the initial filesystem. This will ask for the server that the computers will contact, what software to have by default, and whatever other options we want. Then the filesystem is created in a chrooted environment that we can then edit manually as needed. When all is said and done we create an iso file that is bootable such that it will overwrite a computer to have a default install as we specified. The computers with our new install will have all the basics needed to start, kernel, busybox, some update scripts, bittorent. Then it will have a squashfs archive that will be autoloaded at startup. The computer loads just like a live cd does.

The big thing is when updates occur. When the install of the cd was made it was set with a cron job that checks for updates at a specified server for a diff file against the current squashfs archive for all our programs. If their is a new diff file then it opens up the diff.torrent, gets the new diff, applies it to our filesystem and starts anew.

Advantages:

Amazingly easy network administration. Imagine that if the users wanted a new program all you had to do was go to your server, log in, run your "add new program wizard, choose your new program, finalize it, and BAM every computer will have it by tommorrow.

Adding on to that updates will be amazingly easy too. Just go to an update function(that really just goes into your environment and apt-get updates everything) and finalize it.

The filesystem will be read-only and anything that messes with it will corrupt the data. This is good in that if a system is every compromised all that needs to be done is that it be restarted. If its corrupted then the "base" install will download a whole new squashfs archive on startup.

Disadvantages:

Can be quite heavy on the server so hopefully torrents may help for bandwidth issues.

Huge installs will have to be watched as diffs may be big on updates.

Updating the "base" install of the kernel, busybox, etc will require some sort of update system as well. Hopefully they updated less frequently.

Others??

Comments or Questions:

I really wish this could be implemented globally as well with plans for an iso that creates seeders of updates by default.

See also Stateless Linux


CategorySpec

SemiThin (last edited 2008-08-06 16:16:56 by localhost)