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