ceph
ceph是一个开源的,用c++语言编写的分布式的存储系统,存储文件数据。
lvm 逻辑卷 可以扩容
raid 磁盘阵列 高可用 基于物理意义上的存储系统
分布式就是多台物理磁盘组成的一个集群,在这个基础之后实现高可用,扩展
特点:1、远程访问
2、多个服务器组成的虚拟硬盘
3、分布式存储
4、负载均衡
ceph是一个同一的存储系统,同时提供块设备存储,文件系统存储和对象存储的三种存储。
对象存储(RGW):
就是键值存储,通过接口指令,get,put ,del 和其他命令向对象存储上传或者下载数据。
把数据作为对象,按照一定的逻辑和算法,存储到不同的硬盘上(可以是不同机器上的硬盘,依靠网络来进行互相通信)
优点:1、使用的是硬盘组,不受目录系统的影响,读写效率高
2、集群的扩展性很强,支持多副本存储
3、可以直接通过URL访问数据
缺点:1、内容变动比较大的文件,不适合作为对象存储
2、主要是静态图片等等不需要变动的数据
文件系统存储 ceph-fs
ceph 集群的存储看做一个大的分区或者共享文件挂载到客户端的本机。
客户端可以在本地直接进行操作。速度快,可以存储的数据类型也没有限制
内核态和用户态
mount 内核态 速度快 读写也快
ceph-fuse 用户态 速度慢 读写稍慢
优点:成本低,随便的一台服务器都可以做。
公司内部都会使用这种方式。内网云盘
缺点:读写速度和传输速度相对比较慢(本地使用除外)。
块存储RDB
RDB为kvm虚拟化和云服务(OpenStack)提供高性能和无线可扩展的存储后端。
磁盘映射,RAID和lvm提供磁盘空间,多个主机上的raid或者lvm组成逻辑上的RAID和lvm
多快磁盘组成这种逻辑空间,可以并行的执行读写操作。
**缺点:**对网络传输的要求比较高,Windows无法访问linux的RDB操作
ceph的主要特点:
1、统一存储 对象 块 文件系统
2、Crush 算法,算法来实现数据的寻址,数据完整性的校验和一致性,理论上可以支持上千个数据存储节点。
3、可靠性比较强,副本,创建数据的时候可以对数据进行副本操作,副本数量由管理员定义。
副本可以跨主机保存,跨架构,跨机房,跨数据中心保存
4、高性能 因为是多副本,读写的时候可以做到并行化处理。
ceph的组件和作用:
1、OSD ceph 当中的OSD的守护进程,是集群的基础
主要功能:存储数据,保存副本数据,数据恢复,平衡数据分布。
冗余和高可用至少要由3个OSD(三个机器上的三个物理硬盘)
2、Monitors mon Monitors守护进程,监视整个ceph集群的状态。维护整个ceph集群的健康
OSD的状态也属于MON的监控范围。
ceph存储集群必须要有一个Monitors进程,和两个OSD进程。
服务器的数据必须是奇数台。
管理节点 mon osd
3、MDS也是一个守护进程,保存ceph文件系统的元数据。(文件的权限,所有者,所在组,创建/修改时间等等,在ceph集群中的inode号)
4、manages也是作为守护进程运行,跟踪集群的运行时间的指标和ceph集群的状态:存储的利用率,性能指标和系统的负载。
5、RADOS&#