多节点Openstack部署CEPH

一.CEPH简介

Ceph概述

  • ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和扩展性
  • ceph项目最早其源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储。

Ceph的特点

高性能

  • 摒弃了传统的集中式存储元数据寻址的方式,采用CRUSH算法,数据分布均衡,并行度高
  • 能够支持上千个存储节点的规模,支持TB到PB的数据

高可用性

  • 副本数可以灵活控制
  • 支持故障域分离,数据强一致性

高扩展性

  • 去中心化
  • 扩展灵活
  • 随着节点增加而线性增长

Ceph核心组件

  • Monitor(监控):一个Ceph集群需要多个Monitor组成的小集群,它们通过Paxos同步数据,用来保存OSD的元数据
  • OSD(存储):负责响应客户端请求返回具体数据的京城,一个ceph集群有很多OSD
  • MDS(元数据):CephFS服务依赖的元数据服务
  • Object:Ceph最底层的存储单元是Object对象,每个Object包含元数据和原始数据
  • PG(Placement Groups),PG是一个逻辑的概念,一个PG包含多个OSD。引入PG这一层是为了更好的分配数据和定位数据
  • RADOS(Reliable Autonomic Distributed Object Store):帮助用户实现数据的分配、Failover等群集操作
  • Librados 是Rados提供库,因为RADOS是协议很难直接访问,因此上层的RBD、RGW和CephFS都是通过librados访问的,目前提供PHP、Ruby、Java、Python、C和C++支持
  • CRUSH:CRUSH是Ceph使用的数据分布算法,类似哈希算法,让数据分配到预期的地方
  • RBD(RADOS Block Device):是Ceph对外提供的块设备服务
  • RGW(RADOS gateway):是ceph对外提供的对象存储服务,接口与S3和Swift兼容
  • CephFS(Ceph file system),是ceph对外提供的文件系统服务

Ceph的三种存储类型

文件存储

  • 典型的设备:FTP、NFS服务器。为了克服块存储文件无法共享的问题,就有了文件存储,在服务器上架设FTP和NFS服务,就是文件存储
  • 优点:造价低,方便文件共享
  • 缺点:读写速率低,传输速率慢
  • 使用场景:日志存储,有目录结构的文件存储

块存储

  • 典型设备:磁盘阵列、硬盘,主要是将裸磁盘空间映射给主机使用
  • 优点:通过raid与LVM等,对数据提供了保护;多块廉价的硬盘组合起来,提供容量;多块磁盘组合出来的逻辑盘,提高读写效率
  • 缺点:采用SAN架构组网时,光纤交换机,造价成本高;主机之间无法共享数据
  • 使用场景:docker容器、虚拟机磁盘存储分配、日志存储、文件存储

对象存储

  • 典型设备:内置大容量硬盘的分布式服务器(swift、S3),多台服务器内置大容量硬盘,安装上对象存储管理软件,对外提供读写访问功能
  • 优点:具备块存储的读写性能;具备文件存储的共享特性
  • 使用场景:比较适合更新变动较少的数据,如图片存储、视频存储

实验环境

角色 系统 内存 硬盘 源码包
demo01(控制节点,ceph) centos7.5 8G 300G+1024G openstack+ceph的源包
demo02(计算节点,ceph) centos7.5 8G 300G+1024G openstack+ceph的源包

基于已经安装好的openstack(控制节点+计算节点),安装ceph之前必须将openstack所有的镜像或者实例删除

控制节点部署ceph

1.二个节点、关闭防火墙
systemctl stop iptables
systemctl disable iptables
systemctl status iptables

查看控制节点与计算节点时间是否同步
date

因为时间为同步,所有使用ntpdate命令,计算节点同步控制节点时间

2.二个节点安装Python-setuptools工具
yum -y install python-setuptools

3.在控制节点,创建ceph配置文件目录
mkdir -p /etc/ceph

4.在控制节点安装ceph-deploy
yum -y install ceph-deploy

5.在二个节点安装ceph软件
yum -y install ceph

6、创建三个mon
进入根目录
source keystone_admin

进入控制节点/etc/ceph的目录
cd /etc/ceph
ceph-deploy new demo01 deno02

7.初始化mon 并收集秘钥(三个节点)
进入控制节点/etc/ceph的目录
cd /etc/ceph
[root@ct ceph]# ceph-deploy mon create-initial
[root@ct ceph]# ll    

8.创建OSD
进入控制节点/etc/ceph的目录
cd /etc/ceph
ceph-deploy osd create --data /dev/sdb demo01
ceph-deploy osd create --data /dev/sdb demo02

9.使用ceph-deploy下发配置文件和admin秘钥下发到demo01 demo02
进入控制节点/etc/ceph的目录
cd /etc/ceph
ceph-deploy admin demo01 demo02

10、给demo01 demo02 每个节点的keyring增加读的权限
[root@demo01 ceph# chmod +x /etc/ceph/ceph.client.admin.keyring
[root@demo02 ceph# chmod +x /etc/ceph/ceph.client.admin.keyring

11、查看ceph集群状态
ceph -s

12、创建mgr管理服务ll
进入控制节点/etc/ceph的目录
cd /etc/ceph
ceph-deploy mgr create demo01 demo02
ceph -s

13.创建三个与openstack对接的pool(volumes、vms、images)64是PG
ceph osd pool create volumes 64
ceph osd pool create vms 64
ceph osd pool create images 64

14、查看CEPH状态
ceph mon stat

ceph osd status

CEPH集群管理页面安装

1、查看CEPH状态  ##状态不要出现错误error
ceph -s
ceph mon stat
ceph osd status	
ceph osd lspools
已经查询完毕,状态OK
2、启用dashboard模块
ceph mgr module enable dashboard

3、创建https证书
ceph dashboard create-self-signed-cert

4、查看mgr服务
ceph mgr services

5、在浏览器中打开ceph网页
https://192.168.100.10:8443

发布了78 篇原创文章 · 获赞 5 · 访问量 2574

猜你喜欢

转载自blog.csdn.net/qq397750142/article/details/104860755