===================== Preflight Checklist ===================== .. versionadded:: 0.60 Thank you for trying Ceph! We recommend setting up a ``ceph-deploy`` admin node and a 3-node :term:`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. .. ditaa:: /------------------\ /----------------\ | Admin Node | | node1 | | +-------->+ | | ceph–deploy | | cCCC | \---------+--------/ \----------------/ | | /----------------\ | | node2 | +----------------->+ | | | cCCC | | \----------------/ | | /----------------\ | | node3 | +----------------->| | | cCCC | \----------------/ 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: #. 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 - #. 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 #. 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: #. 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 #. 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: #. Create a user on each Ceph Node. :: ssh user@ceph-server sudo useradd -d /home/ceph -m ceph sudo passwd ceph #. 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 #. Install an SSH server (if necessary) on each Ceph Node:: sudo apt-get install openssh-server sudo yum install openssh-server #. 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. #. Copy the key to each Ceph Node. :: ssh-copy-id ceph@node1 ssh-copy-id ceph@node2 ssh-copy-id ceph@node3 #. 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 #. 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`_. .. _Storage Cluster Quick Start: ../quick-ceph-deploy .. _OS Recommendations: ../os-recommendations