The new release of CentOS is here and has brought in many changes many users have questioned about. I know many of you are considering an upgrade, but why? This CentOS 7 vs CentOS 8 comparison goes over points such as performance, updates and stability so you can choose the best.
As Red Hat Enterprise Linus (RHEL) is the upstream for this, it follows the same lifestyle that this dictates. All this means that version 6 has reached the end of life (EOL) by the end of 2020 and version 7 by the end of 2024. RHEL’s 20-year life cycle makes version 8, which was released back in 2019, the current release till the year 2029. That is a lot of years. However, the newer release will be called “Stream” and it seems like it’s not going anywhere anytime soon.
What is new in CentOS 8?
This is known as the terminal logger which has a lot of potentials. With this users are able to record a command-line session both locally and remotely but one at a time plus pay it back as well. As it uses JSON output format to store the session data, it can be searched as well. With this the possibilities are limitless.
This is a BootLoader specification (BLS) boot manager with which you can easily boot from snapshots. It is true that it was first introduced in mid version 7 but for now, it is a standard offering in version 8.
Now you might want to consider a few things that may give you pause whenever you consider getting version 8 for your next system build.
Also, expanding on the minimum RAM requirements, some administrators have reported issues that are related to installing this with less than 2GB or 4GB of RAM, though the minimum is 1.5 GB. Now, all these install failures indeed result in the installer not being able to find the block storage.. or the process of installation might completely lock up.
These cases might be due to the “perform storm” of configuration options but switching towards a text-based install or throwing a little more RAM at the system has somehow resolved the underlying issue which we are aware.
Note: We think some of the underlying cause might be due to the fact that the default logging configuration may consume 4GB of RAM or even more.
Stratis Storage Manager
The new version has introduced this feature as well which is able to boast many new handy features such as copy-on-write (CoW) snapshots and flexible storage allocation, but the testing has shown that there are certain problems with this which prevent using from suggesting it for some mission-critical deployment.
Now first of all the filesystem utilization metadata is not reported properly by usual tools such as df, fu and Stratis pool as all of these have reported a different amount of space used. Second of all, the snapshots are created with a different and unique UUID, this is great as these can be mounted without the need to alter the snapshot UUIS manually, these are yet restored with another unique UUID. This is not the show stopper yet but it does not mean that the restored filesystems cannot be mounted through this without any additional configuration.
Moreover, it only provides support to the XFS Filesystem so the expanded ones cannot be reduced in size automatically. And the corruption of this is quite a real possibility.
Though protection from data corruption due to the lack of available lower-level of storage space is considered to be most of the intended features, we found it quite easy to corrupt the system files by filling the backing storage while testing this.
CentOS 7 vs CentOS 8 Comparison – Performance, Stability, Support
Some major changes have been seen in the new version which is seen within a Kernel update, repository structure, python, cockpit, RAM and much more. Follow through to know more details on every change and what those changes are.
Major changes here include a Kernel update from 3.10.0 to 4.18.0, software replacement with modularity, deprecation of different packages, DNF software management and a web-based management interface included by default.
Now, DNF is YUMv4, a newer version to YUMv3 which ships with version 7. As it is simply an evolution of yum, the commands are mostly backward compatible, making the switch towards it which is no big deal.
Now the requirements that triggered this change are the replacement of software collections with some modularity. You shall be able to note that you put “replacement” in the quote twice. This is due to the fact that modular packaging does not replicate the features of software collections.
This allows users to install different versions of the same software on a system and select which one to use. The modular packages are actually a group of packages where user can install a package or even a set to provide a certain version of the software for system users, but in general, you are not able to install more than one version of this on the same systems as you can with the collections.
All these changes are due to Red Hat’s focus on containerization to isolate it.
The Structure of the repositories
Now along with the modular packaging, it has changed for the first time in what feels like forever! The operating system is not is a rep which is known as bases, if we talk about the apps and modules then these are in the App stream repo. Both of these are the rolling updates repo, which means that no longer they are an updated repo.
If you want to obtain packages from a known point in time which is quite handy when you attempt to re-build a golden image by using the same kickstart configuration, a sub-repo is created release is first published called, handily enough, kickstart.
The deprecation of the package is like a rite of passage whenever a new release comes out, but we shall mention for you a couple of these that deserve a call-out:
- ntp package which is no longer available so you need to use chrony.
- Python 2 which has been replaced with python 3 (this is not compatible with 2).
Keep in mind that the systems which replace ntpd with chronyd shall cause many problems. Both of these are NTP protocol daemons, though the command line interfaces are a bit different. Moreover, as both of these are available for version 7, therefore you might be familiar with chrony.
Changes for Python
These changes might cause more trouble than others. Many of the package maintainers ate doing their best to make Python 2-dependent software work with version 3. For instance, Ansible shall detect which type of this is installed on the target system and use the appropriate one’s script for core features. Keep in mind that it does not release the playbook author for making sure their custom Python code works on both the interpreters.
Cockpit included with installations
By default this is included with version 8 installations and provides its users with a web-based management tool for their system. With this, it feels more like as you are managing a hypervisor, VM or container rather than a standalone system. If your system is either of these then it won’t come as a surprise. Many plug-ins are there in the market that provide users with a slick web frontend like disk or system imaging, the configuration of the firewall as well as virtualization management.
Higher System Requirements (RAM)
It is interesting to see an increase in the minimum RAM requirement of 1.5 GB vs 1 GB for version 7. As these values are limited are listed minimum we have version 7 systems run fine with 768 MB of RAM and version 8 systems were not able to complete the installation process with less than 2 GB.
Now, most of the users run CentOS on x86_64 which actually makes a lot of sense as this was the primary architecture for version 7. This was released for aarch64, armhfp, i386, power9, ppc64, as well as ppc64Ie which are available as alternate architectures, these felt like afterthoughts and were left behind often with regards to the availability of package.
Version 8 is able to support aarch64, ppc64Ie and x86_64 as primary architectures, thus increasing hardware audience for the OS.
Support for CentOS 8 and earlier
There are many differences between versions 7 and 8. If you need to any help in understanding them or knowing which version is best for you, then you need to get in touch with OpenLogic experts.
The experts can talk to all of you about upgrading from an earlier version of this. Moreover, they can also provide their users with ongoing support for CentOS at your organization.
With OpenLogic’s and beyond support, you shall get the following:
- 50% cost savings.
- Long-term support, including for v6 EOL.
- Guaranteed SLAs.
- Architectural minimization.
- Multi-platform support.
- Similar distributions.
- Expert guidance.
Get in touch with our experts today and make your plan in order to get started with the latest version.
It has come a long way and has been loved by basically every Linux or IT geek out there! Recently as they were bought by Red Hat they have now decided to end its support. It is said to be replaced with “CentOS Stream“. There are reports of a “Rocky Linux” surfacing which is basically a Fork of it. Do let me know if this CentOS 7 vs CentOS 8 comparison has helped you in choosing one for your server.