Ceph分布式存储部署过程

Stella981
• 阅读 655

前言:

  环境介绍:此次部署系统为Cenots 7

MON、OSD

10.110.180.112

Admin

MON、OSD

10.110.180.113

Node1

MON、OSD

10.110.180.114

Node2

Ceph文件目录部署过程

此部署过程是采用文件目录方式挂在激活OSD的方式部署Ceph集群。

1.系统关闭防火墙 关闭selinux

2.配置ntp 时间同步

配置普通用户 sudo 免密

Ceph分布式存储部署过程

3.配置ssh 免密

Ceph分布式存储部署过程

Ceph分布式存储部署过程

Ceph分布式存储部署过程

Ceph分布式存储部署过程

4.配置ceph源

[ceph@ceph-admin my-cluster]$ cat -n /etc/yum.repos.d/ceph.repo

1        [Ceph-SRPMS]

2        name=Ceph SRPMS packages

3        baseurl=https://mirrors.aliyun.com/ceph/rpm-jewel/el7/SRPMS/

4        enabled=1

5        gpgcheck=0

6        type=rpm-md

7

8        [Ceph-aarch64]

9        name=Ceph aarch64 packages

10        baseurl=https://mirrors.aliyun.com/ceph/rpm-jewel/el7/aarch64/

11        enabled=1

12        gpgcheck=0

13        type=rpm-md

14

15        [Ceph-noarch]

16        name=Ceph noarch packages

17        baseurl=https://mirrors.aliyun.com/ceph/rpm-jewel/el7/noarch/

18        enabled=1

19        gpgcheck=0

20        type=rpm-md

21

22        [Ceph-x86_64]

23        name=Ceph x86_64 packages

24        baseurl=https://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86\_64/

25        enabled=1

26        gpgcheck=0

27        type=rpm-md

[ceph@ceph-admin my-cluster]$

5.更新源

yum makcache

yum update

5.1安装ceph 每个节点都安装 自动安装需要去ceph官方网站下载rpm包 狠慢很慢

Yum install -y ceph 目前国内阿里云和163等 镜像源 都是10.2的ceph

安装完成之后 查看 版本

ceph -v

5.2安装ceph-deploy 部署工具

yum install ceph-deploy

5.3在开始创建集群之前 在ceph 用户下创建文件夹 用户部署文件输出存放

mkdir my-cluster

cd my-cluster

6.部署新的节点

Ceph-deploy new ceph-admin ceph-node1 ceph-node2

部署完成后 会在文件夹中 产生3个文件

Ceph分布式存储部署过程

6.1修改ceph.config

Ceph分布式存储部署过程

6.2修改完成后 部署 mon

ceph-deploy --overwrite-conf mon create-initial

部署完成后会出现如下截图

Ceph分布式存储部署过程

在文件目录下会产生keyring文件

Ceph分布式存储部署过程

6.3查看ceph 集群状态

Ceph分布式存储部署过程

以上截图中已经部署了osd ,部署osd有些问题。osd可以是磁盘格式 也可以使文件目录形式,修改物理磁盘作为osd方式。改为目录文件部署osd。

6.4创建两个文件目录

mkdir /home/osd01

给777 权限

然后准备osd

Ceph分布式存储部署过程

Ceph分布式存储部署过程

Ceph分布式存储部署过程

激活完成 ,当部署osd出现running状态时说明osd的状态已经部署完成处于运行状态。以同样的方式部署另外的服务即可。查看下状态目前还有ERR警告。

Ceph分布式存储部署过程

Ceph 部署 OSD挂在裸磁盘

此次部署方式为挂在服务器硬盘直接部署OSD。基础环境准备和前面的一样在此不赘述。

2018年12月12日

14:28

1. 创建新的集群 第一步

[ceph@ceph-admin my-cluster]$ ceph-deploy new ceph-admin ceph-node1 ceph-node2

执行完成后会生成配置文件

Ceph分布式存储部署过程

2.创建一个mon 第二步

[ceph@ceph-admin my-cluster]$ ceph-deploy mon create-initial

默认在上面的ceph.conf文件中包含了集群内的所有节点。执行此命令会创建所有节点的mon

3.部署过程部分截图:

3.1Ceph-admin running

Ceph分布式存储部署过程

3.2Ceph-node1 running

Ceph分布式存储部署过程

3.3Ceph-node2 running

Ceph分布式存储部署过程

3.4执行完成后会在目录下产生相关的key文件

Ceph分布式存储部署过程

3.5查看集群状态

Ceph分布式存储部署过程

目前是err状态没问题 因为没有 osd

4.物理硬盘挂在OSD

4.1ceph-deploy disk list ceph-admin 检查可用磁盘

Ceph分布式存储部署过程

4.2 准备磁盘

[ceph@ceph-admin my-cluster]$ ceph-deploy osd prepare ceph-admin:sdb ceph-admin:sdc

注意:在此之前请查看下所有磁盘。此处我使用的是物理磁盘 直接部署osd。

部分截图:执行成功后。

Ceph分布式存储部署过程

4.3执行完成后 查看ceph osd

Ceph分布式存储部署过程

4.4添加其他节点的osd

[ceph@ceph-admin my-cluster]$ ceph-deploy disk list ceph-node1

[ceph@ceph-admin my-cluster]$ ceph-deploy osd prepare ceph-node1:sdb ceph-node1:sdc

Ceph分布式存储部署过程

[ceph@ceph-admin my-cluster]$ ceph-deploy osd prepare ceph-node2:sdb ceph-node2:sdc

Ceph分布式存储部署过程

4.5再次查看集群状态已经是OK了

Ceph分布式存储部署过程

5.写在最后

Ceph分布式存储部署过程已经完成了。简单总结下Ceph分布式存储部署的几个关键点1.最关键的是NTP时间问题,如果集群内部的node节点时间不一致会造成ceph集群的不健康状态。2.创建集群万里长征第一步,万事开头难第一步成功了后面部署MON部署MDS服务什么的就很简单了。3.部署OSD应该是万里长征的最后一步了,OSD部署完成也表示这ceph集群可以测试使用了,这一步也非常不易。OSD部署方式分为2种,u文件目录的方式部署,此方式好处是容易找到ceph存储对象的位置,如果文件目录部署失败需要清理文件目录否则会一直报错。v裸磁盘直接部署OSD此方式是ceph集群系统直接管理node节点磁盘。好处相对文件目录速度快一些,如果部署失败需要格式化磁盘 删除osd中的认证key重新部署。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Easter79 Easter79
3年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这