Preflight Checklist

New in version 0.60.

Thank you for trying Ceph! We recommend setting up a ceph-deploy admin node and a 3-node Ceph Storage Cluster to explore the basics of Ceph. This Preflight Checklist will help you prepare a ceph-deploy admin node and three Ceph Nodes (or virtual machines) that will host your Ceph Storage Cluster. Before proceeding any further, see OS Recommendations to verify that you have a supported distribution and version of Linux.

Ceph Deploy Setup

Add Ceph repositories to the ceph-deploy admin node. Then, install ceph-deploy.

Important

Do not call ceph-deploy with sudo or run it as root if you are logged in as a different user, because it will not issue sudo commands needed on the remote host.

Advanced Package Tool (APT)

For Debian and Ubuntu distributions, perform the following steps:

  1. Add the release key:

    wget -q -O- 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' | sudo apt-key add -
  2. Add the Ceph packages to your repository. Replace {ceph-stable-release} with a stable Ceph release (e.g., cuttlefish, dumpling, etc.). For example:

    echo deb http://ceph.com/debian-{ceph-stable-release}/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
  3. Update your repository and install ceph-deploy:

    sudo apt-get update && sudo apt-get install ceph-deploy

Red Hat Package Manager (RPM)

For Red Hat(rhel6), CentOS (el6), and Fedora 17-19 (f17-f19) perform the following steps:

  1. Add the package to your repository. Open a text editor and create a Yellowdog Updater, Modified (YUM) entry. Use the file path /etc/yum.repos.d/ceph.repo. For example:

    sudo vim /etc/yum.repos.d/ceph.repo

    Paste the following example code. Replace {ceph-release} with the recent major release of Ceph (e.g., firefly). Replace {distro} with your Linux distribution (e.g., el6 for CentOS 6, rhel6 for Red Hat 6, fc18 or fc19 for Fedora 18 or Fedora 19, and sles11 for SLES 11). Finally, save the contents to the /etc/yum.repos.d/ceph.repo file.

    [ceph-noarch]
    name=Ceph noarch packages
    baseurl=http://ceph.com/rpm-{ceph-release}/{distro}/noarch
    enabled=1
    gpgcheck=1
    type=rpm-md
    gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
  2. Update your repository and install ceph-deploy:

    sudo yum update && sudo yum install ceph-deploy

Note

Some distributions (e.g., RHEL) require you to comment out Default requiretty in the /etc/sudoers file for ceph-deploy to work properly. If editing, /etc/sudoers, ensure that you use sudo visudo rather than a text editor.

Ceph Node Setup

If you are using ceph-deploy version 1.1.3 and beyond, ceph-deploy will attempt to create the SSH key and copy it to the initial monitor nodes automatically when you create the new cluster. For example:

ceph-deploy new node1

For other Ceph Nodes (and for initial monitors prior to ceph-deploy v1.1.3) perform the following steps:

  1. Create a user on each Ceph Node.

    ssh user@ceph-server
    sudo useradd -d /home/ceph -m ceph
    sudo passwd ceph
  2. Add root privileges for the user on each Ceph Node.

    echo "ceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph
    sudo chmod 0440 /etc/sudoers.d/ceph
  3. Install an SSH server (if necessary) on each Ceph Node:

    sudo apt-get install openssh-server
    sudo yum install openssh-server
  4. Configure your ceph-deploy admin node with password-less SSH access to each Ceph Node. When configuring SSH access, do not use sudo or the root user. Leave the passphrase empty:

    ssh-keygen
    Generating public/private key pair.
    Enter file in which to save the key (/ceph-client/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /ceph-client/.ssh/id_rsa.
    Your public key has been saved in /ceph-client/.ssh/id_rsa.pub.
  5. Copy the key to each Ceph Node.

    ssh-copy-id ceph@node1
    ssh-copy-id ceph@node2
    ssh-copy-id ceph@node3
  6. Modify the ~/.ssh/config file of your ceph-deploy admin node so that it logs in to Ceph Nodes as the user you created (e.g., ceph).

    Host node1
       Hostname node1
       User ceph
    Host node2
       Hostname node2
       User ceph
    Host node3
       Hostname node3
       User ceph
  7. Ensure connectivity using ping with short hostnames (hostname -s). Address hostname resolution issues and firewall issues as necessary. Note: Hostnames should resolve to a network IP address, not to the loopback IP address (e.g., hostnames should resolve to an IP address other than 127.0.0.1).

Note

If you use your admin node as one of the Ceph Nodes, you must perform these steps on the admin node too.

Summary

This completes the Quick Start Preflight. Proceed to the Storage Cluster Quick Start.