Ceph
From Ceph wiki
Ceph is a distributed file system designed for reliability, scalability, and performance. The storage system consists of some (potentially large) number of storage servers (bricks), a smaller set of metadata server daemons, and a few monitor daemons for managing cluster membership and state.
It is recommended that the storage daemons use btrfs for storing data and taking advantage of btrfs' internal transactions to keep the local data set in a consistent state. This makes the storage cluster simple to deploy, while providing scalability not currently available from block-based Linux cluster file systems.
Additionally, Ceph brings a few new things to Linux. Directory granularity snapshots allow users to create a read-only snapshot of any directory (and its nested contents) with 'mkdir .snap/my_snapshot'. Deletion is similarly trivial ('rmdir .snap/old_snapshot'). Ceph also maintains recursive accounting statistics on the number of nested files, directories, and file sizes for each directory, making it much easier for an administrator to manage usage.
In addition to a filesystem, Ceph exposes its distributed object store (RADOS) and it can be accessed via multiple interfaces:
- The RADOS Gateway: Amazon-S3 compatible RESTful interface
- librados and the related C/C++ bindings
- rbd, kvm-rbd: a linux kernel and a kvm block devices that stripes data across multiple objects
Contents |
[edit] Getting Ceph
- Release tarballs are available at http://ceph.newdream.net/download
- Checking out the source (server side)
- Getting kernel client source
- Debian packages (Also applies for Ubuntu)
- Red Hat Packages (todo)
- Fedora packages
[edit] Setting it up
For a normal installation:
For a simple test environment (for development or simple testing):
- Simple test setup for development, etc.
Alternatively:
[edit] Ceph Playground
Note that this isn't actually available yet; it's coming soon though!
[edit] RADOS
[edit] Administration
- ceph.conf
- command line options
- OSD cluster expansion/contraction
- Adjusting replication level
- Custom data placement with CRUSH
- Monitor cluster expansion
- Monitor commands
- IPv6
- Snapshots
- Troubleshooting
[edit] API
[edit] Misc
- Debugging
- osd_auto_weight
- Running client in UML
- Re-exporting NFS
- Btrfs object store
- General architecture
- Wireshark plugin
- Hadoop FileSystem
- Messaging protocol notes
- Monitoring
- Git help!
- FAQ

