Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

What are criteria that you should be aware for choosing an operating system for a specified server (apart the fact that software needed is only available on 1 platform) ?

For example, if I'm building an Oracle Database server, how do I choose between Linux (and which Linux) or Windows ?

For a LAMP stack ?

For storage shares ?

etc...

share|improve this question
add comment

closed as not constructive by voretaq7 Sep 19 '12 at 6:27

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

7 Answers

up vote 8 down vote accepted

It depends on the server and what it will be used for. If the server will house a particular software package, such as Oracle, ask the vendor what they recommend. What will be easiest for them to support? What OS has the best benchmarks for the software in your use case? Do you have staff who can work with that OS?

For generic servers, go with whatever your staff is most comfortable supporting. For basic web servers, if your staff knows their way around FreeBSD, use that. If they prefer CentOS, go with it. This will also somewhat depend on the software (you're probably not going to deploy Linux for an ASP.Net web site).

If there is a particular application well suited for a particular OS, such as a firewall, consider an OS with a reputation in that area. OpenBSD has a very good reputation for security, so they are an obvious choice to base firewalls on.

share|improve this answer
add comment

The software that you will install for the most part tell you what the best OS is, for example PHP, Apache, even Oracle I think are much better suited for Linux

for LAMP, Linux is a requisite for storage I don't think it matters as much, I would say Linux, but I would just go with whatever infrastructure you have in place, if you have Linux servers, then Linux

share|improve this answer
4  
Exactly. Only run Windows servers if the services you need are Windows-based. Everything else you can do with Linux. –  Gert M Apr 30 '09 at 15:55
add comment

It usually depends on:

  • What your company generally uses (and will therefore have defined 'builds' for)
  • The skill-set within the company
  • If the server is going to be in a DMZ or not
  • Cost

Everything you mentioned will run on any OS. There may be some (usually very specific) advantages for a particular OS, but usually only at an enterprise level.

share|improve this answer
add comment

Since you ask about issue besides software required that only runs in a specific platform I'll add a few specifics to what Justin said which was an excellent answer. In all functionality evaluations, skill sets available are an important factor in selecting an OS platform. That said, any business environment needing more than simple domain controllers/small network server I believe requires at least one person moderately Linux/BSD literate. My forumlae for selecting servers for functionality are as follows:

Web Servers (Especially PHP based solutions): If have at least 1 moderately versed Linux staff member: (in order of preference) Redhat, Oracle, Scientific Linux, CentOS, Oracle, Debian, FreeBSD, OpenBSD. More server admins know the Redhat based directory structure which are shared by CentOS and Oracle than Debian or OpenBSD. Hence the order of preference. Its faster, more secure, is easier to find answer for any issue via Google search and MS Windows and easier to integrate other technologies scripting for text/file processing. In response to Justin and FreeBSD: Yes its an excellent choice I agree, especially on security although its sometimes not easy to find someone comfortable with BSD environments.

File Servers: If performance and data integrity is a key requirement, Linux (Redhat, Oracle, Scientific Linux, Debian, CentOS). Many large organizations like to use Linux Software RAID 6 for their servers (I do not recommend RAID 5). You may find iSCSI and Apache Hadoop of interest.

Database Servers: If you don't need to integration something into MS SQL Server 2008+ (including Oracle Database), its Linux again. Oracle actually does run significantly faster in Linux. Redhat, Oracle, Scientific Linux, CentOS. I'm not as keen to recommend Debian based distros because I haven't run Oracle in Debian and Redhat based distros are easier to support. If you have mission-critical apps that require top performance suggest configuration on Database partition of RAID 10. Reduces disk bottleneck.

For file sets where ease of access is key, keep a MS Server for easy role based security schemas and integration into the MS windows File explorer, but would keep critical files backed up on an RAID 6 Linux file server. MS windows is not great on software raids and hardware raids can be a disaster when the controller inevitably fails and someone forgot (or too cheap) to buy a spare card ahead of time. Linux software raids are proven rock solid and not hardware dependent.

Security/Firewall Server: OpenBSD or FreeBSD are my first choice. Or a standalone produce based on of these. when it comes to security, better to get someone with the expertise in security and these OS's. Worth the investment.

Virtual Server: Here performance is critical and recommend Linux hands down. Redhat, Scientific Linux, CentOS, Oracle are easiest to support the widest variety of open-source and commercial options. There are some for Debian and BSD distros too, but not as many that can be installed, and some commercial, closed-source solutions that may be ideal cannot be compiled by hand. Know several companies using VMware, XenServer. Proxmox looks very promising as well. VirtualBox is good too.

Groupware/Mail servers: This comes down to software solution choices. If simple MS outlook integration is all that is required and the server administrators are a not intermediate-advanced, its a simple MS Windows server. If you need more advanced options and want to use IBM Domino server for Lotus Notes I recommend a Redhat based distro (Redhat, Oracle Scientific Linux, CentOS) to increase performance. For support purposes Redhat and Oracle are safest to avoid the "we don't support that OS" tag line from people at IBM (depending who you talk to, some are helpful with centOS as well). Novell Groupwise had serious security/stability issues when a team I worked with was testing various Groupware servers; we could kill it with a single e-mail every time and no fix was available at the time of testing but probably fixed by now. The choice here I think comes down to features required, cost allowed, and security. IBM Domino server is expensive but has more features and TONS of encryption options. You can run it on MS windows servers as well, but performance won't be as fast especially with encryption features turned on.

You can see that where storage redundancy/speed/integrity are an factor, I feel a Linux OS is the TOP choice as I've had bad experiences with hardware raid which is the only real commercial level raid solutions available for MS Windows, including their server.

Many people I know swear by performance of Gentoo or Slackware. For situations that require commercial software these I find don't work well. And its harder to find server administrators that know these OS's. Hope all this helps.

share|improve this answer
add comment

It depends on what the software you need to run on it supports. That's the first thing to consider. After that, it depends what you're more familiar with. If you're sort of a distrohopping nomad like me, Ubuntu server edition comes with the most prepackaged stuff ready to go with the easiest setup, so as a catchall default I'd go with that.

share|improve this answer
add comment

For a LAMP stack ? For storage shares?

Probably something rock solid and boring like Debian stable. You don't want bleeding edge anyway for that type of stuff.

share|improve this answer
add comment

I have a finely tuned process, which I'm willing to outline in the broad strokes for you here.

Process:

  1. I take a quick look around the environment and see if there's a server or VM I can power back up or rescue from non-utilization.

    • If there is, I "choose" whatever operating system it happens to be running, block off my calendar for the rest of the day, double check that my office door is locked, and then go back to sleep.
      • Anything will do, as I'm pretty sure there's no real difference between operating systems. OS/2, AmigaOS, BeOS, Mac OS, XTS-400, RISC OS, MorphOS, MiNT, PalmOS, WebOS, and even the obscure ones like "Windows" or "Linux" are basically all the same. They transform electricity into magic, which can't be all that differnt when you get down to a fundamental enough level.
    • If all the servers and VMs have a no-OS found error when booted, actual work may be required, and I get on with it.

  2. Before doing some thing as drastic and exhausting as putting forth effort, I find it helpful to get into the right state of mind.

    • Call up IBM enterprise support and report an environment down event with the iSeries mainframe.
      • Tell the support rep (or let them discover through a remote console that I helpfully upgraded the mainframe from its version of OS/400 to the most recent version of MS-DOS I can find, 8.0 ideally.
    • After being hung up on by IBM, proceed to the Genius Bar at the local store, ask for their recommendation.
      • Be sure to mention you plan to replace OSX and it's very important that their hardware platform be compatible with the most recent release of Plan9, connect Apple genius to AT&T support to work out the details and verify.
    • Proceed to local big-box electronics retailer and ask the salesperson about the expected performance one would get out of running HP-UX on their largest plasma TV.
      • When he leaves, helpfully flash the ROM and replace whatever's on it with as much of the HP-UX code as possible.
        • Outrun security.

  3. After lightening the mood as above, it's time to get to work, so I flip a coin to handle the difficult job of deciding.

    • Heads Linux
    • Tails Windows
    • If the coin lands on its edge, BSD.
      • If the coin gets lost, rolls under a piece of furniture, or I can't find one to begin with, BSD as well.
    • Distro/version and edition of the OS type selected, will, of course, be based on whichever OS install disk is easiest to reach from wherever I am after finishing the coin flip.

  4. Install whatever applications needed or the function the server is intended to perform.

    • When, in process of installing the applications or roles required, I discover the OS selected by the coin flip is not appropriate (due to incompatibilities, lack of experience with the OS selected, or because the application or role would work better in another OS), I change to that OS.

  5. Reinstall OS that is best suited for the job, in the distro/version/edition that is most appropriate for the task.

  6. Success.

    • And all without doing any planning, thinking or reading of manuals or taking advice/recommendations of anyone.

Summation/Lesson Learned:

Hopefully, you can see how important it is to efficiently selecting the OS that you manage to initially find an unused server or VM with an OS already on it. Otherwise you could be looking at a 6 step process to finding the OS that's right for you and your environment. Therefore, the smart, forward-thinking SysAdmin who wants to reduce his workload will spend dozens of hours a week finding spare servers or VMs and installing various operating systems on them, in order to avoid having to do that down the road, which would increase his workload, and interrupt his work-time nap-schedule by involving some approximation of the process above.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.