Introduction to RedHat CEPH Storage
Data Keeps Growing Companies are gathering and storing more data than ever before. While storage capacity and density is increasing, users and corporations have even more rapidly growing needs to generate and store data. That data must also be managed and protected so that it is available to users whenever they need it. This increasing volume of data, and the need to manage and protect it, is outstripping existing storage infrastructures and the budgets allocated to IT storage.
The Need to Support Different Types of Storage Different applications need to use different methods to access storage.?
Modern storage administrators must be able to support these different ways of accessing storage in a scalable and cost-effective way. Types of access methods used by applications to work with storage include:
1-?????Block-based access Storage is presented as a block device which is accessed directly by the server's operating system. Use cases include storage for relational databases, and workloads with random read/ write operations.
2-?????File-based access Storage is presented as a hierarchical file system, accessed through files and directories.
3-?????Object-based access Storage is presented as an unstructured collection of objects. Each object contains a blob of data (binary data in any format) and a set of metadata, attributes specific to or contextual for the object ("data about the data"). Storage is accessed by using an API to store and retrieve objects based on each object's unique ID. This is a very common storage type used in cloud environments by end users and applications.
Red?Hat Ceph Storage is an open source, petabyte-scale distributed storage system primarily for object and block data, which can be scaled across commodity hardware. It provides unstructured object storage for cloud workloads, rich media, and archival use cases, which can be accessed either through a native API or by using the Amazon S3 or OpenStack Swift API protocols. Blockbased storage access is provided through either a native block-based protocol or by using the iSCSI protocol. The latest version of Red?Hat Ceph Storage can also provide clients access to a network file system compatible with POSIX by using its native CephFS file system.
THE RED?HAT CEPH STORAGE ARCHITECTURE
Ceph is based on a modular and distributed architecture that contains the following elements:
? An object storage back end known as RADOS (Reliable Autonomic Distributed Object Store)
? A variety of access methods to interact with RADOS?
CEPH ACCESS METHODS
? The Ceph Native API (librados): The native interface to the Ceph cluster. Service interfaces built on this native interface include the Ceph Block Device, the Ceph Object Gateway, and the Ceph File System.
? The Ceph Object Gateway: The RESTful APIs for Amazon S3 and OpenStack Swift compatibility. The Ceph Object Gateway is also referred to as the RADOS Gateway, RADOSGW, or RGW.
? The Ceph Block Device (RBD, librbd): This is a Python module that provides a block device-like interface to the RADOS object store. Each Ceph Block Device is referred to as a RADOS Block Device (RBD) image.
? The Ceph File System (CephFS, libcephfs): Provides access to a Ceph cluster through a POSIX-like file system interface.
CEPH'S STORAGE BACK END COMPONENTS
RADOS, the Ceph storage back end, is based on the following daemons, which can be scaled out to meet the requirements of the architecture being deployed:
1-?????Monitors (MONs), which maintain maps of the cluster state and are used to help the other daemons coordinate with each other
2-?????Object Storage Devices (OSDs), which store data and handle data replication, recovery and rebalancing
3-?????Managers (MGRs), which keep track of runtime metrics and expose cluster information through a web browser-based dashboard and REST API.
4-?????Metadata Servers (MDSs), which store metadata used by CephFS (but not object storage or block storage) to allow efficient POSIX command execution by clients
INTEGRATING OPENSTACK AND RED?HAT CEPH STORAGE
Red?Hat Ceph Storage can be integrated with OpenStack in a number of ways:
? Block storage : When Openstack creates a Cinder volume, it can store it as an RBD image inside the storage pool.
? Image storage : When Openstack?Glance creates an image, it stores it in Ceph as an RBD image
? File storage : Work is ongoing to allow OpenStack Manila to use CephFS to serve shared file systems to virtual machines
? Object storage: Red?Hat Ceph Storage can be used as a drop-in replacement for the OpenStack Swift service. RADOS Gateway supports the OpenStack Swift API as a communication method, and it can integrate users from OpenStack Keystone.
NetDevOps Manager at Orange Egypt [Telco-Cloud Solution Architect - DevSecOps - SDN - NFV - Kubernetes]
3 年Great article keep it up
Applied Data Scientist - M.Sc. in Communication and Information Technology specializing in Artificial Intelligence (AI)
3 年Great Job ya Mostafa
Manager at Deloitte | Cloud Consulting, Strategy, and Architecture
3 年Inspiring
Chief Enterprise Architect
3 年Nice article, keep it coming.
Network Security PS Engineer at GTS Holding | Fortinet SecOps Architect
3 年Informative and so well-written good job Eng. Mostafa and thanks for sharing.