ceph fs #2

  • By xfactor973
  • Latest version (#2)
  • xenial
  • Stable
  • Edge

Description

Ceph is a distributed storage and network file system designed to provide
excellent performance, reliability, and scalability.


CephFS Charm

Overview

Ceph is a distributed storage and network file system designed to provide
excellent performance, reliability, and scalability.

This charm deploys a Ceph MDS cluster.

Usage

Boot things up by using:

juju deploy -n 3 --config ceph.yaml ceph-mon
juju deploy -n 3 --config ceph.yaml ceph-osd

In my example deployments on EC2 the following ceph.yaml will work:

ceph-mon:
  source: cloud:trusty-mitaka
ceph-osd:
  osd-devices: /dev/xvdb
  ephemeral-unmount: "/mnt"
  source: cloud:trusty-mitaka

You can then deploy this charm by simply doing:

juju deploy --config ceph.yaml ceph-fs
juju add-relation ceph-fs ceph-mon

Once the ceph-mon and osd charms have bootstrapped the cluster, the ceph-mon
charm will notify the ceph-fs charm.

Contact Information

Ceph

Configuration

harden
(string) Apply system hardening. Supports a space-delimited list of modules to run. Supported modules currently include os, ssh, apache and mysql.
use-direct-io
(boolean) Configure use of direct IO for OSD journals.
True
sysctl
(string) YAML-formatted associative array of sysctl key/value pairs to be set persistently. By default we set pid_max, max_map_count and threads-max to a high value to avoid problems with large numbers (>20) of OSDs recovering. very large clusters should set those values even higher (e.g. max for kernel.pid_max is 4194303).
{ kernel.pid_max : 2097152, vm.max_map_count : 524288, kernel.threads-max: 2097152 }
nagios_servicegroups
(string) A comma-separated list of nagios servicegroups. If left empty, the nagios_context will be used as the servicegroup
loglevel
(int) Mon and OSD debug level. Max is 20.
1
nagios_context
(string) Used by the nrpe-external-master subordinate charm. A string that will be prepended to instance name to set the host name in nagios. So for instance the hostname would be something like: juju-myservice-0 If you're running multiple environments with the same services in them this allows you to differentiate between them.
juju
apt
(string)
ceph-public-network
(string) The IP address and netmask of the public (front-side) network (e.g., 192.168.0.0/24) . If multiple networks are to be used, a space-delimited list of a.b.c.d/x can be provided.
source
(string) Optional configuration to support use of additional sources such as: - ppa:myteam/ppa - cloud:trusty-proposed/kilo - http://my.archive.com/ubuntu main The last option should be used in conjunction with the key configuration option. Note that a minimum ceph version of 0.48.2 is required for use with this charm which is NOT provided by the packages in the main Ubuntu archive for precise but is provided in the Ubuntu cloud archive.
package_status
(string) The status of service-affecting packages will be set to this value in the dpkg database. Valid values are "install" and "hold".
install
extra_packages
(string) Space separated list of extra deb packages to install.
key
(string) Key ID to import to the apt keyring to support use with arbitary source configuration from outside of Launchpad archives or PPA's.
ceph-cluster-network
(string) The IP address and netmask of the cluster (back-side) network (e.g., 192.168.0.0/24) . If multiple networks are to be used, a space-delimited list of a.b.c.d/x can be provided.
use-syslog
(boolean) If set to True, supporting services will log to syslog.
install_keys
(string) List of signing keys for install_sources package sources, per charmhelpers standard format (a yaml list of strings encoded as a string). The keys should be the full ASCII armoured GPG public keys. While GPG key ids are also supported and looked up on a keyserver, operators should be aware that this mechanism is insecure. null can be used if a standard package signing key is used that will already be installed on the machine, and for PPA sources where the package signing key is securely retrieved from Launchpad.
install_sources
(string) List of extra apt sources, per charm-helpers standard format (a yaml list of strings encoded as a string). Each source may be either a line that can be added directly to sources.list(5), or in the form ppa:<user>/<ppa-name> for adding Personal Package Archives, or a distribution component to enable.
prefer-ipv6
(boolean) If True enables IPv6 support. The charm will expect network interfaces to be configured with an IPv6 address. If set to False (default) IPv4 is expected. . NOTE: these charms do not currently support IPv6 privacy extension. In order for this charm to function correctly, the privacy extension must be disabled and a non-temporary address must be configured/available on your network interface.