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

21 of 113 comments (clear)

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

  2. MSU has done both by Jerf · · Score: 2, Interesting

    The Michigan State University Computer Science department has managed both. I do not personally know how the admins found the machines to be, so you'd have to contact them. I do know they had two Linux labs and cut it back down to one, but I don't know the reasoning (or if it's still that way). I'll refrain from speculating because I don't think that would help any.

    Hint hint to all the budding Linux advocates who have no experience managing labs of any machines, let alone these two specifically... speculation isn't really useful and this is a really specific use case. With computer science users you have to assume both "knowlegable" idiots, and some quite knowlegable malicious attacks.

    For a specific latter of the former, we'd do OS projects that involved using the operating system support for semaphores. In Solaris (at the time we were doing this, I don't know about now), there were a very specific number of semaphores that could exist, and since certain parts of the operating system also used them, a single poorly-written program involving semaphores could easily consume them all. "Knowlegable idiots." (I didn't actually do this, but only because I caught my error while I was compiling it... if I'd run the resulting executable I'm about 80% certain I too would have DOS'ed the machine... definately a "do it early" assignment! This class, IIRC, was eventually allocated the aforementioned Linux lab because they kept hosing all the other class's homeworks, which were typically all due at midnight on various Mondays.)

    As for the latter, I'm sure you are all aware of the number of security vulnerabilities in things that involve having console access or other otherwise "legitimate" access to the system.

  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.

    2. Re:Other than installation and patching... by __aafkqj3628 · · Score: 2, Funny

      Well I can't really argue with you much there, maybe the first assignment could be -

      100% of grade
      Write a replacement
      Due: Before you shoot yourself

  4. Network boot, PXE, initrd, rsync by Colitis · · Score: 2, Interesting

    That's the way I do it at work, all the machines boot off the network and pull their entire filesystem down from the server with rsync.

    Makes the machines very very easy to keep updated (via chroot on the master image server) and practically indestructible.

    The increase in my workload when going from supporting it on around 250 machines to around 400 machines was approximately zero.

  5. Why not Mac OS X? by plsuh · · Score: 5, Interesting
    Not to start a flamewar, but genuinely curious about why you're not considering Mac OS X for this lab? It has some nice features for a CS lab.
    • Free GUI dev tools (XCode) built on top of gcc
    • XCode's fix and continue and zero link systems for speeding up debugging
    • XCode's distributed build system
    • Cocoa API for rapid application development
    • BSD-based OS at the lowest levels
    • Perl, Python, Apache, PHP pre-installed
    • JDK 1.4.1
    • Oracle, Sybase, MySQL all available natively
    • Nice low-level PowerPC arch with lots of registers for teaching asm classes
    • Altivec SIMD beats the living daylights out of MMX/SSE/etc in terms of both speed and clean architecture
    • Source code to Darwin layer available for free under open source license
    • Multithreaded OS all the way down into the multithreaded kernel
    • Rootless X11 server that utilizes hardware accel an optional install.
    • Vendor-supported Netboot/NetInstall with Mac OS X Server for easy lab maintenance
    • Panther (10.3) can tie into LDAPv3, NetInfo, NIS, Active Directory, and Kerberos-based directory service networks natively out of the box
    • Tons of open source software available via either Fink or DarwinPorts
    • BONUS - can install MS Office, ThinkFree Office, or AppleWorks and allow non-geeks to use the machines for writing papers, etc.

    Apple's prices for higher education are quite reasonable, especially compared to low end Sun-Solaris-Sparc. What say you?

    --Paul
  6. Sun Rays by bulldog2260 · · Score: 2, Insightful

    My college uses 64 Sun Ray's attached to a E450. It works flawlessly. They system is able to handle the loads just fine. Haveing a Sun Ray environment enables them to have a central point in which they can upgrade and patch rather than having numerous machines in which to admin.

  7. Re:Go with Linux by exhilaration · · Score: 2, Insightful

    Most computer labs should disable booting from CD - allowing your users to run arbitrary software will eventually result in a visit from the FBI.

  8. As an Undergrad Comp Sci Major.... by Prien715 · · Score: 3, Interesting

    I'd honestly prefer linux. Three reasons:

    1) Home Use: It's something you could give people to use on their own computer. The knowledge they learn using Linux in the lab won't be lost. They can go home and install whatever distro you choose if they wish. Whether they do their project in the lab or in the dorm room, they can have exactly the same setup -- if they so choose.

    2) Better user interface. Sure you can install Gnome on solaris but most people hoenestly don't.

    3) Better Performance/Price ratio: Price is always a factor and is correlated with performance. I couldn't stand the way matlab ran on some solaris blades which weren't updated due to cost. I eventually sucked it up and installed it on my own machine because I couldn't stand waiting literally five minutes for the machine to tell I made a syntax error. (And to all you profs out there: please, PLEASE, test your projects. My class was assigned a project using an (O) N^N algorithm. He hadn't attempted implementing the method, but it would've taken well over 3 months on a 20 proc Sun machine to run our assigned data set.)

    --
    -- Political fascism requires a Fuhrer.
  9. 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.
  10. 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)

  11. Re:Go with Linux by LuYu · · Score: 2, Insightful

    Hacker != cracker

    What you are talking about requires malicious intent. Are you saying that Linux was created out of spite?

    Hacker means programmer. Just because the knowledge to create includes the knowledge to destroy does not mean that those who create necessarily destroy. Malicious intent is independent of computer knowldege.

    --
    All data is speech. All speech is Free.
  12. Take a look at the BSDs by root+66 · · Score: 2, Interesting

    Personally, I'm replacing all my decent Linux systems with FreeBSD now.
    I find it way easier to maintain and keep uptodate - and that without losing stability.
    For system updates, you recompile it on one box, let the other systems mount the src folder via NFS and install the files.
    Same is true for the ports (i.e. all the additional software). The portupgrade(1) tools make software management *very* easy.
    If you don't want to reinstall from scratch once a year, you are on the good side with BSD: the system interfaces rarely change much, and upgrading even works fine between major versions.

    Apart from that, BSD has
    - way better NFS support than Linux, especially when it comes down to stability
    - a great community. People on the mailinglists are both very helpful and inspiring.
    - a long history regarding universities.

    HTH.

    --
    -- I love the smell of Blue Screens in the morning.
  13. Hardware, not software by Fished · · Score: 3, Insightful
    Having administered computer labs running both Linux and Solaris, I think you'll find that software is less important than hardware. PC hardware tends to be cheap and inconsistent - I have not encountered any PC hardware that gives the day-to-day reliability of even a crappy Sun like an Ultra 5. In terms of Software, you just get a lot more out of the box with Linux that you will spend weeks downloading and compiling on Solaris. For example, KDE, GNOME, a modern version of perl, StarOffice, etc. all come stock with a Linux distro, but have to be added to Solaris.

    On the other hand, there's no reason you have to run Linux on Intel. You could get Macs, as one person suggested, or even load Linux on Solaris. Of course, if you get Macs, why not run OSX? Frankly, I think OSX is the nicest UNIX variant out at the moment, it runs everything you'd expect UNIX to run, AND it has two important bonuses for your purposes: (1) Microsoft Office available and (2) the NextStep programming environment (Cocoa), which is widely regarded as one of the finest ever made. It is also very managable, includes good and robust Java support, and Apple does a good job with updates and the like.

    --
    "He who would learn astronomy, and other recondite arts, let him go elsewhere. " -- John Calvin, commenting on Genesis 1
    1. Re:Hardware, not software by hardave · · Score: 2, Interesting

      I'm going to have to correct you there on the software issue. The latest Solaris 9 now ships with Gnome in the core install, not as an add-on. Perl has been in core Solaris since 8. Staroffice is still an addon, but for good reason. 80% of solaris users run it on servers, and most people don't need StarOffice taking up disk space on their database or web servers. But if you do get the Solaris media kit, it comes with a CD to install StarOffice, no need to go download.

      I most definitely have to agree with you on the hardware though. SUN hardware is top of the line, and they have the warranty service to prove it. All sun hardware comes with a minimum 1 year warranty on parts, the workgroup servers come with a 3 year. All desktop class machines come with a one year ONSITE next-business day warranty. That means if you have any sort of hardware problem, call the support line and if you're in a city with a Sun office the next day you'll have a SUN system engineer in fixing you desktop machine.

  14. Quit arguing and pick one by ader · · Score: 2, Insightful

    You're going to read justifications from both sides of the fence, then all kinds of reports to discount assertions made by each side, plus random alternative advocacy for favourites like MacOS X. Your problem isn't picking "the best" option; it's that your team can't (or won't) stop arguing about it and while this drags on, the people you convinced to go with Unix over Windows will wonder if they couldn't have had a W2K network in the same time.

    Face it, when you pick one then you'll have to make it work in a consistent, reliable and centralised fashion because you won't be going back. And you can do that with either Linux or Solaris because the solutions you want exist for both; in many cases, it's the same (Unix) software, like Cfengine. Don't spend too long worrying about which is easier or harder to set up and manage; once you've learned how with either OS, which you're going to have to do anyway, then it will be "easy".

    Ade_
    /

    --
    Big Bubbles (no troubles) - what sucks, who sucks and you suck
  15. Solaris. Use. Solaris. by nbvb · · Score: 3, Interesting

    Single Vendor Support.

    Hardware, software, servers. All one phone number.

    It matters. Anyone who says it doesn't has too much free time on their hands.

    A Sun system breaks, great, you call Sun, they come out and fix it. Then, if it was the HD that failed, you type "boot net - install", come back in an hour, and you have a fully working machine.

    Besides this, if done right, a Sun lab is a "WOW!" factor.

    When I attended Montclair State University, most labs were PC & Mac. We had one SPARC lab -- SPARCstation 5's & 20's.

    That was the "WOW" lab. Whenever the Dean needed to take someone on a tour, that was the lab they stopped in.

    And I have to tell you, as an undergraduate, it was DAMNED cool to work on Sun workstations ...

    Forget that KDE/GNOME/whatever bullshit argument. CS students will use whatever they have. It's *GOOD* for them to get exposed to other environments, whether it be OpenWindows/CDE (as it was in my day... Solaris 2.5.1) or CDE/GNOME or whatever.

    A desktop is a desktop. Forget this "it's familiar" or "it's easy" bullshit.

    What difference does the desktop interface make to people who are majoring in CS?

    If it does, they should reexamine why they're there.

  16. Go both for better education. by jellomizer · · Score: 3, Insightful

    If you are concerned with the educational value. I would suggest that you use both. Half Sun and Half Linux. Using Both platforms helps teach the students the difference and similarities between the two platforms. As well any programming differences. But the two platforms are similar enough to install the same set of GNU tools. You want your students to go into the market place with a good verity of platform knowledge. Plus if a class needs all Suns or all Linuxes they can just SSH to each other and open a remote X display for any GUI tools that they need. This helps encourage good platform independent programming.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  17. my experiences in the professional world by Raleel · · Score: 2, Interesting

    I am a former comp sci lab admin, and am currently a unix admin at a largish facility.

    1) How easy are they to maintain?
    I've found them to be roughly equivalent on the software side of things. There are tools with each that makes it fairly easy. I think the linux tools are a bit more...widespread, perhaps. I've had extensive experience iwth redhat and their tools are pretty good. Debian also has a nice set, but my experience has been limited to fink running on os x (at least, my experience with apt). Reinstallation of linux pc's, from my experience tends to be faster by a fair margin, as well as patching. I use kickstart from redhat, and apt for rpms.

    That having been said about redhat, I might think twice about them in the future. They are making it difficult for me to continue using them, since they changed their maintenance cycle. yes, I work at a big facility and we have a fair chunk of cash. No, we don't need to pay enough for another person just for new patches. Per year. We'll roll our own at that point. We'll see what comes out of the fedora project (fedora.redhat.com) and if we can use that. Otherwise, I think the next on our list is knoppix.

    2) No real fundamental differences on the software side. On the hardware side, pc hardware is cheap, but then again, you can go to a local vendor and pick up parts.

    Two ideas stick out from the discussion that I should like to mention. One, the idea of dumb terminals. For a computer lab, i really like it. There are linux mechanisms to do it (k-12 linux terminal server project being one specifically designed for schools) as well as the aforementioned sunrays. In either event, I like it a lot. It makes management easy, it prevents a lot of problems that you will run into with smart kids doing bad things :)

    The other is knoppix. Not necessarily running in the machine (although that is an option) but rather going with a knoppix/debian at the lab (perhaps even on the terminals) and then being able to give a cd to the folks in the lab and saying "this is what we run, you can run it at home, and don't have to delete anything"

    Ok, a third idea comes out as well. I like os x a lot. I've grown to like it as much or more than linux. I'd seriously consider that route. They do give some serious education discounts. The tools are there on os x as well. It's a good system.

    --
    -- Who is the bigger fool? The fool or the fool who follows him? --
  18. Re:Have you considered SunRays? by Dan+Farina · · Score: 2, Insightful

    As I had posted earlier, this is the solution my university prefers. Since posting my comment I've poked around on the internet looking for similar "ultra thin" (as opposed to just thin) clients, but have found no well known solutions outside the Sun Rays. I really can't think of anything that is more appropriate for mass administration. I have never suffered lag or slowness, although there are occasional problems (usually network related, I assume) to small clusters of terminals. As much as everyone loves the OSS poster child, Linux, I think that it would clearly be more difficult to administer and maintain that a few quasi-monolithic Sun servers. Is it possible to manage a lot of linux/*BSD/Whatever machines? sure. But I think it's clear none is easy as ultra thin clients and Solaris.