Planning for Installation on 64-bit AMD, Intel, and ARM Systems

This chapter outlines the decisions and preparations you will need to make when deciding how to proceed with the installation.

Upgrade or Install?

While the Red Hat Enterprise Linux distribution, which CentOS is based on, provides tooling for in-place upgrades without reinstalling the entire system, these tools are not available in CentOS. At the same time, upgrading functionality available in RHEL/CentOS 6 is now deprecated. Therefore the only way to upgrade between major releases (for example from CentOS 6 to 7) is to perform a clean installation. A clean install is performed by backing up all data from the system, formatting disk partitions, performing an installation of CentOS from installation media, and then restoring any user data.

Is Your Hardware Compatible?

CentOS 7 should be compatible with most hardware in systems that were factory built within the last two years. Hardware compatibility is a particularly important concern if you have an older or custom-built system. Because hardware specifications change almost daily, it is recommended that all systems be checked for compatibility.

The most recent list of supported hardware can be found in the Red Hat Hardware Compatibility List, available online at https://access.redhat.com/ecosystem/search/#/category/Server. Also see CentOS technology capabilities and limits for general information about system requirements.

Supported Installation Targets

An installation target is a storage device that will store CentOS and boot the system. CentOS supports the following installation targets for AMD, Intel, and ARM systems:

  • Storage connected by a standard internal interface, such as SCSI, SATA, or SAS

  • BIOS/firmware RAID devices

  • NVDIMM devices in sector mode on the Intel64 and AMD64 architectures, supported by the nd_pmem driver.

  • Fibre Channel Host Bus Adapters and multipath devices. Some can require vendor-provided drivers.

  • Xen block devices on Intel processors in Xen virtual machines.

  • VirtIO block devices on Intel processors in KVM virtual machines.

Red Hat does not support installation to USB drives or SD memory cards. For information about the support for third-party virtualization technologies, see the Red Hat Hardware Compatibility List, available online at https://hardware.redhat.com.

System Specifications List

The installation program automatically detects and installs your computer’s hardware and you do not usually need to supply the installation program with any specific details about your system. However, when performing certain types of installation, it is important to know specific details about your hardware. For this reason, it is recommended that you record the following system specifications for reference during the installation, depending on your installation type.

  • If you plan to use a customized partition layout, record:

    • The model numbers, sizes, types, and interfaces of the hard drives attached to the system. For example, Seagate ST3320613AS 320 GB on SATA0, Western Digital WD7500AAKS 750 GB on SATA1. This will allow you to identify specific hard drives during the partitioning process.

  • If you are installing CentOS as an additional operating system on an existing system, record:

    • Information about the partitions used on the system. This information can include file system types, device node names, file system labels, and sizes. This will allow you to identify specific partitions during the partitioning process. Remember that different operating systems identify partitions and drives differently, therefore even if the other operating system is a Unix operating system, the device names can be reported by CentOS differently. This information can usually be found by executing the equivalent of the mount command and blkid command and in the /etc/fstab file.

      If you have other operating systems already installed, the CentOS 7 installation program attempts to automatically detect and configure to boot them. You can manually configure any additional operating systems if they are not detected properly. For more information, see Boot Loader Installation (x86).

  • If you plan to install from an image on a local hard drive:

    • The hard drive and directory that holds the image.

  • If you plan to install from a network location:

    • The make and model numbers of the network adapters on your system. For example, Netgear GA311. This will allow you to identify adapters when manually configuring the network.

    • IP, DHCP, and BOOTP addresses

    • Netmask

    • Gateway IP address

    • One or more name server IP addresses (DNS)

    • The location of the installation source on an FTP server, HTTP (web) server, HTTPS (web) server, or NFS server.

      If any of these networking requirements or terms are unfamiliar to you, contact your network administrator for assistance.

  • If you plan to install on an iSCSI target:

    • The location of the iSCSI target. Depending on your network, you might also need a CHAP user name and password, and perhaps a reverse CHAP user name and password.

  • If your computer is part of a domain:

    • You should verify that the domain name will be supplied by the DHCP server. If not, you will need to input the domain name manually during installation.

Disk Space and Memory Requirements

CentOS, like most modern operating systems, uses disk partitions. When you install CentOS, you might have to work with disk partitions. For more information, see An Introduction to Disk Partitions.

If you have other operating systems installed on your system, the disk space they use must be separate from the disk space used by CentOS.

For AMD64/Intel 64 and ARM systems, at least two partitions (/ and swap) must be dedicated to CentOS.

To install CentOS, you must have a minimum of 10 GiB of space in either unpartitioned disk space or in partitions which can be deleted. For more information on partition and disk space recommendations, see the recommended partitioning sizes discussed in Recommended Partitioning Scheme (x86).

CentOS requires minimum the following amount of RAM:

Installation type Minimum required RAM

Local media installation (USB, DVD)

768 MiB

NFS network installation

768 MiB

HTTP, HTTPS, or FTP network installation

1.5 GiB

It may be possible to perform the installation with less memory than listed in this section. However, the exact requirements depend heavily on your environment and exact installation path, and they also change with each new release. Determining the absolute minimum required RAM for your specific use case therefore requires you to test various configurations, and periodically re-test with each new release.

Installing CentOS using a Kickstart file has the same minimum RAM requirements as a manual installation. However, if you use a Kickstart file that runs commands which require additional memory or write data to the RAM disk, additional RAM might be necessary.

RAID and Other Disk Devices

Some storage technology requires special consideration when using CentOS. Generally, it is important to understand how these technologies are configured, visible to CentOS, and how support for them might have changed between major versions.

Hardware RAID

RAID (Redundant Array of Independent Disks) allows a group, or array, of drives to act as a single device. Configure any RAID functions provided by the mainboard of your computer, or attached controller cards, before you begin the installation process. Each active RAID array appears as one drive within CentOS.

Software RAID

On systems with more than one hard drive, you can use the CentOS installation program to operate several of the drives as a Linux software RAID array. With a software RAID array, RAID functions are controlled by the operating system rather than dedicated hardware. These functions are explained in detail in Manual Partitioning (x86).

When a pre-existing RAID array’s member devices are all unpartitioned disks/drives, the installer will treat the array itself as a disk and will not provide a way to remove the array.

USB Disks

You can connect and configure external USB storage after installation. Most such devices are recognized by the kernel and available for use at that time.

Some USB drives might not be recognized by the installation program. If configuration of these disks at installation time is not vital, disconnect them to avoid potential problems.

NVDIMM devices

To use a Non-Volatile Dual In-line Memory Module (NVDIMM) device as storage, the following conditions must be satisfied:

  • Version of CentOS is 7.6 or later.

  • The architecture of the system is Intel 64 or AMD64.

  • The device is configured to sector mode. Anaconda can reconfigure NVDIMM devices to this mode.

  • The device must be supported by the nd_pmem driver.

Booting from a NVDIMM device is possible under the following additional conditions:

  • The system uses UEFI.

  • The device must be supported by firmware available on the system, or by a UEFI driver. The UEFI driver may be loaded from an option ROM of the device itself.

  • The device must be made available under a namespace.

To take advantage of the high performance of NVDIMM devices during booting, place the /boot and /boot/efi directories on the device. See Manual Partitioning (x86_64) for more information. Note that the Execute-in-place (XIP) feature of NVDIMM devices is not supported during booting and the kernel is loaded into conventional memory.

Considerations for Intel BIOS RAID Sets

CentOS 7 uses mdraid for installation onto Intel BIOS RAID sets. These sets are detected automatically during the boot process and their device node paths can change from boot to boot. For this reason, local modifications to /etc/fstab, /etc/crypttab or other configuration files which refer to devices by their device node paths might not work in CentOS 7. Therefore, you should replace device node paths (such as /dev/sda) with file system labels or device UUIDs instead. You can find the file system labels and device UUIDs using the blkid command.

Considerations for Intel BIOS iSCSI Remote Boot

If you are installing using Intel iSCSI Remote Boot, all attached iSCSI storage devices must be disabled, otherwise the installation will succeed but the installed system will not boot.

Choose an Installation Boot Method

You can use several methods to boot the CentOS 7 installation program. The method you choose depends upon your installation media.

Your system’s firmware (BIOS of UEFI) settings might need to be changed to allow booting from removable media such as a DVD or a USB flash drive. See Booting from Physical Media (x86) for information.

Installation media must remain mounted throughout installation, including during execution of the %post section of a kickstart file.

Full installation DVD or USB drive

You can create bootable media from the full installation DVD ISO image. In this case, a single DVD or USB drive can be used to complete the entire installation - it will serve both as a boot device and as an installation source for installing software packages. See Making Media for instructions on how to make a full installation DVD or USB drive.

Minimal boot CD, DVD or USB Flash Drive

A minimal boot CD, DVD or USB flash drive is created using a small ISO image, which only contains data necessary to boot the system and start the installation. If you use this boot media, you will need an additional installation source from which packages will be installed. See Making Installation USB Media for instructions on making boot CDs, DVDs and USB flash drives.

PXE Server

A preboot execution environment (PXE) server allows the installation program to boot over the network. After you boot the system, you complete the installation from a different installation source, such as a local hard drive or a location on a network. For more information on PXE servers, see Preparing for a Network Installation.

Automating the Installation with Kickstart

CentOS 7 offers a way to partially or fully automate the installation process using a Kickstart file. Kickstart files contain answers to all questions normally asked by the installation program, such as what time zone do you want the system to use, how should the drives be partitioned or which packages should be installed. Providing a prepared Kickstart file at the beginning of the installation therefore allows you to perform the entire installation (or parts of it) automatically, without need for any intervention from the user. This is especially useful when deploying CentOS on a large number of systems at once.

In addition to allowing you to automate the installation, Kickstart files also provide more options regarding software selection. When installing CentOS manually using the graphical installation interface, your software selection is limited to pre-defined environments and add-ons. A Kickstart file allows you to install or remove individual packages as well.

For instructions about creating a Kickstart file and using it to automate the installation, see Kickstart Installations.