Installs and configures Ceph, a distributed network storage and filesystem designed to provide excellent performance, reliability, and scalability.
The current version is focused towards deploying Monitors and OSD on Ubuntu.
For documentation on how to use this cookbook, refer to the USAGE section.
For help, use Gitter chat, mailing-list or issues
= 11.6.0
Tested as working:
- Ubuntu Precise (12.04)
The ceph cookbook requires the following cookbooks from Opscode:
https://github.com/opscode/cookbooks
- apt
- apache2
- node[:ceph][:radosgw][:api_fqdn]
- node[:ceph][:radosgw][:admin_email]
- node[:ceph][:radosgw][:rgw_addr]
Ceph cluster design is beyond the scope of this README, please turn to the public wiki, mailing lists, visit our IRC channel, or contact Inktank:
http://ceph.com/docs/master http://ceph.com/resources/mailing-list-irc/ http://www.inktank.com/
Ceph monitor nodes should use the ceph-mon role.
Includes:
- ceph::default
- ceph::conf
Ceph metadata server nodes should use the ceph-mds role.
Includes:
- ceph::default
Ceph OSD nodes should use the ceph-osd role
Includes:
- ceph::default
- ceph::conf
Ceph Rados Gateway nodes should use the ceph-radosgw role
The ceph_client LWRP provides an easy way to construct a Ceph client key. These keys are needed by anything that needs to talk to the Ceph cluster, including RadosGW, CephFS, and RBD access.
- :add - creates a client key with the given parameters
- :name - name attribute. The name of the client key to create. This is used to provide a default for the other parameters
- :caps - A hash of capabilities that should be granted to the client key. Defaults to
{ 'mon' => 'allow r', 'osd' => 'allow r' }
- :as_keyring - Whether the key should be saved in a keyring format or a simple secret key. Defaults to true, meaning it is saved as a keyring
- :keyname - The key name to register in Ceph. Defaults to
client.#{name}.#{hostname}
- :filename - Where to save the key. Defaults to
/etc/ceph/ceph.client.#{name}.#{hostname}.keyring
ifas_keyring
and/etc/ceph/ceph.client.#{name}.#{hostname}.secret
if notas_keyring
- :owner - Which owner should own the saved key file. Defaults to root
- :group - Which group should own the saved key file. Defaults to root
- :mode - What file mode should be applied. Defaults to '00640'
The ceph_cephfs LWRP provides an easy way to mount CephFS. It will automatically create a Ceph client key for the machine and mount CephFS to the specified location. If the kernel client is used, instead of the fuse client, a pre-existing subdirectory of CephFS can be mounted instead of the root.
- :mount - mounts CephFS
- :umount - unmounts CephFS
- :remount - remounts CephFS
- :enable - adds an fstab entry to mount CephFS
- :disable - removes an fstab entry to mount CephFS
- :directory - name attribute. Where to mount CephFS in the local filesystem
- :use_fuse - whether to use ceph-fuse or the kernel client to mount the filesystem. ceph-fuse is updated more often, but the kernel client allows for subdirectory mounting. Defaults to true
- :cephfs_subdir - which CephFS subdirectory to mount. Defaults to '/'. An exception will be thrown if this option is set to anything other than '/' if use_fuse is also true
-
Author: Kyle Bader kyle.bader@dreamhost.com
-
Copyright 2013, DreamHost Web Hosting and Inktank Storage Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.