Large Scale Management - Linux vs Solaris?
A not-so anonymous, Anonymous Coward asks: "I work for a college that offers undergraduate computer science classes, and the school would like to add a new lab with about a hundred computers for students to use, for various class projects. After some non-trivial effort, we convinced the school to set up a Unix lab rather than a Windows one. However, we can't decide whether to go for Solaris or Linux. Regardless of the cost of hardware, I couldn't get agreed with my colleagues about the amount of efforts required to manage a hundred of Linux PCs vs. a hundred Sparc boxes. I believe that there are many Slashdot readers are actual managers for labs like this if not in large scales. What are your experiences of managing Linux PCs versus traditional Solaris boxes?"
"My detailed questions are:
1. Compared between these two different systems, how easy to maintain the software for all these machines (including re-installation, patching, and updating)? What software do you use to make these management jobs easier?
2. Are there any fundamental differences between managing a large group of linux PCs and managing a large group of Solaris boxes?"
And with Knoppix. Just burn new CD's when new releases come out. No need for hard drives. Students that use the computers can get portable USB drives.
As far as how we manage our clusters, the answer is the same for Solaris, Linux, and for the matter Mac OS X: radmind. Check it out. It integrates tripwire and filesystem management. We use it for installation, patching, and updating.
:w
...Linux largely wins. The Solaris kernel is much more mature than Linux (instantly earning me a boatload of kneejerk flames on slashdot), but their userspace tools are crap. The desktops shipped with Solaris are ugly and awkward to use, and getting KDE or Gnome to build and run properly can be an exercise in frustration if you're not familiar with Sun's way of doing things.
On the flip side, installing a hundred Solaris boxes is trivial using their JumpStart programs. A new client system RARPs an IP address from the server, downloads a small kernel from the server, NFS mounts a copy of the installation packages from the server, and does a hands-free install. It's extremely flexible and has been ion production use for years. For Linux you're stuck with walking around with CDs, or using some kludge from sourceforge, or a less-well-tested solution like whatever redhat uses.
Along the same lines, Sun's patching utility is designed with remote-boot or diskless clients in mind. You apply the patch once to the directory tree being used, and you're done. Something similar can be done with diskful clients. Linux binary packages mostly assume that the machine is on its own, so each box will want to download from a remote site and store a local copy, leading to atrocious workarounds like an NFS-shared /var/cache.
Honestly, it doesn't make much difference. You'll be writing wrapper scripts and custom solutions either way. The difference will be in other factors, like cost of hardware or price of support or political games with the rest of the organization. Having managed groups of both kinds of systems in a production environment for years, I would probably recommend Linux to someone who is asking for recommendations. Not because it's inherently superior, but because you seem more comfortable with it.
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
I don't know if it means a whole lot to you, but the computer labs at UC Berkeley use Solaris and Sun Rays (little dumb terminals.)
The package has worked very well for me as a student, and I would think/hope that Sun Rays are cost effective and an easy boxed dumb terminal solution. (Since I've never had such a demand, I don't know how much they cost and such.)
Our web site also runs on Solaris.
I find it rather ironic, but I somewhat thought how appropriate it would be that we'd use a BSD of some sort. Speaking of which, you should really look at BSD as an option -- it isn't nearly as edgy as Linux, and when you're hacking away on the common file server you do NOT want the thing to crash on a few hundred rabid CS undergraduate students close to deadline.
My vote:
-Solaris for a paid for good dumb-terminal option (Comes with the benefits of cost/having to maintain one server, and the obvious downsides of the server failure...which shouldn't be too hard to prevent if there is good supporting staff for that one machine)
-*BSD is more solid/mature overall but may require some more screwing around with and doesn't offer a nice, out of the box, trouble free dumb terminal solution as Sun Rays do.
-Linux is fine, lots of people use it personally and we have many Linux support groups, but for the big servers that have to be solid more than perform at the bleeding edge, I would put a cautious vote against this vs. the other two options above.
Lastly, thank you for fighting and not selling another CS lab to Windows. Students I think will be better prepared at large when exposed to a non-toy operating system and are forced to use it to at least some productive degree. I myself log in via SSH from an XP box and run Exceed (X Windows server), start up emacs, and between that, a GDB buffer, and the terminal, I may as well be sitting at a lab computer. (with lag, as would be expected but not bad at all)
"I couldn't get agreed with my colleagues about the amount of efforts required to manage a hundred of Linux PCs vs. a hundred Sparc boxes."
OK, first up - Solaris doesn't have to run on Sparc. You can get Solaris for x86. So, that in mind, think - Do you want (to install and then support) x86 boxes *or* SPARC boxes? What does the rest of your infrastructure use? Is there a skills base for looking after SPARC stuff?
Next up - What apps do you want to use? Do they run on Linux, and do they run on Solaris? Do you have a killer app that must run, hence influincing your choice of O/S?
Next, what experience does the team have in supporting these different O/Ses? Having two people on staff who use Linux at home to play Quake and look at porn does not qualify as adequate experience for maintaining a network of Linux-based machines. Same applies for Solaris.
Looks to me like you need to sit down and properly evaluate what you've already got, what you need, how you're going to look after it, and how you're going to get there.
easy now.
Ali Flea.