Quick installation steps

Use these instructions for a quick installation overview to set up a Ceph Storage cluster on virtual machines.

Before you begin

Before you begin, make sure that you have the following prerequisites in place:
  • At least three VMs or bare-metal servers with internet access.
  • Red Hat Enterprise Linux 9.8 or 10.2 with ansible-core 2.16.18 bundled into AppStream.
  • Server and Ceph repositories must be enabled.
  • Root-level access to all nodes.
  • An active IBM Network or service account to access the IBM Registry.
  • Remove troubling configurations in iptables so that refreshing the iptables service does not cause issues for the cluster. For an example, see Verifying firewall rules are configured for default Ceph ports.
  • Review all the installation requirements. For more information, see Installation and upgrade requirements.
  • sudo permissions are set.

About this task

The instructions here are high-level installation instructions only. Figure 1 illustrates the basic flow of installation. For full in-depth information and commands for each step, follow the procedures in the following sections or open the image in a new tab and click the steps for direct links to the relevant topics.
Figure 1. Quick installation steps

Quick installation steps

Note: The following procedure provides syntax and examples for installing with Red Hat Enterprise Linux 9.7. For installing with Red Hat Enterprise Linux 10.1, replace rhel-9 with rhel-10, in each instance.

Procedure

  1. Enable the necessary repositories on all nodes.
    subscription-manager register 
    subscription-manager refresh
    subscription-manager repos --disable=*
    subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms --enable=rhel-9-for-x86_64-appstream-rpms
    dnf update
     curl https://public.dhe.ibm.com/ibmdl/export/pub/storage/ceph/ibm-storage-ceph-9-rhel-9.repo | sudo tee /etc/yum.repos.d/ibm-storage-ceph-9-rhel-9.repo 
    
  2. Add and accept the IBM Storage Ceph license on each node.
    dnf install ibm-storage-ceph-license
    touch /usr/share/ibm-storage-ceph-license/accept
    Important: Starting from IBM Storage Ceph 9.9.1, Call Home is enabled by default. When you accept the license, the Call Home feature is automatically enabled.

    For more information about Call Home and disabling after installation, see Call Home.

  3. Install the cephadm-ansible package on the admin node.
    dnf install cephadm-ansible 
  4. Create an Ansible user with sudo access.
    1. Enable SSH login as root user on Red Hat Linux Enterprise.
      echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config.d/01-permitrootlogin.conf 
      systemctl restart sshd.service 
      ssh root@HOST_NAME
      Replace HOST_NAME with the host name of the Ceph node.
    2. Create an Ansible user with sudo privileges.
      adduser ceph-admin
      passwd ceph-admin 
      cat << EOF >/etc/sudoers.d/ceph-admin
      ceph-admin ALL = (root) NOPASSWD:ALL
      EOF
    3. Apply the Ansible user permissions.
      chmod 0440 /etc/sudoers.d/ceph-admin
    4. Generate an SSH key pair on the cephadm node and configure SSH settings.
      su ceph-admin 
      ssh-keygen 
      ssh-copy-id ceph-admin@host01 
      vi ~/.ssh/config 
      touch ~/.ssh/config 
      chmod 600 ~/.ssh/config 
  5. Prepare and run the preflight playbook.

    The Ansible playbook configures the Ceph repository and prepares the storage cluster for bootstrapping. It also installs some prerequisites, such as podman, lvm2, chrony, and cephadm packages. The default location for cephadm-ansible and cephadm-preflight.yml is /usr/share/cephadm-ansible.

    The preflight playbook uses the cephadm-ansible inventory file to identify the admin node and all other nodes in the storage cluster.

    The default location for the inventory file is /usr/share/cephadm-ansible/hosts.

    1. Add the configured nodes to the hosts file.
      For example,
      host02 
      host03 
      host04 
      [admin] 
      host01 
    2. Run the preflight playbook.
      ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=ibm" 
      A Preflight Check Report and Summary generates and highlights passed, failed, and informational checks.
  6. Bootstrap the cluster as either a root user or a non-root user.
    • Bootstrap the cluster as a root user by running the cephadm boostrap on the initial monitor node.

      For example,
      cephadm bootstrap --cluster-network 10.10.128.0/24 --mon-ip 10.10.128.68 --registry-url cp.icr.io/cp --registry-username myuser1 --registry-password mypassword1
    • Bootsrap the cluster as a non-root user by enabling passwordless sudo access.

      For example,
      su - ceph-admin
      ssh host01
      cephadm bootstrap --ssh-user ceph-admin --mon-ip 10.10.128.68 --registry-url cp.icr.io/cp --registry-username myuser1 --registry-password mypassword1

What to do next

Your single-node (admin node or bootstrap node) Ceph cluster is now ready.
Note: For information about obtaining credentials for cp.icr.io/cp, see Obtaining an entitlement key.
For more information about how to use the cephadm orchestrator to perform "Day Two" operations, see Operations.

To deploy, configure, and administer the Ceph Object Gateway on Day Two operations, see Ceph Object Gateway.