Skip to content
Leseb edited this page Jul 17, 2015 · 12 revisions

Welcome to the ceph-ansible wiki!

Deploy without Vagrant

First install Ansible by using the bootstrap-ansible.sh script. Now setup your Ansible inventory file, usually an example exists in /etc/ansible/hosts.

You can use it or produce a new one like this, this file assumes that you can resolve each hostname:

[mons]
ceph-monitor01
ceph-monitor02
ceph-monitor03

[osds]
ceph-osd01
ceph-osd02
ceph-osd03
...
...

[mdss]
ceph-mds01

[rgws]
ceph-rgw01

Now make sure that you can ssh passwordless to every node:

ansible all -m ping
192.168.0.1 | success >> {
    "changed": false,
    "ping": "pong"
}

192.168.0.2 | success >> {
    "changed": false,
    "ping": "pong"
}

192.168.0.3 | success >> {
    "changed": false,
    "ping": "pong"
}

192.168.0.4 | success >> {
    "changed": false,
    "ping": "pong"
}

All the pings must succeed, if not check your /etc/ansible/ansible.cfg and make sure that the proper user and key are used.

You're all set and almost ready to deploy :).

Common

Now a couple of critical variables must be applied in order to successfully deploy your cluster.

Go to group_vars/all and edit the following:

  • decide from which source you want to install ceph, so choose between:
    • ceph_stable
    • ceph_stable_ice (old enterprise version)
    • ceph_stable_rh_storage (enterprise version)
  • monitor_interface: interface to listen on
  • journal_size: OSD journal size
  • public_network

OSD

Go to group_vars/osds and edit the following:

  • choose a scenario between:
    • journal_collocation
    • raw_multi_journal
    • osd_directory
  • edit the devices depending on the scenario

For more scenarios, read the file.

Clone this wiki locally