ceph/doc/rados/deployment/mkcephfs.rst

154 lines
4.7 KiB
ReStructuredText

=============================
Deploying with ``mkcephfs``
=============================
To deploy a test or development cluster, you can use the ``mkcephfs`` tool.
We do not recommend using this tool for production environments.
Enable Login to Cluster Hosts as ``root``
=========================================
To deploy with ``mkcephfs``, you will need to be able to login as ``root``
on each host without a password. For each host, perform the following::
sudo passwd root
Enter a password for the root user.
On the admin host, generate an ``ssh`` key without specifying a passphrase
and use the default locations. ::
sudo -i
ssh-keygen
Generating public/private key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
Modify your ``/root/.ssh/config`` file to login as ``root``, as follows::
Host myserver01
Hostname myserver01.fully-qualified-domain.com
User root
Host myserver02
Hostname myserver02.fully-qualified-domain.com
User root
You may use RSA or DSA keys. Once you generate your keys, copy them to each
OSD host. For example::
ssh-copy-id root@myserver01
ssh-copy-id root@myserver02
Copy Configuration File to All Hosts
====================================
Ceph's ``mkcephfs`` deployment script does not copy the configuration file you
created from the Administration host to the OSD Cluster hosts. Copy the
configuration file you created (*i.e.,* ``mycluster.conf`` in the example below)
from the Administration host to ``etc/ceph/ceph.conf`` on each OSD Cluster host
if you are using ``mkcephfs`` to deploy Ceph.
::
sudo ssh myserver01 tee /etc/ceph/ceph.conf < /etc/ceph/ceph.conf
sudo ssh myserver02 tee /etc/ceph/ceph.conf < /etc/ceph/ceph.conf
sudo ssh myserver03 tee /etc/ceph/ceph.conf < /etc/ceph/ceph.conf
Create the Default Directories
==============================
The ``mkcephfs`` deployment script does not create the default server
directories. Create server directories for each instance of a Ceph daemon (if
you haven't done so already). The ``host`` variables in the ``ceph.conf`` file
determine which host runs each instance of a Ceph daemon. Using the exemplary
``ceph.conf`` file, you would perform the following:
On ``myserver01``::
sudo mkdir /var/lib/ceph/osd/ceph-0
sudo mkdir /var/lib/ceph/mon/ceph-a
On ``myserver02``::
sudo mkdir /var/lib/ceph/osd/ceph-1
sudo mkdir /var/lib/ceph/mon/ceph-b
On ``myserver03``::
sudo mkdir /var/lib/ceph/osd/ceph-2
sudo mkdir /var/lib/ceph/mon/ceph-c
sudo mkdir /var/lib/ceph/mds/ceph-a
Mount Disks to the Data Directories
===================================
If you are running multiple OSDs per host and one hard disk per OSD, you should
mount the disk under the OSD data directory (if you haven't done so already).
When mounting disks in this manner, there is no need for an entry in
``/etc/fstab``.
.. versionadded:: 0.56
For Bobtail (v 0.56) and beyond, you may specify the file system type, filesystem
options, and mount options. Add the following to the ``[global]`` section of your
Ceph configuration file, and replace the values in braces with appropriate values::
osd mkfs type = {fs-type}
osd mkfs options {fs-type} = {mkfs options} # default for xfs is "-f"
osd mount options {fs-type} = {mount options} # default mount option is "rw, noatime"
For example::
osd mkfs type = btrfs
osd mkfs options btrfs = -m raid0
osd mount options btrfs = rw, noatime
For each ``[osd.n]`` section of your configuration file, specify the storage device.
For example::
[osd.1]
devs = /dev/sda
[osd.2]
devs = /dev/sdb
Run ``mkcephfs``
================
Once you have copied your Ceph Configuration to the OSD Cluster hosts
and created the default directories, you may deploy Ceph with the
``mkcephfs`` script.
.. note:: ``mkcephfs`` is a quick bootstrapping tool. It does not handle more
complex operations, such as upgrades.
To run ``mkcephfs``, execute the following::
cd /etc/ceph
sudo mkcephfs -a -c /etc/ceph/ceph.conf -k ceph.keyring
.. note:: For ``mkcephfs`` to use the ``mkfs`` configuration options, you MUST
specify a ``devs`` entry for each OSD.
The script adds an admin key to the ``ceph.keyring``, which is analogous to a
root password. See `Authentication`_ when running with ``cephx`` enabled. To
start the cluster, execute the following::
sudo service ceph -a start
See `Operating a Cluster`_ for details. Also see `man mkcephfs`_.
.. _Authentication: ../authentication
.. _Operating a Cluster: ../../operations/
.. _man mkcephfs: ../../../man/8/mkcephfs
.. toctree::
:hidden:
../../../man/8/mkcephfs