With RHEL 7 RedHat has made significant changes the way Linux used to work. Here we are discussing New features in RHEL 7.
1> Firstly, RHEL7 boots up much faster than RHEL 6 and other versions.
Fast booting is one of the main new features in RHEL 7.
Yes, RHEL 7 boots up quickly which is achieved by simultaneously starting up the services which are not dependent on each other, for instance: sendmail and mariadb are not dependent on each other, so they can be started simultaneously, but until RHEL 6 if sendmail had some issues during booting , boot process would wait until sendmail failed, and then start rest of the services, this delayed booting time. With RHEL 7, RedHat is able to overcome this issue.
2> Init process is no more the main process or 1st process or father of all process.
Init process is now replaced by systemd process. Now systemd process is 1st process, and father of all process. Inclusion of systemd process is biggest new features in RHEL 7.
3> Starting and stopping of services with RHEL 7 has changed.
/etc/init.d/services has been changed, now to start/stop or enable any services is done using systelctl command.
To check the all services, we use “systemctl -a”
[root@hostl -]# systemctl -a | grep chron ime-sync.target loaded inactive dead System Time Synchronized [root@hostl -]#
In the above example, we have grepped for chron service, without grep “systemctl –a” would show all the services from active, inactive and loaded.
Note: Chronyd is a new service, which would replace ntp. However with RHEL 7 the service is still not matured enough, hence RedHat has given ntp also with this release.
To startup any service at boot up(I am not using runlevel here, because run level has also changed) we need to execute the command:-
systemctl enable chronyd.service
For disabling the service use command
systemctl disable chronyd.service
Note: We don’t need to remember the complete service name, TAB key works here after systelctl enable.
Enable/disable will start the service at the bootup, and not on that moment. To start/stop/restart/status the service
systemctl start chronyd.service
[root@hostl -]#systemctl start chronyd.service [root@hostl -]# systemctl status chronyd.service chronyd.service - NTP client/carver Loaded: loaded Wusr/lib/systemd/system/chronyd.service; enabled) Active: active (running) since Fri 2015-06-12 22:22:32 PDT; 7s ago Process: 3482 ExecStartPost=/usr/libexec/chrony-helper add-dhclient-servers (code=exited, status=0/SUCCESS) Process: 3479 ExecStart=/usr/sbin/chronyd -u chrony $OPTIONS (code=exited, status=0/SUCCESS) Main PID: 3481 (chronyd) CGroup: /system.slice/chronyd.service L-3481 /usr/sbin/chronyd -u chrony Jun 12 22:22:32 hostl systemd[1]: Starting NTP client/server... Jun 12 22:22:32 hostl chronyd[3481]: chronyd version 1.29.1 starting Jun 12 22:22:32 hostl chronyd[3481]: Linux kernel major=3 minor=10 patch=0 Jun 12 22:22:32 hostl chronyd[3481]: hz=100 shift_hz=7 freq_scale=1.00000000 nominal_tick=10000 slew_delta_tick=833 max_tick_bias=1000 shift_p11=2 Jun 12 22:22:32 hostl chronyd[34811* Freauencv -19.949 +/- 2.077 ppm read from /var/lib/chrony/drift Jun 12 22:22:32 hostl systemd[1]: Started NTP client/server. [root@hostl -]# systemctl stop chronyd.service [rootOhostl -]# systemctl status chronyd.service chronyd.service - NTP client/server Loaded: loaded Wusr/lib/systemd/system/chronyd.service; enabled) Active: inactive (dead) since Fri 2015-06-12 22:22:48 PDT; 9s ago Process: 3482 ExecStartPost=/usr/libexec/chrony-helper add-dhclient-servers (code=exited, status=0/SUCCESS) Process: 3479 ExecStart=/usr/sbin/chronyd -u chrony $OPTIONS (code=exited, status=0/SUCCESS) Main PID: 3481 (code=exited, status=0/SUCCESS) Jun 12 22:22:32 hostl systemd[1]: Starting NTP client/server... Jun 12 22:22:32 hostl chronyd[3481]: chronyd version 1.29.1 starting Jun 12 22:22:32 hostl chronyd[3481]: Linux kernel major=3 minor=10 patch=0 Jun 12 22:22:32 hostl chronyd[3481]: hz=100 shift_hz=7 freq_scale=1.00000000 nominal_tick=10000 slew_delta_tick=833 max_tick_bias=1000 shift_p11=2 Jun 12 22:22:32 hostl chronyd[3481]: Frequency -19.949 +/- 2.077 ppm read from /var/lib/chrony/drift Jun 12 22:22:32 hostl systemd[1]: Started NTP client/server. Jun 12 22:22:40 hostl chronyd[3481]: Selected source 103.252.195.20 Jun 12 22:22:48 hostl systemd[1]: Stopping NIP cltmnt/server... Jun 12 22:22:48 hostl systemd[1]: Stopped NTP client/server.
In the above output you can also see that, it is system process that is starting NTP client.
4> Changing the target mode(previously runlevels)
Until RHEL 6,it was done in “/etc/inittab”, however with RHEL 7 this has changed, and now.
1. systemctl get-default.
[root@hostl -]#systemctl get-default graphical.target
2.systemctl set-default multi-user.target
[root@hostl -]#systemctl set-default multi-user.target rm Vetc/systemd/system/default.target' ln -s '/usr/lib/systemd/system/multi-user.target' '/etc/systemd/system/default.target' [root@hostl -]#
Note: We don’t need to remember the complete service name, TAB key works here after
systelctl set-default
5> XFS File system:
In RHEL7 xfs becomes the default filesystem. xfs will support file systems of up to 500TB in size.This is one of most important new features in RHEL 7.