mirror of https://github.com/ceph/ceph
154 lines
4.8 KiB
ReStructuredText
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
|