== Early impressions of CentOS 7 For reasons involving [[us being unimpressed with Ubuntu 14.04 Ubuntu1404Unimpressed]], 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 InstallerPartitioning]]: 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 RHEL6Dislike]]; 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 ../sysadmin/FutureFileserverHardware]] 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 https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/ch-Consistent_Network_Device_Naming.html]], 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 SystemdRight]] (see also the second sidebar [[here SystemdAndBrokenByDesign]]). 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.