文章目录
一、Ceph分布式存储
1.1、Ceph文件系统简述
1.2、Ceph的优点
二、Ceph架构和名称解释
2.1、Ceph架构
2.2、Ceph集群组件
三、Ceph的存储过程
四、Ceph搭建过程
4.1、环境准备
4.2、搭建集群前的配置
4.3、安装ceph集群
4.4、Ceph扩容操作
4.5、模拟故障osd恢复
一、Ceph分布式存储
1.1、Ceph文件系统简述
圣克鲁兹加利福尼亚大学的Sage Weil在2003年开发CEPH,CEPH是一个开源的项目,其可大规模扩展、高性能并且无单点故障的分布式存储系统。从一开始它就运行在通用的商用的硬件上,具有高度的可伸缩性,容量可扩展至EB级别,甚至更大。

ceph是一种开源存储软件。 底层实现了对象存储,并以此为基础对外提供对象存储接口、块存储接口、文件级存储接口。

1.2、Ceph的优点
1.CRUSH算法,CRUSH在一致性哈希基础上很好的考虑了容灾域的隔离,能够实现各类负载的副本放置规则,例如跨机房、机架感知等。同时, CRUSH算法支持副本和EC两种数据冗余方式,还提供了四种不同类型的Bucket(Uniform, List, Tree, Straw),充分考虑了实际生产过程中硬件的迭代式部署方式,虽然实际生产中大多数情况下的都是只用了一种Straw。

2.统一存储架构
由于云计算的发展,RADOS出色而又简洁的接口,非常高效的支持分布式块存储RBD和分布式对象存储RADOS GateWay。由于RBD和RADOS GateWay的简单设计无需考虑,容灾备份、横向扩展、负载均衡等分布式架构的负载因素。所以受到社区的认可,并成为openstack的底层存储方式。

3.强大且丰富的功能
CEPH的功能,从分布式系统最基本的横向扩展、动态伸缩、冗余容灾、负载平衡等,到生产环境环境中非常实用的滚动升级、多存储池、延迟删除等几乎什么都能做。所以受到云计算等企业的青睐。但是也有CEPHfs虽然有快照、纠错码、跨存储池等功能,却因为一直收到忽视,无法用在生产环境中。

二、Ceph架构和名称解释
2.1、Ceph架构

RADOS:代表了CEPH集群中的硬件和软件的集合。
RGW、RBD、CEPH FS代表了三种客户端:RGW代表了对象存储的网关,即对象存储接口。RBD代表了块存储的接口。CEPH FS代表了文件系统存储的接口。用户只有通过这三种接口才能将数据存储在RADOS中。
2.2、Ceph集群组件
1.OSD:OSD对象存储进程,每块硬盘拥有一个osd进程,管理数据的副本、恢复和负载均衡等,并且向mon组件提供底层监控信息。
2.CEPH-mgr:用于收集ceph集群状态、运行指标,比如存储利用率、当前性能指标和系统负载。mgr组件实现高可用至少需要2个作为主备。
3.MDS:在存储时存储数据的元信息,用于文件系统存储。对象存储和块存储不需要此组件。
4.MON:负责监控集群中自身和其他组件的健康信息。并且负责集群的验证,即用户需要在mon组件上进行身份验证。为了确保组件的高可用需要至少开启3个mon组件。
三、Ceph的存储过程
CEPH集群在存储数据时,都是进行扁平化处理,Object作为集群最小的存储单位。

ceph在对象存储的基础上提供了更加高级的思想。当对象数量达到了百万级以上,原生的对象存储在索引对象时消耗的性能非常大。ceph因此引入了placement group (pg) 的概念。一个PG就是一组对象的集合。

四、Ceph搭建过程
4.1、环境准备
1.准备三台centos7虚拟机。
2.每台虚拟机安装两块网卡,一块仅主机模式,一块nat模式。
3.准备两块硬盘,一块系统盘,另一块作为ceph使用大小1024G。

配置IP地址
主机名    VM1网段    NAT网段
ceph01    192.168.10.101    192.168.100.101
ceph02    192.168.10.102    192.168.100.102
ceph03    192.168.10.103    192.168.100.103
4.2、搭建集群前的配置
每个节点都要操作,步骤一样
1、每个节点的修改主机名,和hosts文件

hostnamectl set-hostname ceph01
hostnamectl set-hostname ceph02
hostnamectl set-hostname ceph03

vi /etc/hosts
192.168.10.101    ceph01
192.168.10.102    ceph02
192.168.10.103    ceph03
1
2
3
4
5
6
7
8
2、关闭UseDNS,用CRT连接可以快一点

vi /etc/ssh/sshd_config
115/UseDNS no    
1
2
3、关闭防火墙和核心防护

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
vi /etc/selinux/config
SELINUX =disabled
1
2
3
4
5
4、三个节点创建免交互

ssh-keygen
ssh-copy-id root@ceph01
ssh-copy-id root@ceph02
ssh-copy-id root@ceph03
1
2
3
4
5、配置YUM源

cd /etc/yum.repos.d/
mkdir backup
mv C* backup

//安装wget命令,方便下载新的yum源。
yum install wget -y

//用wget命令下载新的yum源。
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

//配置ceph源
vi /etc/yum.repos.d/ceph.repo
[ceph]
name=Ceph packages for
baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

[ceph-noarch]
name=Ceph noarch packages 
baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

[ceph-source]
name=Ceph source packages 
baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/SRPMS/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

//更新源
 yum update -y
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
4.3、安装ceph集群
1.首先安装好相应的工具

//ceph01节点
yum install ceph-deploy ceph python-setuptools -y

//ceph02、ceph03节点
yum install ceph python-setuptools -y

//每个节点都创建目录
mkdir /etc/ceph
1
2
3
4
5
6
7
8
2、在ceph01创建mon服务,并初始化监控和秘钥

cd /etc/ceph
ceph-deploy new ceph01 ceph02 
1
2

ceph-deploy mon create-initial
1
3、在ceph01创建osd服务

ceph-deploy osd create --data /dev/sdb ceph01
ceph-deploy osd create --data /dev/sdb ceph02
ceph -s   ##查看状态有2个osd
1
2
3

4、下发admin秘钥到所有节点之中,并增加执行权限

//在ceph01下发
ceph-deploy admin ceph01 ceph02

//ceph01、ceph02、ceph03节点添加
chmod +x /etc/ceph/ceph.client.admin.keyring
1
2
3
4
5
4.4、Ceph扩容操作
1、首先将osd加入到集群之中

ceph-deploy osd create --data /dev/sdb ceph03
1

2、将扩容节点的mon服务加入到集群。

ceph-deploy mon add ceph03

//手动修改ceph01的配置文件
vi /etc/ceph/ceph.conf
1
2
3
4

下发配置给所有节点,进行覆盖原有配置

ceph-deploy --overwrite-conf config push ceph01 ceph02 ceph03
1
重启三个节点mon服务

systemctl restart ceph-mon.target
1
通过ceph -s 查看添加成功!

安装mgr服务之后,集群健康状态

ceph-deploy mgr create ceph01 ceph02 ceph03
1
4.5、模拟故障osd恢复
1、首先模拟故障,将一个osd从集群中移除

移除osd,删除osd,删除osd认证
ceph osd out osd.2
ceph osd crush remove osd.2
ceph auth del osd.2

#重启所有节点osd服务,osd.2就down掉了
systemctl restart ceph-osd.target
1
2
3
4
5
6
7

2、恢复osd到集群中

//在ceph03节点,查看ceph位置信息
df -hT
显示位置信息:
tmpfs          tmpfs     910M   52K  910M    1% /var/lib/ceph/osd/ceph-2

//查看/var/lib/ceph/osd/ceph-2的fsid
[root@ceph03 ~]# cd /var/lib/ceph/osd/ceph-2
[root@ceph03 ceph-2]# more fsid
57df2d3e-2f53-4143-9c3f-5e98d0ae619b

//重新添加osd进入集群
[root@ceph03 ceph-2]# ceph osd create 57df2d3e-2f53-4143-9c3f-5e98d0ae619b

//重新添加认证权限
[root@ceph03 ceph-2]#  ceph auth add osd.2 osd 'allow *' mon 'allow rwx' -i /var/lib/ceph/osd/ceph-2/keyring

//设置ceph03的权重,ceph osd crush add osdID号 权重 host=主机名
[root@ceph03 ceph-2]# ceph osd crush add 2 0.99899 host=ceph03

//将osd加入集群
[root@ceph03 ceph-2]# ceph osd in osd.2

//重启所有节点的osd服务
systemctl restart ceph-osd.target
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
通过ceph osd tree查看,ceph03的osd节点已经恢复了

————————————————
版权声明:本文为CSDN博主「爱美的小菇凉」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_28361541/article/details/105295133

Ceph分布式存储的搭建(增加mon节点、模拟osd节点故障恢复)相关推荐

  1. Ceph分布式存储实战:从0搭建一个存储集群,并把块设备镜像映射到CentOS 7系统上的步骤

    本文配套视频和笔记: Ceph分布式存储实战(Ceph快速上手) B站视频在线观看链接:[千锋教育]Ceph分布式存储技术教程(进阶到实战) 百度网盘链接:2020全新_Ceph分布式存储技术-进阶到 ...

  2. CentOS 7部署 Ceph分布式存储架构

    目录 : 8.1 Ceph概述 8.2 ceph集群部署实验 8.3 不同挂载方式 8.1 Ceph概述 随着OpenStack日渐成为开源云计算的标准软件栈,Ceph也已经成为OpenStack的首 ...

  3. Centos7下使用Ceph-deploy快速部署Ceph分布式存储

    #Centos7下使用Ceph-deploy快速部署Ceph分布式存储 CEPH 简介  不管你是想为云平台提供Ceph 对象存储和/或 Ceph 块设备,还是想部署一个 Ceph 文件系统或者把 C ...

  4. CentOS 7 部署 Ceph 分布式存储架构

    Ceph 概述 随着 OpenStack 日渐成为开源云计算的标准软件栈,Ceph 也已经成为 OpenStack 的首选后端存储. Ceph 是一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布 ...

  5. Ceph分布式存储系统优化分析

    前篇文章"Ceph分布式存储系统架构研究综述"重点分析了Ceph分布式存储系统架构,今天接着Ceph话题,继续分享Ceph常见的系统和性能优化技术. Ceph支持多种存储访问接口, ...

  6. Ceph分布式存储系列(二):ceph-deploy方式部署三节点ceph集群

    承接上文:Ceph分布式存储系列(一):Ceph工作原理及架构浅析梳理 之前都是使用Deepsea方式部署的ceph,长时间不用ceph-deploy了,这次来回顾,顺便总结下! 前言: ceph-d ...

  7. kubernetes 之战 基于 rook 搭建 ceph 分布式存储

    概述 前文介绍了 kubernetes 实战 使用 nfs 作为动态 storageClass 存储,本文介绍 kubernetes 集群 使用 rook ceph 作为动态 storageClass ...

  8. Ceph 分布式存储

    一.Ceph分布式存储 1.1.Ceph文件系统简述 诞生于2006年的Ceph,是私有云事实上的标准-OpenStack的默认存储后端. Ceph是一种软件定义存储,可以运行在几乎所有主流的Linu ...

  9. Ceph分布式存储实战.

    云计算与虚拟化技术丛书 Ceph分布式存储实战 Ceph中国社区 著 图书在版编目(CIP)数据 Ceph分布式存储实战/Ceph中国社区著. -北京:机械工业出版社,2016.11 (云计算与虚拟化 ...

  10. 智牛股_第4章_Nacos+Ceph分布式存储+Netty通讯

    智牛股_第4章_Nacos+Ceph分布式存储+Netty通讯 文章目录 智牛股_第4章_Nacos+Ceph分布式存储+Netty通讯 学习目标 第1章 Nacos的介绍与使用 1. 目标 2. 分 ...

最新文章

  1. html ajax 数据传送,HTML AJAX 简单数据JS
  2. shell 整数条件判断
  3. 深度学习的实用层面 —— 1.8 其它正则化方法
  4. in use 大学英语4word_考研英语真题干货 | run on
  5. tensorflow精进之路(二十)——使用slim模型库训练自己的数据
  6. js td innerHTML
  7. android studio在夜神上打开_Android Studio 找不到夜神模拟器的解决办法
  8. Python time和datetime模块
  9. 2021PMP最全大纲内容整理
  10. 你凭什么在单位立足?
  11. win10系统电脑点击桌面图标没反应怎么处理
  12. 红警2(红色警戒)之尤里的复仇 局域网对战联机方法
  13. 7z文件格式及其源码的分析(六)-完结篇
  14. H.264/H.265/H.266三代视频编码的图像划分
  15. 整形变量的定义和使用
  16. 最赏识王小川的,还是马化腾
  17. u盘安装计算机系统,U盘系统_详细教您将系统安装到U盘
  18. 一键获取LOL英雄联盟所有英雄技能图片
  19. WordCount 案例
  20. 巴黎综合理工大学计算机专业,巴黎综合理工大学

热门文章

  1. Tracking 1.3 Online Trackers
  2. HTML表格中输数字进行计算,excel表格如何自动计算输入数字
  3. 直播行业市场分析:2022年构建多元化的直播生态体系
  4. 【算法笔记题解】《算法笔记知识点记录》第二章——快速入门4[结构体、输入输出、复杂度和黑盒测试]
  5. (转)Weblogic 8.1的安装与配置
  6. 生态参数反演(植被覆盖度FVC)手把手教会
  7. VTN416多通道振弦采集仪多功能
  8. newifi3刷机 php,newifi3breed解锁新路由3刷机免解锁刷breed详细方法老毛子Padavan固件...
  9. Centos7安装Docker后无法启动:Failed to program NAT chain: INVALID_ZONE: docker
  10. cad命令栏还原默认_CAD命令行不见了怎么重新恢复?