3

I've started a new job and part of my responsibility will be looking after ~6 linux servers (they are all VM's) with more to come over time. At current these run a mix of Ubuntu and CentOS. More machines are likely to come online given time and I would rather not carry on with the current strategy of flavor and version of the month. The things which are important to me are:

  • Easy installation of a new server.
  • Easy installation of new software.
  • Easy updating of existing software.
  • Symmetrical servers (updating of an older server and installation of a new server should result in two identical servers) so that documentation is easier to write and more importantly maintain.
  • A good distro wiki or other documentation.
  • Plays nicely with VMWare.

What other things should be in this list?

Linuxes which I am considering are Ubuntu, CentOS and Gentoo (or perhaps Funtoo) (I welcome other suggestions however). I am a Solaris junkie and second choice for me is any flavor of BSD, so my experience with running and maintaining Linux servers is limited to Debian and Gentoo many many years ago (Woody was new and shiny) which I doubt holds much relevance today.

4 Answers 4

3

Any "managed" distribution with a regular release cycle should do; subjectively, I'd say "Ubuntu" if you don't mind having the same version of a software package for 2-4 years (i.e. between the LTS releases). Other people will say CentOS or whatever, which may be better suited for you.

For keeping configs up to date, there are a large number of open-source configuration managers, of which Puppet is the most well-known; but I've not used any, but the general impression I had is that they are complicated to get the initial configuration set up (I'd be happy to have someone recommend me a simple one).

You could develop your own set of standard config files and roll your own solution, though; I wrote a shell script setup tool for my current job which configures LDAP authentication, Samba config etc. once a base installation is complete.

3

If I can suggest something...aim for repeatability.

You don't want ad-hoc system administration, you want /structured/ system administration. Implement a policy to roll-out installs automatically using either images or kickstart (ubuntu supports kickstart, too), then implement configuration management to ensure that your configuration is the same everywhere you need it to be. Don't rely on editing files by hand on (what will eventually be) half a dozen servers. Do it once, make sure it's right, then do it everywhere automatically.

Also, do yourself a huge favor, and read this amazingly great piece by Michael Janke: http://blog.lastinfirstout.net/2008/04/ad-hoc-verses-structured-system.html

0
2

Any distro major fits your stated requirements, with the exception perhaps of Gentoo, which is designed for a more "hands on" kind of admin.

Therefore, some other factors to consider are the following:

  • Which feels the most familiar to you? With which do you feel like you know where to find the files you want? Ubuntu is Debian based, which may feel more like home for you.
  • Which package management tool do you like the most? Play with yum (on CentOS) and apt-get / aptitude on Ubuntu.
  • What software will you run on it, and which versions? Does the distro you plan on using support that version out-of-the-box? If not, can you easily find the packages you're after?
  • Who can you get help from when you run into trouble? Do you have a friend who knows Linux well? If so, what's his distro of choice? He'll be able to help more if he's more familiar with your setup.
4
  • Gentoo is not that hard when you think about it, but yeah it's definitely different compared to Ubuntu, for example. ; )
    – Weboide
    Jul 3, 2010 at 13:27
  • He mentioned Gentoo because it's a bit like BSDs to administrate, I believe (not that I recommend it, especially at a small scale).
    – Tobu
    Jul 3, 2010 at 14:01
  • Thanks for the suggestions @tylerl I am really after the repeatability that Matt mentions in his post. RPM, apt or portage they all have their strengths and weaknesses. The software that will be running is LAMP a bit of tomcat and some python (that I have so far seen) I know that an upgrade to MySQL 5.1 is wanted and perhaps freeradius 2. Unfortunately I lack a linux friend (they're all bsd junkies so their answer is of course "why use linux?") :(
    – Justin
    Jul 3, 2010 at 22:35
  • On the subject of repeatability: Centos does have a very easy to use "kickstart" function, allowing you to to very easily automatically deploy identical servers. However, apt (ubuntu) has a nifty feature to make it easy to synchronize the packages installed on existing servers.
    – tylerl
    Jul 4, 2010 at 3:46
1

I would suggest one you already listed (funtoo), easy maintainable and very fast... running 3 servers already on it and rolling release makes it rock solid, as problems in upgrading like wouldn't result in a total system break, only a package-problem and that could be easily solved... :)

Had Debian some years and years before that SuSE, both had the unlucky way that an upgrade always meant to do a full system reinstall, never had that problem with funtoo since then. Gentoo in my opinion is to unsure, as they released some time ago packages untested to stable and testing and that way killed my system, not sure how they handle it today.

Funtoo is in current already rock solid and the Core is getting more and more solid :) funtoo is doing a great QA and if you like to join ask for more... :)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .