mirror of https://github.com/ceph/ceph
158 lines
4.7 KiB
ReStructuredText
158 lines
4.7 KiB
ReStructuredText
=====================
|
|
Preflight Checklist
|
|
=====================
|
|
|
|
.. 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 |
|
|
\----------------/ \----------------/
|
|
|
|
|
|
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.
|
|
|
|
|
|
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
|
|
=============
|
|
|
|
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).
|
|
|
|
::
|
|
|
|
ssh user@ceph-server
|
|
sudo useradd -d /home/ceph -m ceph
|
|
sudo passwd ceph
|
|
|
|
|
|
``ceph-deploy`` installs packages onto your nodes. This means that
|
|
the user you create requires passwordless ``sudo`` privileges.
|
|
|
|
.. note:: We **DO NOT** recommend enabling the ``root`` password
|
|
for security reasons.
|
|
|
|
To provide full privileges to the user, add the following to
|
|
``/etc/sudoers.d/ceph``. ::
|
|
|
|
echo "ceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph
|
|
sudo chmod 0440 /etc/sudoers.d/ceph
|
|
|
|
|
|
Configure SSH
|
|
=============
|
|
|
|
Configure your admin machine with password-less SSH access to each node
|
|
running Ceph daemons (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 node running Ceph daemons::
|
|
|
|
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. ::
|
|
|
|
Host ceph-server
|
|
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
|
|
===================
|
|
|
|
To install ``ceph-deploy``, execute the following::
|
|
|
|
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
|
|
|
|
|
|
Ensure Connectivity
|
|
===================
|
|
|
|
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).
|
|
|
|
.. 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``.
|
|
|
|
|
|
Hostname Resolution
|
|
===================
|
|
|
|
Ensure that your admin node can resolve the server node's hostname. ::
|
|
|
|
ping {server-node}
|
|
|
|
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. ::
|
|
|
|
hostname
|
|
host -4 {hostname}
|
|
sudo vim /etc/hosts
|
|
|
|
{ip-address} {hostname}
|
|
|
|
ceph-deploy {command} {hostname}
|
|
|
|
.. tip:: The ``ceph-deploy`` tool will not resolve to ``localhost``. Use
|
|
the hostname.
|
|
|
|
Summary
|
|
=======
|
|
|
|
Once you have passwordless ``ssh`` connectivity, passwordless ``sudo``,
|
|
installed ``ceph-deploy``, and you have ensured appropriate connectivity,
|
|
proceed to the `Storage Cluster Quick Start`_.
|
|
|
|
.. tip:: The ``ceph-deploy`` utility can install Ceph packages on remote
|
|
machines from the admin node!
|
|
|
|
.. _Storage Cluster Quick Start: ../quick-ceph-deploy
|
|
.. _OS Recommendations: ../../install/os-recommendations
|