diff options
author | John Wilkins <john.wilkins@inktank.com> | 2013-04-26 14:07:34 -0700 |
---|---|---|
committer | John Wilkins <john.wilkins@inktank.com> | 2013-04-26 14:07:34 -0700 |
commit | 9a7a0753cfc1f8d29449aa4811bd0a41d81f1bc3 (patch) | |
tree | efa46003c216bb0524b84f26b0d57a76aa665c51 | |
parent | 9e775f15d73fa8f9c8fe5ca02a9fff041a84ac1a (diff) | |
download | ceph-9a7a0753cfc1f8d29449aa4811bd0a41d81f1bc3.tar.gz |
doc: General purpose pre-flight checklist.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
-rw-r--r-- | doc/rados/deployment/preflight-checklist.rst | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/doc/rados/deployment/preflight-checklist.rst b/doc/rados/deployment/preflight-checklist.rst new file mode 100644 index 00000000000..bd14a549e5d --- /dev/null +++ b/doc/rados/deployment/preflight-checklist.rst @@ -0,0 +1,115 @@ +===================== + Preflight Checklist +===================== + +.. versionadded:: 0.60 + +This **Preflight Checklist** will help you prepare an admin host for use with +``ceph-deploy``, and server hosts for use with passwordless ``ssh`` and +``sudo``. + +Before you can deploy Ceph using ``ceph-deploy``, you need to ensure that you +have a few things set up first on your admin host and on hosts running Ceph +daemons. + + +Install an Operating System +=========================== + +Install a recent release of Debian or Ubuntu (e.g., 12.04, 12.10) on your +hosts. For additional details on operating systems or to use other operating +systems other than Debian or Ubuntu, see `OS Recommendations`_. + +Create a User +============= + +Create a user on hosts 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 hosts. This means that +the user you create requires passwordless ``sudo`` priveleges. + +.. note:: We **DO NOT** recommmend enabling the ``root`` password + for security reasons. + +To provide full privileges to the user, add the following to +``/etc/sudoers.d/chef``. :: + + echo "chef ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/chef + sudo chmod 0440 /etc/sudoers.d/chef + + +Configure SSH +============= + +Configure your admin machine with password-less SSH access to each host +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 host running Ceph daemons:: + + ssh-copy-id ceph@ceph-server + +Modify your ~/.ssh/config file of your admin host 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 + + +Install git +=========== + +To clone the ``ceph-deploy`` repository, you will need install ``git`` +on your admin host. :: + + sudo apt-get install git + + +Clone ceph-deploy +================= + +To begin working with ``ceph-deploy``, clone its repository. :: + + git clone https://github.com/ceph/ceph-deploy.git ceph-deploy + + +Install python-virualenv +======================== + +To bootstrap ``ceph-deploy`` and run it, you must install the +``python-virtualenv`` package. :: + + sudo apt-get install python-virtualenv + + +Bootstrap ceph-deploy +===================== + +After you clone the repository, bootstrap ``ceph-deploy``. :: + + cd ceph-deploy + ./bootstrap + +Add ``ceph-deploy`` to your path so that so that you can execute it without +remaining in ``ceph-deploy`` directory (e.g., ``/etc/environment``, +``~/.pam_environment``). Once you have completed this pre-flight checklist, you +are ready to begin using ``ceph-deploy``. + |