Shared storage (with ceph)
Warning
This configuration might be deprecated and needs to be reviewed.
Configuration
The inventory may define these hosts to run the step completely:
clients
: Set of hosts that must be ceph-client. These hosts will access to the storage clustermons
: Set of hosts to that must be ceph-mon. These hosts will maintain a map of the state of the clusterosds
: Set of hosts to that must be ceph-osd. These hosts will interact with the logical disk to stock the data
More details in the documentation here.
The inventory must define these variables to run the step:
configure_firewall
: Boolean to configure the firewall (true
by default)ceph_origin
: Origin of the ceph installed files (must be set todistro
). SEAPATH installs ceph with an installer (see the installation section)ceph_osd_disk
: Device to stock datas (only for ceph-osd hosts), it's on this disk ceph will build a rbd. To success the CI, the path should be in/dev/disk/by-path
cluster_network
: Address block to access to cluster networkdashboard_enabled
: Boolean to enable a dashboard (must be set tofalse
)devices
: List of devices to use for the shared storage. All specified devices will be used entirelylvm_volumes
: List of volumes to use for the shared storage. To use to replacedevices
to take a part of the devicemonitor_address
: Address where the host will bindntp_service_enabled
: Boolean to enable the NTP service (must be set tofalse
). SEAPATH installs a specific NTP client and configure itosd_pool_default_min_size
: Minimal number of available OSD to ensure cluster success (best:ceil(osd_pool_default_size / 2.0)
)osd_pool_default_size
: Number of OSD in the clusterpublic_network
: Address block to access to public network
Volumes specifications
If lvm_volumes
is defined, the devices
variables is ignored.
When a volume is defined for the shared storage, some fields should be set for seapath-ansible and ceph-ansible.
data
: Logical volume to use for the shared storage (ceph-ansible variable)data_vg
: Volume group where the logical volume is (ceph-ansible variable)data_size
: Size of the logical volume (in megabytes by default). Change the unit with the appropriate suffixdevice
: Device to use to create the logical volumedevice_number
: Number of the partitiondevice_size
: Size of the partition to stock the logical volume
Override configuration
ceph offers to override the configuration with ceph_conf_override
:
Override global configuration
mon_osd_min_down_reporters
: (must be set to1
)osd_crush_chooseleaf_type
: (must be set to1
)osd_pool_default_min_size
: Minimal number of available OSD to ensure cluster success (best:ceil(osd_pool_default_size / 2.0)
)osd_pool_default_pg_num
: (must be set to128
)osd_pool_default_pgp_num
: (must be set to128
)osd_pool_default_size
: Number of OSD in the cluster
Override mon configuration
auth_allow_insecure_global_id_reclaim
: Boolean (must be set tofalse
)
Override osd configuration
osd_max_pg_log_entries
: (must be set to500
)osd_min_pg_log_entries
: (must be set to500
)osd_memory_target
: Size of the memory (in bytes)
Ceph provides ansible rules to configure the software, you can read the documentation here.
If this step is failed, you must restart it at the previous step. Use snapshot LVM to do this.
At end of this step, make sure that:
there is a
rbd
pool with this command:ceph osd pool ls
.there is a
ceph
pool with this command:virsh pool-list
.
RADOS Block Devices
During this step, ceph will build a RADOS block device (RBD) from ceph_osd_disk
. A storage entry (a pool) will be automatically generated for libvirt. When the service will be started, the hypervisor should be used to launch VMs.
On the ceph_osd_disk
of all machines, there are the same data.
This disk will be used with the librbd library provided by ceph.
More details here.