Slashdot Mirror


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?"

7 of 113 comments (clear)

  1. Go with Linux by Anonymous Coward · · Score: 1, Informative

    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.

    1. Re:Go with Linux by innosent · · Score: 4, Informative

      No, don't use Knoppix/Gnoppix, it will actually make things harder to administer. The best route here is to use a local hard drive for swap, /tmp, and machine-specific /etc/localmachine files, but have a root (read-only) NFS mount from a central server, as well as the user (/home/xx, read/write) mounts. Use a good caching filesystem for /etc, /usr, /bin, /sbin, and /opt (read-only), and you'll cut back on the network traffic. This makes upgrading easy, keeps the students files accessible from any machine, and means that things like kernel upgrades, security patches, etc. only need to be done once. Just set up the root mount as a directory on the server, and set the tftp/bootp servers up. Get decent ethernet cards in all the machines (that allow booting from tftp), and you're done.

      As for which operating system to use, it really doesn't matter, but why pay for licenses if you don't need to? If the PHB's don't like Linux, use Solaris, but otherwise there's no reason to use a commercial Unix. If you feel that you need to, put Solaris on the main server, with Linux clients, but realise that this may limit you on caching filesystem choice. As for what to install, use GDM/KDM for logins, install both Gnome and KDE, and Evolution, Mozilla, OpenOffice.org, and whatever other apps (oregano/spice, verilog, anjuta, jdk, etc...) you need, and you should be set. Set links on the shared /etc to /etc/localmachine/xx for any files you need to. This actually seems like a good situation for something like Gentoo or *BSD, since you'll probably be very selective in what software is installed, and need to keep up with security patches/new versions. Allow users to mount the cdrom drives (on their local machines), floppies, and usb disks, but don't allow the machines to boot any other way than tftp.

      --
      --That's the point of being root, you can do anything you want, even if it's stupid.
  2. UMich experience + radmind by More+Trouble · · Score: 5, Informative
    We manage large clusters of both Solaris and Linux machines. We are in the middle of moving all of the UMich central infrastructure to Linux, mostly for cost reasons. The main difference is that Sun hardware is better in a lights-out environment. For a lab environment, this shouldn't be an issue. As far as OS speed, simplicity, and flexibility, I think Linux beats Solaris hands down. And Intel hardware is way cheaper and faster than Sun hardware at the low end.

    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

  3. Other than installation and patching... by devphil · · Score: 5, Informative


    ...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)
    1. Re:Other than installation and patching... by dfreed · · Score: 5, Informative

      Debian.
      Cron apt updates installed packages on the schedule you specify. apt-proxy sits between you and the net and keeps a local mirror of the packages requested, so 100 requests = 1 outside request. Plus you can add your own custom packages to it so that your machines are configured properly. Upgrades? Well by hand it's
      apt-get -y dist-upgrade. The stable branch is just that, and the testing branch is really production ready for most definitions of production. Please remember red hat != linux, it is just a distribution with bad package management; but not anywhere near as bad as Solaris package management.
      Why is Solaris worse?
      1. Solaris does not do reverse dependency checks beyond the parent level.
      2. There is no tool to verify that all the proper packages are installed prior to installing a new one.
      3. Sun knows this and their help desk acknowledges that it is a known issue. They also indicate that there is not plan at this time to fix the problem.

  4. UC Berkeley uses Solaris by Dan+Farina · · Score: 4, Informative

    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)

  5. Errrm, hold on. by Anonymous Coward · · Score: 1, Informative

    "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.