标签:集群 bsp 参考资料 完整 分布式文件 linux 编程语言 数据 .com
Ceph基本情况的介绍
Ceph是一个分布式存储软件。
它支持用3种方式存储数据,分别是:对象存储、块设备存储、分布式文件系统存储。
Ceph最初的目标是做一个分布式文件系统,直到现在这个目标也不能算完美实现,目前官网上对它的文件系统还是谨慎推荐的态度(不建议对线上核心业务部署),业界使用 Ceph ,大多是用它的对象存储。
本文对Ceph的基本面做一个介绍。
提纲
1、分布式存储系统概述
2、Ceph基本介绍和Ceph基本概念介绍
3、Ceph的架构
4、Ceph的安装
1、分布式存储系统概述
==================
一般人使用电脑,看到的存储数据的方式,就是使用操作系统的文件系统把数据以文件的形式存储起来。IT行业的专业人员,不仅仅了解操作系统的文件系统,还了解另外的数据存储系统,比如数据库,像MySQL等软件。不过,这些都是在个人用户、或者数据量很小的情况下才会使用的数据存储系统。
如果要存储的数据量很大,单机的文件系统存储不下,那么很多IT的工程师开发分布式存储系统,利用多个服务器组成的集群来存储数据,这样分布式存储系统有很多种类型,比如分布式文件系统HDFS等。
所谓的分布式存储系统,就是一个软件,用它来管理多个服务器上的存储设备,把这些存储统一管理起来,对存储系统的用户提供统一的存储接口。
这里要介绍的Ceph也就是一个分布式存储软件。
2、Ceph基本介绍和Ceph基本概念介绍
===============================
Ceph是一个分布式存储软件,它支持用3种方式存储数据,分别是:对象存储、块设备存储、分布式文件系统存储。也就是说它可以当成一个分布式文件系统来使用,用来存储文件形式的数据,但是它还支持其他两种存储方式,也就是用对象的方式存储数据和使用块设备的方式存储数据。
Ceph最初的目标是做一个分布式文件系统,直到现在这个目标也不能算完美实现,目前官网上对它的文件系统还是谨慎推荐的态度(不建议对线上核心业务部署),业界使用 Ceph ,大多是用它的对象存储。
下面是基本概念介绍。
(1)对象存储
对象:指的是编程语言种的由类new出来的对象,比如Person类,new Person得到一个Person对象。
对象存储,指的就是按照一个对象一个对象来存储数据,数据具体存放在对象的属性中。
(2)块存储
块:块是一种有序的字节块,也就说一块指的是一个字节块,或者说一块字节,比如一个字节数组,可以看成是一个字节块。
块存储,就是按照字节块来一块一块的存储数据。
3、Ceph的架构
=============
下图是Ceph的架构图。Ceph这个软件,分为3层,最底层是Rados对象存储系统、中间是一个librados,也就是一个接口层,对外提供访问Rados对象存储系统的接口API,最上层又提供了三种不同的存储方式:对象存储、块设备存储、文件系统存储。
从这张图片我们可以看到,不管Ceph的用户是使用3种方式种哪一种存储数据到Ceph,其实Ceph在底层都是以对象来存储的。
下面对架构种的三层具体介绍。
(1)RADOS
从架构图中可以看到最底层的是RADOS,RADOS自身是一个完整的分布式对象存储系统。
它具有可靠、智能、分布式等特性,Ceph的高可靠、高可拓展、高性能、高自动化都是由这一层来提供的,用户数据的存储最终也都是通过这一层来进行存储的,RADOS可以说就是Ceph的核心。
RADOS系统主要由两部分组成,分别是OSD和Monitor。
(2)Librados
基于RADOS层的上一层是LIBRADOS,LIBRADOS是一个库,它允许应用程序通过访问该库来与RADOS系统进行交互,支持多种编程语言,比如C、C++、Python等。
(3)最上层
基于LIBRADOS层开发的又可以看到有三层,分别是RADOSGW、RBD和CEPH FS。
RADOSGW:RADOSGW是一套基于当前流行的RESTFUL协议的网关,并且兼容S3和Swift。
RBD:RBD通过Linux内核客户端和QEMU/KVM驱动来提供一个分布式的块设备。
CEPH FS:CEPH FS通过Linux内核客户端和FUSE来提供一个兼容POSIX的文件系统。
4、Ceph的安装
==============
Ceph是一个分布式存储软件,所以它的安装肯定是在集群的多台服务器上逐一安装每个节点需要部署的东西。
一个Ceph存储集群至少有一个Ceph Monitor进程、一个Ceph Manager进程、一个Ceph OSD(Object Storage Daemon)进程,如果需要运行Ceph文件系统的客户端,还需要部署一个Ceph元数据服务器进程。
参考资料:
1、玩转Ceph的正确姿势,https://www.cnblogs.com/me115/p/6366374.html,这篇介绍的比较简明、清楚
2、Ceph基础知识和基础架构认识,https://www.cnblogs.com/luohaixian/p/8087591.html,这篇非常理论化,必须在看完第一篇并且确实理解了之后,才能看,否则看了也一头雾水
3、Ceph中文文档,http://docs.ceph.org.cn/start/intro/
4、Ceph官方网站,http://docs.ceph.com/docs/master/start/intro/
标签:集群 bsp 参考资料 完整 分布式文件 linux 编程语言 数据 .com
原文地址:https://www.cnblogs.com/zhangzl419/p/9295668.html