基于CephRBD实现Docker集群的

了解分布式存储

以Docker为代表的容器技术在云计算领域正扮演着越来越重要的角色,甚至一度被认为是虚拟化技术的替代品。企业中对于有状态的容器,往往需要将数据保存在额外的存储空间。

Docker引入了Volume机制,能够将永久数据独立于容器之外。正式的生产环境,Docker通常是以集群的方式使用的,因此容器会分散在不同的主机上,为了保证数据的一致性和可访问性,共享存储是不可避免的。相比于传统共享文件系统,分布式存储系统扩展能力更强,由于数据都是分散在多个数据存储服务器上,因此数据更加可靠、安全,也更适用于容器的存储。

Ceph简介Ceph概述Ceph是一个分布式存储系统,独一无二地用统一的系统—Ceph存储集群,提供了对象存储,块存储和文件存储三种功能。Ceph的存储集群基于RADOS,提供了极大伸缩性—供成千用户访问PB乃至EB级的数据。Ceph节点以普通硬件和智能守护进程作为支撑点,Ceph存储集群组织起了大量节点,它们之间靠相互通讯来复制数据、同时采用CRUSH算法动态地重分布数据。

Ceph有很多术语,了解这些术语,对理解Ceph的体系结构是非常重要的。表1给出了Ceph的常见术语。

表1.Ceph术语

对Ceph的术语有了了解后,我们来看下Ceph的体系结构。Ceph的体系结构与组成部分如下图1所示。Ceph的体系结构由客户端(Client),对象存储网关(RADOSGW),块存储(RBD),文件存储(CEPHFS),和RADOS直接交互的库LIBRADOS,存储集群(RADOS)组成。

Ceph存储集群从Ceph客户端接收数据—不管是来自Ceph块设备、Ceph对象存储、Ceph文件系统、还是基于librados的自定义实现的—并存储为对象。每个对象是文件系统中的一个文件,它们存储在对象存储设备上。由CephOSD守护进程处理存储设备上的读/写操作。

图1.Ceph体系结构

Ceph存储集群是Ceph很重要的部分,Ceph文件系统、Ceph对象存储、和Ceph块设备从Ceph存储集群统一读出和写入数据。Ceph存储集群的组件如下图所示。Ceph存储集群至少要有一个CephMonitor和两个OSD组成,如果要使用文件存储功能,还至少要有一个MDS。

图.Ceph存储集群

Ceph常用命令

Ceph客户端提供了非常丰富的命令用来操作块设备。在与容器对接过程中,我们需要创建块设备,删除块设备等功能,并且后续也需要针对这些功能提供相应的RESTAPI,方便通过HTTP请求的方式来操作块设备。所以这里对一些常用的命令进行说明,如表所示。

表.Ceph常用命令

Ceph分布式存储集群的安装与配置Ceph集群搭建

本文通过安装ceph-deploy软件的管理节点来安装配置ceph集群,以6个节点—个monitor节点,个osd节点,以cephkraken(1.11.1)版本为例,说明Ceph存储集群的安装以及配置过程。集群的配置信息如表所示。

表.Ceph集群配置信息

Ceph集群的安装配置过程如清单1所示。

清单1.Ceph集群的安装配置

#(1).在所有节点安装依赖包sudoyuminstall-yyum-utilssudoyum-config-manager--add-po


转载请注明:http://www.aierlanlan.com/grrz/9718.html