Early impressions of CentOS 7

July 13, 2014

For reasons involving us being unimpressed with Ubuntu 14.04, we're building our second generation iSCSI backends on top of CentOS 7 (basically because it just came out in time). We have recently put the first couple of them into production so now seems a good time to report my early impressions of CentOS 7.

I'll start with the installation, which has impressed me in two different ways. The first is that it does RAID setup the right way: you define filesystems (or swap areas), tell the installer that you want them to be RAID-1, and it magically figures everything out and does it right. The second is that it is the first installer I've ever used that can reliably and cleanly reinstall itself over an already-installed system (and it's even easy to tell it how to do this). You would think that this would be trivial, but I've seen any number of installers explode; a common failure point in Linux installers is assembling existing RAID arrays on the disks then failing to completely disassemble them before it tries to repartition the disks. CentOS 7 has no problems, which is something that I really appreciate.

(Some installers are so bad that one set of build instructions I wrote recently started out with 'if these disks have been used before, completely blank them out with dd beforehand using a live CD'.)

Some people will react badly to the installer being a graphical one and also perhaps somewhat confusing. I find it okay but I don't think it's perfect. It is kind of nice to be able to do steps in basically whatever order works for you instead of being forced into a linear order, but on the other hand it's possible to overlook some things.

After installation, everything has been trouble free so far. While I think CentOS 7 still uses NetworkManager it does it far better than how Red Hat Enterprise 6 did; in other words the networking works and I don't particularly notice that it's using NetworkManager behind the scenes. We can (and do) set things up in /etc/sysconfig/network-scripts in the traditional manner. CentOS 7 defaults to 'consistent network device naming' but unlike Ubuntu 14.04 it works and the names are generally sane. On our hardware we get Ethernet device names of enp1s0f0, enp1s0f1, and enp7s0; the first two are the onboard 10G-T ports and the third is the add-on 1G card. We can live with that.

(The specific naming scheme that CentOS 7 normally uses is described in the Red Hat documentation here, which I am sad to note needs JavaScript to really see anything.)

CentOS 7 uses systemd and has mostly converted things away from /etc/init.d startup scripts. Some people may have an explosive reaction to this shift but I don't; I've been using systemd on my Fedora systems for some time and I actually like it and think it's a pretty good init system (see also the second sidebar here). Everything seems to work in the usual systemd way and I didn't have any particular problems adding, eg, a serial getty. I did quite appreciate that systemd automatically activated a serial getty based on a serial console being configured in the kernel command line.

Overall I guess the good news is that I don't have anything much to say because stuff just works and I haven't run into any unpleasant surprises. The one thing that stands out is how nice the installer is.

Comments on this page:

By Zach Peters (zpeters@gmail.com) at 2014-07-13 12:20:30:

Chris, in your review of Centos 7 did you find any way to not install all to gui/desktop packages? In 6.5 there was a "-minimal" iso that was a text based installer, but also it didn't install all the gui items that are unnecessary if you are setting up a server.

By cks at 2014-07-13 16:04:42:

We use the 'Infrastructure Server' main option for package selection and this appears to install basically no X programs (much less graphical ones). In fact even xauth isn't included in the basic package set and we install it (and xterm and xload) afterwards.

By bwelmers at 2014-11-14 19:33:13:

I actually have big problems with the new partitioner. It is completely unclear for me how it will configure the raid, this needs to be clear, especially when you are carefully planning server partitioning you don't want 'magic things' happen. Also, if I don't start with creating the /boot partition, it will fail in the end and I can't correct it, I get locked in the installer and have reboot and redo everything. (I actually didn't know a separate /boot partition is still needed with the new grub bootloaders...)

Written on 13 July 2014.
« You want to turn console blanking off on your Linux servers
An obvious reminder: disks can and do die abruptly »

Page tools: View Source, View Normal, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sun Jul 13 01:00:20 2014
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.