.. versionadded:: 0.60
- Thank you for trying Ceph! Petabyte-scale data clusters are quite an
- undertaking. Before delving deeper into Ceph, we recommend setting up a two-node
- demo cluster to explore some of the functionality. This **Preflight Checklist**
- will help you prepare an admin node and a server node for use with
- ``ceph-deploy``.
-
- .. ditaa::
- /----------------\ /----------------\
- | Admin Node |<------->| Server Node |
- | cCCC | | cCCC |
- \----------------/ \----------------/
-
+ 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.
+
+
+ .. ditaa::
+ /------------------\ /----------------\
+ | Admin Node | | ceph–node1 |
+ | +-------->+ |
+ | ceph–deploy | | cCCC |
+ \---------+--------/ \----------------/
+ |
+ | /----------------\
+ | | ceph–node2 |
+ +----------------->+ |
+ | | cCCC |
+ | \----------------/
+ |
+ | /----------------\
+ | | ceph–node3 |
+ +----------------->| |
+ | cCCC |
+ \----------------/
+Before you can deploy Ceph using ``ceph-deploy``, you need to ensure that you
+have a few things set up first on your admin node and on nodes running Ceph
+daemons.
++
+ Ceph Node Setup
+ ===============
- Install an Operating System
- ===========================
-
- Install a recent release of Debian or Ubuntu (e.g., 12.04, 12.10, 13.04) on your
- nodes. For additional details on operating systems or to use other operating
- systems other than Debian or Ubuntu, see `OS Recommendations`_.
-
-
- Install an SSH Server
- =====================
-
- The ``ceph-deploy`` utility requires ``ssh``, so your server node(s) require an
- SSH server. ::
-
- sudo apt-get install openssh-server
-
-
- Create a User
- =============
+ Perform the following steps:
- Create a user on nodes running Ceph daemons.
-
- .. tip:: We recommend a username that brute force attackers won't
- guess easily (e.g., something other than ``root``, ``ceph``, etc).
-
- ::
+ #. Create a user on each Ceph Node. ::
ssh user@ceph-server
sudo useradd -d /home/ceph -m ceph
ssh-copy-id ceph@ceph-server
- Modify your ~/.ssh/config file of your admin node so that it defaults
- to logging in as the user you created when no username is specified. ::
+
+ #. 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 ceph-server
- Hostname ceph-server.fqdn-or-ip-address.com
- User ceph
+ Hostname ceph-server.fqdn-or-ip-address.com
+ User ceph
- .. note:: Do not call ceph-deploy with ``sudo`` or run as ``root`` if you are
- login in as a different user (as in the ssh config above) because it
- will not issue ``sudo`` commands needed on the remote host.
- Install ceph-deploy
- ===================
+ #. Ensure connectivity using ``ping`` with hostnames (i.e., not IP addresses).
+ Address hostname resolution issues and firewall issues as necessary.
+
+
+ Ceph Deploy Setup
+ =================
+
+ Add Ceph repositories to the ``ceph-deploy`` admin node. Then, install
+ ``ceph-deploy``.
- To install ``ceph-deploy``, execute the following::
+
+ 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 -
+ echo deb http://ceph.com/debian-dumpling/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
+ sudo apt-get update
+ sudo apt-get install ceph-deploy
+ #. 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
- Ensure Connectivity
- ===================
+ #. Update your repository and install ``ceph-deploy``::
- Ensure that your admin node has connectivity to the network and to your Server
- node (e.g., ensure ``iptables``, ``ufw`` or other tools that may prevent
- connections, traffic forwarding, etc. to allow what you need).
+ sudo apt-get update && sudo apt-get install ceph-deploy
- without effective error messages.
+.. tip:: The ``ceph-deploy`` tool is new and you may encounter some issues
++ without effective error messages.
- Once you have completed this pre-flight checklist, you are ready to begin using
- ``ceph-deploy``.
+ Red Hat Package Manager (RPM)
+ -----------------------------
+ For Red Hat(rhel6), CentOS (el6), Fedora 17-19 (f17-f19), OpenSUSE 12
+ (opensuse12), and SLES (sles11) perform the following steps:
+Hostname Resolution
+===================
- Ensure that your admin node can resolve the server node's hostname. ::
+ #. 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::
- ping {server-node}
+ sudo vim /etc/yum.repos.d/ceph.repo
- If you execute ``ceph-deploy`` against the localhost, ``ceph-deploy``
- must be able to resolve its IP address. Consider adding the IP address
- to your ``/etc/hosts`` file such that it resolves to the hostname. ::
+ Paste the following example code. Replace ``{ceph-stable-release}`` with
+ the recent stable release of Ceph (e.g., ``dumpling``). 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. ::
- hostname
- host -4 {hostname}
- sudo vim /etc/hosts
+ [ceph-noarch]
+ name=Ceph noarch packages
+ baseurl=http://ceph.com/rpm-{ceph-stable-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
+ {ip-address} {hostname}
- ceph-deploy {command} {hostname}
+ #. Update your repository and install ``ceph-deploy``::
+
+ sudo yum update && sudo yum install ceph-deploy
- .. tip:: The ``ceph-deploy`` tool will not resolve to ``localhost``. Use
- the hostname.
Summary
=======