How do I migrate from RHEL5 to RHEL7?

Updated

Contents

  1. Upgrade support restrictions
  2. Hardware requirements and support
  3. Subscription management
  4. Kernel, boot, and init
  5. Basic administration
  6. File systems and storage
  7. Networking
  8. Security and access control
  9. Clustering
  10. Desktop
  11. Command changes for common tasks
  12. Preupgrade Assistant

This article covers the major differences between version 5 and version 7 of Red Hat Enterprise Linux, to assist customers who have recently moved versions, or are planning to move versions soon.

Upgrade support restrictions

Red Hat does not support upgrading directly from RHEL 5 to RHEL 7. However, if you intend to move from RHEL 5 to RHEL 7 by backing up your data and restoring data on a fresh installation of RHEL 7, these notes will help you understand the major changes between these distributions.

Note that RHEL 7 is supported on a limited number of architectures; see the RHEL 7 Release Notes for details.

↑ back to the top

Hardware requirements and support

Red Hat Enterprise Linux 7 requires:

  • 10 GiB minimum disk space (20 GiB recommended)
  • 1 GiB minimum memory (1 GiB per logical core recommended)

Hardware that was certified under Red Hat Enterprise Linux 5 may not be certified under Red Hat Enterprise Linux 7. Check for your hardware at This content is not included.Red Hat Customer Portal Hardware Certification before you upgrade.

For other requirement and support details, see Red Hat Enterprise Linux technology capabilities and limits.

↑ back to the top

Subscriptions

Subscriptions are now handled through the subscription-manager tool. While subscription-manager and rhn_register are interoperable, a single system can only be registered to one of these services at a time. There are some extenuating circumstances here; see footnotes for details1 3.

Task RHEL5 RHEL7
View subscription information /etc/sysconfig/rhn/systemid subscription-manager identity
Configure subscription rhn_register1 subscription-manager2
rhn_register 3

↑ back to the top

Kernel, boot, and init

The init system has undergone several large changes between RHEL 5 and RHEL 7.

  • The boot loader has been updated to GRUB2. This update removes support for installing the boot loader to a formatted partition on BIOS machines with MBR-style partition tables. This behavior change was made because some file systems have automated optimisation features that move parts of the core boot loader image, which could break the GRUB legacy boot loader. With GRUB2, the boot loader is installed in the space available between the partition table and the first partition on BIOS machines with MBR-style partition tables. BIOS machines with GPT-style partition tables can avoid this problem by creating a special BIOS Boot Partition for the boot loader. UEFI machines continue to install the boot loader to the EFI System Partition. See Section 6.10.1.1 MBR and GPT Considerations in the RHEL7 Installation Guide for related considerations for MBR- and GPT-style partitioning schemes. See This content is not included.Section 3.2.1 New Boot Loader in the RHEL7 Migration Planning Guide for further details about the move from GRUB legacy to GRUB2.
    The recommended minimum partition sizes have also changed as a result of the new boot loader. The table below gives a summary of the new recommendations. Further information is available in Section 6.10.1.1 MBR and GPT Considerations of the Red Hat Enterprise Linux 7 Installation Guide.

    Partition BIOS & MBR BIOS & GPT UEFI & GPT
    /boot 500 MB
    / 10 GB
    swap At least twice the RAM. See Section 6.10.4.5. Recommended Partitioning Scheme in the Red Hat Enterprise Linux 7 Installation Guide for details.
    boot loader N/A (Installed between the partition table and the first partition) 1 MB (BIOS Boot Partition) 200 MB (EFI System Partition

  • Systemd replaces the SysV init system, allowing greater control over process startup and helps minimize startup time. An overview is available here.

  • Significant changes to boot parameters; see This content is not included.Section 3.2.3.1 Boot Parameter Changes in the RHEL7 Migration Planning Guide for details.

  • Graphical mode initialization now assigned to the kernel via kernel modesetting; disable with nomodeset parameter at kernel cmdline.

Task RHEL5 RHEL7
View run level/target runlevel
who -r
systemctl get-default
who -r
Change run level/target /etc/inittab
init run_level
systemctl isolate name.target
systemctl set-default
Configure default run level/target /etc/inittab systemctl set-default
Single user/rescue mode append 1 or s or init=/bin/bash to kernel cmdline append rd.break or init=/bin/bash to kernel cmdline
Shut down system shutdown shutdown
systemctl shutdown
Power off system poweroff poweroff
systemctl poweroff
Halt system halt halt
systemctl halt
Reboot system reboot reboot
systemctl reboot
Configure GRUB bootloader /boot/grub/grub.conf /etc/default/grub
grub2-mkconfig
grub-set-default

↑ back to the top

Installation

  • The installer has been redesigned to minimise the interaction and time required to complete a default installation. See This content is not included.Section 3.2.3. New Installer in the RHEL7 Migration Planning Guide for details.
  • Text installer automatically selects Base and Core group packages only. It configures the bootloader (except in kickstart installations), but cannot handle custom file system layouts or prompt for information regarding package selection, partitioning. See Section 2.3 Text-based Installer of the RHEL6 Migration Planning Guide for details.
  • During installation or upgrade, no more than 15 partitions can be detected; if your system has more than 15 partitions, migrate the disk to logical volumes before upgrading.
  • The installer now uses NetworkManager to configure network interfaces during installation.

↑ back to the top

Basic administration

  • UIDs from 1-999 are now reserved for system use; new users will be assigned UIDs above this range.
  • The maximum number of processes available to non-root users in a single pam session (ulimit -u) is now 4096 processes by default, as specified in /etc/security/limits.d/*-nproc.conf. When this file is not present on your system, the maximum number of processes is calculated according to the processes described in What determines the default value of nproc(ulimit -u) on Red Hat Enterprise Linux?.
  • New logging framework, journald, captures data from syslog, kernel, initial RAM disk and early boot messages, as well as messages sent to standard output and standard error output. It stores this data in binary journal files, and forwards data to rsyslog, which can perform further processing and store text-based log files, maintaining compatibility with systems that require rsyslog. Journald is configured with the new journalctl tool rather than in the /etc/syslogd.conf file. See This content is not included.Section 2.4.3 New Logging Framework in the RHEL7 Migration Planning Guide for details.

↑ back to the top

File system changes

Task RHEL5 RHEL7
Default file system ext3 xfs
Create/modify disk partitions fdisk
parted
fdisk
gdisk
parted
ssm create
Format disk partition mkfs.filesystem_type (ext4, xfs)
mkswap
mkfs.filesystem_type (ext4, xfs)
mkswap
ssm create
Defragment disk space copy data to new file system
fsck (look for 'non-contiguous inodes')
copy data to new file system
fsck (look for 'non-contiguous inodes')
xfs_fsr
Mount storage mount
/etc/fstab
mount
/etc/fstab
ssm mount
Create physical volume pvcreate pvcreate
ssm create (if backend is lvm)
Create volume group vgcreate vgcreate
ssm create (if backend is lvm)
Create logical volume lvcreate lvcreate
ssm create (if backend is lvm)
Enlarge volumes formatted with default file system vgextend
lvextend
resize2fs
vgextend
lvextend
xfs_growfs
ssm resize
Shrink volumes formatted with default file system resize2fs
lvreduce
vgreduce
XFS cannot currently be shrunk; copy desired data to a smaller file system.
Check/repair file system fsck fsck
ssm check
Configure NFS share /etc/exports
service nfs reload
/etc/exports
systemctl reload nfs.service

↑ back to the top

Networking

↑ back to the top

Security and access control

  • Firewall rules are now configured through the firewalld configuration tools, firewall-config, firewall-cmd, and firewall-applet (not included in the default RHEL7 installation). See This content is not included.3.11.1.1. Migrating rules to firewalld in the RHEL7 Migration Planning Guide for details.
  • kerberos clients and servers default to not using keys for des-cbc-crc, des-cbc-md4, des-cbc-md5, des-cbc-raw, des3-cbc-raw, des-hmac-sha1, and arcfour-hmac-exp ciphers. Systems that need these ciphers require allow_weak_crypto = yes in the libdefaults section of /etc/krb5.conf
  • policykit now reads .rules files in lexicographic order from /etc/polkit-1.rules.d and /usr/share/polkit-1/rules.d directories; first matching rule takes precedence, and /etc/polkit-1.rules.d is read before /usr/share/polkit-1/rules.d.
  • libuser no longer supports configurations with both ldap and shadow or ldap and files modules because doing so results in ambiguity in password handling

↑ back to the top

Clustering

  • keepalived replaces piranha
  • pcs replaces luci, but can only handle RHEL7 pacemaker-based clusters, not previous rgmanager-based clusters
  • online migration for clusters is not supported
  • new quorum implementation, votequorum, replaces qdiskd for most use cases

See This content is not included.Section 3.8 Clustering and High-Availability in the RHEL7 Migration Planning Guide for details.

↑ back to the top

Desktop

GNOME Classic is the new desktop environment in RHEL 7; see the RHEL 7 Desktop Migration and Administration Guide for details.

↑ back to the top

Command changes for common tasks

System basics

Task RHEL5 RHEL7
View subscription information /etc/sysconfig/rhn/systemid subscription-manager identity
Configure subscription rhn_register1 subscription-manager2
rhn_register 3
View system profile sosreport
dmidecode
hwbrowser
sosreport
dmidecode
lstopo
lscpu

Basic configuration

Task RHEL5 RHEL7
Graphical configuration tools system-config-* gnome-control-center
Configure network system-config-network nmcli
nmtui
nm-connection-editor
Configure system language system-config-language localectl
Configure time and date system-config-date
date
timedatectl
date
Synchronize time and date ntpdate
/etc/ntp.conf
timedatectl
/etc/chrony.conf
ntpdate
Configure keyboard system-config-keyboard localectl

Jobs and services

Task RHEL5 RHEL7
List all services chkconfig --list
ls /etc/init.d/
systemctl -at service
ls /etc/systemd/system/*.service
ls /usr/lib/systemd/system/*.service
List running services service --status-all systemctl -t service --state=active
Start/stop service service name start
service name stop
systemctl start name.service
systemctl stop name.service
Enable/disable service chkconfig name on
chkconfig name off
systemctl enable name.service
systemctl disable name.service
View service status service name status systemctl status name.service
Check if service is enabled chkconfig name --list systemctl is-enabled name
Create new service file or modify configuration chkconfig --add systemctl daemon-reload
/etc/systemd/system/*.service
View run level/target runlevel
who -r
systemctl get-default
who -r
Change run level/target /etc/inittab
init run_level
systemctl isolate name.target
systemctl set-default
Configure logging /etc/syslog.conf /etc/rsyslog.conf
/etc/rsyslog.d/*.conf
/var/log/journal
systemd-journald.service
View logs /var/log /var/log
journalctl

Kernel, boot, and hardware

Task RHEL5 RHEL7
Single user/rescue mode append 1 or s or init=/bin/bash to kernel cmdline append rd.break or init=/bin/bash to kernel cmdline
Shut down system shutdown shutdown
systemctl shutdown
Power off system poweroff poweroff
systemctl poweroff
Halt system halt halt
systemctl halt
Reboot system reboot reboot
systemctl reboot
Configure default run level/target /etc/inittab systemctl set-default
Configure GRUB bootloader /boot/grub/grub.conf /etc/default/grub
grub2-mkconfig
grub-set-default
View hardware configured hwbrowser lshw (in EPEL)

Software management

Task RHEL5 RHEL7
Install software yum install
yum groupinstall
yum install
yum group install
View software info yum info
yum groupinfo
yum info
yum group info

File systems, volumes, and disks

Task RHEL5 RHEL7
Default file system ext3 xfs
Create/modify disk partitions fdisk
parted
fdisk
gdisk
parted
ssm create
Format disk partition mkfs.filesystem_type (ext4, xfs)
mkswap
mkfs.filesystem_type (ext4, xfs)
mkswap
ssm create
Defragment disk space copy data to new file system
fsck (look for 'non-contiguous inodes')
copy data to new file system
fsck (look for 'non-contiguous inodes')
xfs_fsr
Mount storage mount
/etc/fstab
mount
/etc/fstab
ssm mount
Create physical volume pvcreate pvcreate
ssm create (if backend is lvm)
Create volume group vgcreate vgcreate
ssm create (if backend is lvm)
Create logical volume lvcreate lvcreate
ssm create (if backend is lvm)
Enlarge volumes formatted with default file system vgextend
lvextend
resize2fs
vgextend
lvextend
xfs_growfs
ssm resize
Shrink volumes formatted with default file system resize2fs
lvreduce
vgreduce
XFS cannot currently be shrunk; copy desired data to a smaller file system.
Check/repair file system fsck fsck
ssm check
Configure NFS share /etc/exports
service nfs reload
/etc/exports
systemctl reload nfs.service

Networking

Task RHEL5 RHEL7
Configure name resolution /etc/hosts
/etc/resolv.conf
/etc/hosts
/etc/resolv.conf
nmcli con mod
Configure hostname /etc/sysconfig/network hostnamectl
/etc/hostname
nmtui
View network interface info ip addr
ifconfig
brctl
ip addr
nmcli dev show
teamdctl
brctl
bridge
Configure network interface /etc/sysconfig/network-scripts/ifcfg-* /etc/sysconfig/network-scripts/ifcfg-*
nmcli con [add|mod|edit]
nmtui
nm-connection-editor
Configure routes ip route add
system-config-network
/etc/sysconfig/route-iface
ip route add
nmcli
nmtui
nm-connection-editor
/etc/sysconfig/route-iface
Configure firewall iptables and ip6tables
/etc/sysconfig/ip*tables
firewall-cmd
firewall-config
View ports/sockets ss
lsof
netstat
ss
lsof

Resource management

Task RHEL5 RHEL7
View system usage top
ps
sar
iostat
netstat
vmstat
mpstat
numastat
top
ps
sar
iostat
ss
vmstat
mpstat
numastat
tuna
View disk usage df df
iostat
  1. Be aware of potential issues when using subscription-manager on Red Hat Enterprise Linux 5: https://access.redhat.com/solutions/129003.

  2. subscription-manager is used for Satellite 6, Satellite 5.6 with SAM and newer, and Red Hat's CDN.

  3. RHN tools are deprecated on Red Hat Enterprise Linux 7. rhn_register should be used for Satellite server 5.6 and newer only. For details, see: This content is not included.Satellite 5.6 unable to register RHEL 7 client system due to rhn-setup package not included in Minimal installation

↑ back to the top

Preupgrade Assistant

The Preupgrade Assistant (preupg command) lets you check for potential problems you might encounter with a Red Hat Enterprise Linux 5 to Red Hat Enterprise LInux 7 migration. This will help you assess your chances of successfully migration to Red Hat Enterprise Linux 7.

↑ back to the top

Category
Article Type