Using Ceph¶
Ceph is a set of storage technologies that allow object, block, and file storage that is reliable and scalable while maintaining high-performance.
The block storage component of Ceph can be used as a storage backend to the persistent disk service.
Requirements¶
- A working Ceph cluster
- A Ceph pool for pdisk
- A a manager identity for this pool
To create the pool: ceph osd pool create ${poolname} 128 128
To create the manager identity for the pool:
ceph auth get-or-create client.${identity} \
mon 'allow r' osd \
'allow class-read object_prefix rbd_children, allow rwx pool=${poolname}'
Modifications¶
Some modifications are needed for the persistent disk server and the VM hosts.
- Linux kernel 3.x
- Ceph package
- Ceph configuration in
/etc/ceph/ceph.conf
- Manager keyring in
/etc/ceph/ceph.client.${identity}.keyring
- Parameters in
pdisk-backend.cfg
andpdisk-host.conf
For testing, you can use a package provided by ELrepo repository which provides a 3.x kernel for CentOS v6.4.
Currently, using a proxy server is not very useful for this backend because the persistent disk server needs a 3.x kernel and the Ceph package to attach pdisks to itself when importing a remote appliance (cf. DiskUtils.copyUrlToVolume).
There is not automatic configuration via the StratusLab installer yet. This is being worked on.
The oneadmin
user must also be able to execute Ceph commands as
root. Update the /etc/sudoers
file appropriately:
# /etc/sudoers
oneadmin ALL= NOPASSWD: /usr/bin/rbd