How do I migrate from RHEL5 to RHEL 7?
How do I migrate from RHEL5 to RHEL7?
Contents
7. Networking
9. Clustering
10. Desktop
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.
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 Red Hat Customer Portal Hardware Certification before you upgrade.
For other requirement and support details, see Red Hat Enterprise Linux technology capabilities and limits.
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
|
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 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 theRed 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.
- While systemd is designed to be compatible with SysV init scripts, compatibility is limited in some cases; see Section 3.2.2.1 Backwards Compatibility in the RHEL7 Migration Planning Guide for details.
- The systemd administrative tool, systemctl, changes many administrative commands, as outlined in this cheat sheet.
- Run levels have been replaced with targets, which can be customised similar to previously supported run levels 7, 8, and 9. See the System Administrator's Guide for a detailed explanation.
- See this collection of systemd resources for more information.
- Significant changes to boot parameters; see 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 |
Installation
- The installer has been redesigned to minimise the interaction and time required to complete a default installation. See 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.
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 Section 3.4.2 New Logging Framework in the RHEL7 Migration Planning Guide for details.
File system changes
- XFS replaces ext3 as the new default file system. Ext3 remains supported, so there is no immediate need to migrate, but you may find XFS features and support useful. In-place migration is not possible; copy data from the ext3 file system to a freshly prepared XFS file system using rsync or similar. When you copy data to the new file system, ensure that you review rsync options carefully so that file attributes and access controls transfer appropriately. For example, use the -H option to preserve hard links, the -Aoption to preserve access control lists, and the -X option to preserve extended attributes such as SELinux attributes on the new file system. Refer to the following resources for assistance moving from ext3 to XFS.
- Is it possible to perform an in-place migration from ext4 to XFS?
- Section 3.5.1 New Default File System: XFS
- Section 6.9.2 Behavioral and Administrative Differences Between Ext3/4 and XFS
- How to choose your Red Hat Enterprise Linux file system
- Section 6.9 Migrating from Ext4 to XFS
- /lib, /lib64, /bin, and /sbin directories moved into the /usr directory, as /usr no longer needs root file system-level utilities to mount. /lib, /lib64, /bin, and /sbin are now symbolic links to the same directories under /usr. See Section 3.3.1 New layout for root file system in the RHEL7 Migration Planning Guide for details.
- The /tmp directory can be used as a mount point for a temporary file storage system (tmpfs). This appears as a mounted file system, but stores content in volatile memory instead of on a persistent storage device. See Section 3.3.2 Temporary storage space of the RHEL7 Migration Planning Guide for details.
- NFS version 2 no longer supported.
- targetcli replaces tgtd.
- Upgrading from dmraid to mdraid is not supported. See Section 3.2 RAID in the RHEL6 Migration Planning Guide for details.
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
- The hostname variable is now defined in /etc/hostname, instead of /etc/sysconfig/network.
- Network interfaces now named according to new schema. See Section 3.7.3 New Network Naming Schema in the RHEL7 Migration Planning Guide for details.
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 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
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
Desktop
GNOME Classic is the new desktop environment in RHEL 7; see the RHEL 7 Desktop Migration and Administration Guide for details.
Command changes for common tasks
System basics
Task
|
RHEL5
|
RHEL7
|
View subscription information
|
/etc/sysconfig/rhn/systemid
|
subscription-manager identity
|
Configure subscription
| ||
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 |
Comments
Post a Comment