summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Wilkins <john.wilkins@inktank.com>2013-04-26 14:06:26 -0700
committerJohn Wilkins <john.wilkins@inktank.com>2013-04-26 14:06:26 -0700
commitfb8119ce44764aa7bee74be31b59bb010f4fc090 (patch)
tree3ac5e8d9d88eba5a38bf67ddcd5919e2a659286c
parent3433aa8f249e816ec783ea5d0be644107c945f4e (diff)
downloadceph-fb8119ce44764aa7bee74be31b59bb010f4fc090.tar.gz
doc: Added general pre-flight checklist for ceph-deploy.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
-rw-r--r--doc/rados/deployment/ceph-deploy-preflight.txt108
1 files changed, 108 insertions, 0 deletions
diff --git a/doc/rados/deployment/ceph-deploy-preflight.txt b/doc/rados/deployment/ceph-deploy-preflight.txt
new file mode 100644
index 00000000000..73f3451d838
--- /dev/null
+++ b/doc/rados/deployment/ceph-deploy-preflight.txt
@@ -0,0 +1,108 @@
+Pre-flight Checklist
+====================
+
+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``.
+
+.. _OS Recommendations: ../../../install/os-recommendations \ No newline at end of file