ceph/doc/start/quick-start-preflight.rst

154 lines
4.8 KiB
ReStructuredText

=====================
Preflight Checklist
=====================
.. versionadded:: 0.60
Thank you for trying Ceph! We recommend setting up a ``ceph-deploy`` 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`` node and three
Ceph Nodes (or virtual machines) that will host your Ceph Storage Cluster.
.. ditaa::
/------------------\ /----------------\
| ceph deploy Node | | Ceph Node |
| +-------->+ |
| | | cCCC |
\---------+--------/ \----------------/
|
| /----------------\
| | Ceph Node |
+----------------->+ |
| | cCCC |
| \----------------/
|
| /----------------\
| | Ceph Node |
+----------------->| |
| cCCC |
\----------------/
Ceph runs on recent distributions of Linux (e.g., Ubuntu, Red Hat, CentOS,
etc.).
Ceph Node Setup
===============
A :term:`Ceph Node` requires the following:
- A recent Linux distribution.
- A user with ``root`` privileges.
- An SSH server.
- Network connectivity and access to/for other Ceph Nodes.
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)::
sudo apt-get install openssh-server
sudo yum install openssh-server
#. Configure your ``ceph-deploy`` node with password-less SSH access to each
Ceph Node. 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@ceph-server
#. Modify the ``~/.ssh/config`` file of your ``ceph-deploy`` 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
#. 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`` node. Then, install
``ceph-deploy``.
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), Fedora 17-19 (f17-f19), OpenSUSE 12
(opensuse12), and SLES (sles11) perform the following steps:
#. Add the package to your repository. Open a text editor and create a
Yellowdog Updater, Modified (YUM) entry under ``/etc/yum.repos.d``::
[ceph]
name=Ceph Packages $basearch
baseurl=http://ceph.com/rpm-{ceph-stable-release}/{distro}/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
Ensure that you use the correct path for your Linux distribution. Replace
``{ceph-stable-release}`` with the recent stable release of Ceph
(e.g., ``dumpling``). Replace ``{distro}`` with your Linux distribution
(e.g., CentOS (``el6``), Red Hat (``rhel6``), Fedora (``fc18`` or ``fc19``),
SLES (``sles11``)).
#. Update your repository and install ``ceph-deploy``::
sudo yum update && sudo yum install ceph-deploy python-pushy
.. _Storage Cluster Quick Start: ../quick-ceph-deploy
.. _OS Recommendations: ../../install/os-recommendations