100% found this document useful (1 vote)
65 views13 pages

Overview of Ceph File System

Ceph is a distributed file system that provides excellent performance, reliability and scalability for petabyte-scale storage. It employs object-based storage using intelligent object storage devices rather than conventional hard disks. Ceph features decoupled metadata and data management using dynamic distributed metadata servers and reliable autonomic distributed object storage. The Ceph file system architecture consists of clients, a cluster of object storage devices, metadata servers and cluster monitors.

Uploaded by

IjazKhan
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
65 views13 pages

Overview of Ceph File System

Ceph is a distributed file system that provides excellent performance, reliability and scalability for petabyte-scale storage. It employs object-based storage using intelligent object storage devices rather than conventional hard disks. Ceph features decoupled metadata and data management using dynamic distributed metadata servers and reliable autonomic distributed object storage. The Ceph file system architecture consists of clients, a cluster of object storage devices, metadata servers and cluster monitors.

Uploaded by

IjazKhan
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

CEPH FILE SYSTEM

BY: MARIE LESLIE MELANIE PITTUMBUR


EMAIL: [Link]@[Link]
03 JUNE 2015

COURSE: COMPUTING CLUSTERS, GRIDS & CLOUDS


COURSE AUTHOR: PROFESSOR ANDREY Y. SHEVEL
ITMO UNIVERSITY, RUSSIA

OUTLINE
Introduction
Basic Terminologies & concepts
Features of Ceph File System
Architecture of Ceph File System
Ceph FS Fundamental Design Principles
Decoupled MetaData & Data Management
Dynamic Distributed MetaData Management
Reliable Autonomic Distributed Object Storage
Client Operation
Conclusion

INTRODUCTION
Ceph created by Sage Weil as a PhD project in 2007.
Ceph is a distributed file system that features: data replication and fault
tolerance while maintaining POSIX compatibility.

Foremost advantages: Excellent performance, Reliability, and Scalability for


Petabytes scale, dynamic and distributed systems.

It employs object-based storage & conventional hard disks are replaced with
intelligent object storage devices (OSDs).

Ceph has excellent I/O performance and scalable metadata management,


supporting more than 250,000 metadata operations per second.

BASIC CONCEPTS & TERMINOLOGIES (1)

Components of a file: MetaData, Mechanism to access & store the file & Data

Filesystem finds out which blocks of disk space belongs to which file to append data
User
and create new files.

---File System = Abstraction--Data Blocks

MS-DOS FAT FS: Allocation tables to store the location of the next block storing the
data cluster of the file.

Unix Fast FS: Uses Inode blocks to store all file metadata & references to data
blocks

Block-based file systems: Files are segmented into evenly sized blocks of data.

Apart from block addresses, no context information about the file is provided

BASIC CONCEPTS & TERMINOLOGIES (2)


Object-based file systems:
Data for each file is stored in a single object
MetaData is expandable and provides contextual about file
Global identifier: To locate object over a distributed system

Object File
System
Data

MetaData

MetaData servers perform metadata operations such as file open, file


rename

Low-level file I/O operations such as block allocation decisions for read &
write operations are delegated to intelligent OSDs.

Object based file systems are adapted to deal with data growth

Global
Identifier

FEATURES OF CEPH FILE SYSTEM


Primary goals driving design of Ceph File system:
Scalability: Includes the overall storage capacity and throughput of the system
Performance: Access to files or directories by clients
Reliability: Self-healing and dynamic file system for no single point of failure

Ceph maximizes decoupling of metadata & data management by


eliminating allocation or inode lists. Data distribution algorithms used.

Ceph provides extremely efficient metadata management and


seamlessly adapts to various workloads for different computing
requirements.

By leveraging OSDs intelligence: Semi-autonomous, fault tolerant and


recovering file systems

ARCHITECTURE OF CEPH FILE SYSTEM


Components of Ceph File System:
A client instance that exposes a POSIX file system
interface to a host

A cluster of OSDs storing both data and


metadata

A metadata cluster managing the namespace (file


names & directories), security, consistency &
coherence

Cluster monitors: Manage the cluster map of the


OSDs in case devices are added or removed.

CEPH FS FUNDAMENTAL DESIGN PRINCIPLES (1)


Decoupled MetaData & Data Management
Management of the metadata & storage of the actual file data is separated
Long block lists (each of 512 bytes) are replaced with shorted object lists

Unlike other object-based file system, Ceph eliminates any allocation or inode
lists.

File data is striped onto predictably named objects -> Boosting performance
Uses random data distribution function, CRUSH to assign objects to storage
devices.

Through calculation any party can access the objects name and location ->
file contents

CEPH FS FUNDAMENTAL DESIGN PRINCIPLES (2)


Dynamic Distributed Metadata Management
Metadata operations take up about half the workload of filesystems
Efficient management is critical to system performance

Ceph metadata cluster architecture: Dynamic sub-tree partitioning -> Single


authoritative MDS + Adaptive distribution of cached metadata across nodes

Current Access patterns to objects are used to distribute workload among


MDSs accordingly.

Effective use of OSDs resources.


Predict Scalability requirements in the future number of OSDs

CEPH FS FUNDAMENTAL DESIGN PRINCIPLES (3)


Reliable Autonomic Distributed Object Storage
Petabyte scale systems are highly dynamic and nodes fail regularly.

Filesystem is implemented incrementally: new devices are added with time


while old devices are removed.

Data distribution has to be dynamic to adapt to availability of resources and


to maintain appropriate level of data replication.

Large volume of data constantly created, deleted or moved.


Ceph FS benefits from increase in reliability and availability of storage: OSDs
manage data migration, replication or recovery on their own.

CEPH CLIENT
Client interface for Ceph file system incorporated into the Linux kernel (since 2.6.34)
Abstraction of the underlying metadata servers, monitors, and individual object
storage devices

Clients point of view: Only a mount point to the users filesystem which can be
accessed for normal I/O operations.

To run a ceph file system:


A running Ceph Storage cluster
A running Ceph metadata server
Mount the Ceph filesystem: Either as mounted device in /mnt/cephfs or using FUSE
or directory in users space using FUSE: /home/user/cephfs.

CONCLUSION
A Comparison with other Large Scale Distributed Systems:
Large Scale systems

Parallel file & data


systems

Metadata & Data


decoupling systems

OceanStore & Farsite FS

Vesta, Galley & Swift

StorageTanks, GPFS

Offer Petabytes of reliable


storage space

High transfer rates by data


striping

Scalability limited by the use of


block-based disks &

Poor file access performance


due to use of allocation and
inode lists for file name lookup

Reliability & Scalability issues


due to lack of scalable
metadata access & robust data
distribution algorithms

Metadata & data distribution


functions not sophisticated
enough.

REFERENCES

Sage A. Weil, Scott A. Brandt, Ethan L. Miller, Darrell D. E. Long, and Carlos
Maltzahn. 2006. Ceph: a scalable, high-performance distributed file system. In
Proceedings of the 7th symposium on Operating systems design and implementation
(OSDI '06). USENIX Association, Berkeley, CA, USA, 307-320.

[Link]

[Link]

[Link]
_Object-based_File_Systems_An_Overview.pdf

Common questions

Powered by AI

Ceph FS contrasts with OceanStore and Farsite in important ways. While all three offer large-scale storage capabilities, OceanStore and Farsite suffer from poor file access performance because of their reliance on allocation and inode lists for file name lookup, which can become bottlenecks as the system scales. Ceph FS, on the other hand, eliminates such lists, opting for a decoupled metadata and data management system. Architecturally, Ceph's use of the CRUSH algorithm for data distribution provides robust fault tolerance and efficient resource utilization, which OceanStore and Farsite lack. This leads to superior performance and scalability in Ceph, especially as the data grows to petabyte scale and beyond .

The CRUSH algorithm is integral to Ceph's data management, providing a decentralized method for data placement across the object storage devices (OSDs). It calculates the location of data objects based on a pseudo-random data distribution function, which ensures that data is evenly distributed across available OSDs, facilitating optimal resource utilization and load balancing. This helps enhance system scalability as it allows new storage devices to be added seamlessly, without major data migration disturbances. Moreover, CRUSH adds to Ceph's fault tolerance by ensuring that data replicas are distributed in a way that avoids putting all replicas on devices in proximity, thus preventing data loss in the event of individual OSD failures .

Ceph FS distinguishes itself from traditional block-based file systems by employing object-based storage, where data for each file is stored in single objects instead of blocks. This allows metadata to be more easily expanded and provides contextual information about files, including a global identifier to locate objects across a distributed system. Unlike block-based systems that use allocation or inode lists, Ceph FS's architecture eliminates these lists, relying on intelligent object storage devices (OSDs) to handle low-level file I/O operations. This approach enhances scalability and performance, as data is striped onto predictably named objects, and storage distribution is managed by the CRUSH algorithm for efficient access and fault tolerance .

Ceph's integration into the Linux kernel facilitates user interaction by providing a POSIX-compliant file system interface, allowing seamless mounting and file operations that are consistent with local file system handling. This means users can interact with Ceph as they would with any traditional file system, without needing to understand the complex underlying storage architecture. The kernel integration abstracts the workings of metadata servers, monitors, and object storage devices, presenting only a mountable file system to the user, thus simplifying access and management. This integration also ensures high performance and low latency for file operations, supporting extensive use in Linux environments .

Decoupling metadata from data management is significant in Ceph because it eliminates the need for allocation tables or inode lists, which can become bottlenecks in traditional file systems. This separation allows Ceph to perform metadata operations separately from data read/write operations, boosting performance. By managing metadata independently, Ceph can also efficiently distribute metadata loads across multiple metadata servers, enhancing scalability and reliability. This approach contrasts with systems such as StorageTanks and GPFS, which use less sophisticated metadata distribution functions and block-based storage that can limit scalability and performance .

Ceph achieves high performance in metadata management through its dynamic distributed metadata management system. It uses dynamic sub-tree partitioning and an adaptive distribution of cached metadata across metadata servers (MDSs). This means the workload of metadata operations, which constitute about half of the filesystem workload, is efficiently managed by distributing based on current access patterns, ensuring even workload distribution among MDSs. This arrangement is crucial as it directly impacts system performance and scalability, allowing Ceph to handle more than 250,000 metadata operations per second while maintaining system efficiency .

Ceph's design improves reliability and fault tolerance through its autonomic distributed object storage model. The system is designed to operate at a petabyte scale, dynamically adapting to resource availability and maintaining high levels of data replication. Ceph implements reliable data distribution with its CRUSH algorithm, which assigns data to storage devices in a manner that precludes any single point of failure. The intelligent OSDs autonomously manage data migrations, replications, and recoveries, enhancing system robustness. This self-healing capacity, along with the elimination of allocation or inode lists, makes Ceph more resilient compared to other distributed systems that rely on these elements, which can introduce bottlenecks and vulnerabilities .

The primary components of the Ceph File System include a client instance that provides a POSIX file system interface, a cluster of object storage devices (OSDs) that store both data and metadata, a metadata cluster for managing the namespace and ensuring security, consistency, and coherence, and cluster monitors that manage the OSD cluster map when devices are added or removed. These components interact by decoupling data and metadata management: the client accesses a POSIX interface while the OSDs manage data autonomously, allowing the system to scale efficiently. The metadata cluster dynamically distributes metadata management across nodes, ensuring workload balance and high performance. OSDs handle data placement and replication using the CRUSH algorithm, ensuring fault tolerance and efficient data retrieval .

Ceph's self-healing capability offers significant advantages in maintenance and data integrity by allowing the system to autonomously handle failure recoveries without manual intervention. When failures occur, such as OSDs going offline, Ceph automatically initiates data rebalance and recovery processes, ensuring replicas are maintained and data integrity is preserved. This reduces downtime and maintenance efforts while enhancing reliability. It also leverages the CRUSH algorithm for efficient redistribution of data when new storage devices are added, constantly maintaining optimal data distribution and system health. This approach minimizes disruption and ensures continuous access to data despite failures .

Block-based disk systems face scalability limitations chiefly due to their structural dependency on allocation tables and inode lists, which can become bottlenecks as the system grows. These systems often struggle with efficient metadata management and data placement, leading to reduced performance and increased complexity in scaling operations. In contrast, Ceph's object-based architecture uses intelligent object storage devices (OSDs) and the CRUSH algorithm for data distribution, facilitating seamless scaling by eliminating centralized metadata lists and enhancing load balancing. Objects are the unit of storage, allowing metadata to be managed independently, which translates to better scalability and performance as it readily adapts to additions of new hardware or rebalancing workloads .

You might also like