CEPH 简介

不管你是想为云平台提供Ceph 对象存储和/或 Ceph 块设备,还是想部署一个 Ceph 文件系统或者把 Ceph 作为他用,所有 Ceph 存储集群的部署都始于部署一个个 Ceph 节点、网络和 Ceph 存储集群。 Ceph 存储集群至少需要一个 Ceph Monitor 和两个 OSD 守护进程。而运行 Ceph 文件系统客户端时,则必须要有元数据服务器( Metadata Server )。

  • Ceph OSDs: Ceph OSD 守护进程( Ceph OSD )的功能是存储数据,处理数据的复制、恢复、回填、再均衡,并通过检查其他OSD 守护进程的心跳来向 Ceph Monitors 提供一些监控信息。当 Ceph 存储集群设定为有2个副本时,至少需要2个 OSD 守护进程,集群才能达到 active+clean 状态( Ceph 默认有3个副本,但你可以调整副本数)。
  • Monitors: Ceph Monitor维护着展示集群状态的各种图表,包括监视器图、 OSD 图、归置组( PG )图、和 CRUSH 图。 Ceph 保存着发生在Monitors 、 OSD 和 PG上的每一次状态变更的历史信息(称为 epoch )。
  • MDSs: Ceph 元数据服务器( MDS )为 Ceph 文件系统存储元数据(也就是说,Ceph 块设备和 Ceph 对象存储不使用MDS )。元数据服务器使得 POSIX 文件系统的用户们,可以在不对 Ceph 存储集群造成负担的前提下,执行诸如 ls、find 等基本命令。

Ceph 把客户端数据保存为存储池内的对象。通过使用 CRUSH 算法, Ceph 可以计算出哪个归置组(PG)应该持有指定的对象(Object),然后进一步计算出哪个 OSD 守护进程持有该归置组。 CRUSH 算法使得 Ceph 存储集群能够动态地伸缩、再均衡和修复。

环境说明:

服务器

节点
类型
ip
CPU
内存
硬盘
ceph-deploy
管理平台
192.168.68.50
2
4G
/dev/sdb
/dev/sdc
ceph1
Monitor osd
192.168.68.51
2
4G
/dev/sdb
/dev/sdc
ceph2
osd
192.168.68.52
2
4G
/dev/sdb
/dev/sdc
ceph3
osd
192.168.68.53
2
4G
/dev/sdb
/dev/sdc

系统环境

ceph version: 14.2.22 nautilus
OS: CentO7.9
内核:5.4.161

转载请在文章开头附上原文链接地址:https://www.cnblogs.com/Sunzz/p/15624370.html

环境准备

修改/etc/hosts

每个服务器都要修改
192.168.68.50 ceph.local
192.168.68.51 ceph1.local ceph1
192.168.68.52 ceph2.local ceph2
192.168.68.53 ceph3.local ceph3

新增用户

各ceph节点新增cephuser用户

useradd cephuser
echo "123456" | passwd --stdin cephuser
echo "cephuser ALL = (root) NOPASSWD:ALL" > /etc/sudoers.d/cephuser

安装rpm包

ceph-deploy节点安装所需的包,root用户操作
yum install ceph-deploy python2-pip.noarch ceph-common -y

部署节点新增用户

deploy管理节点新增manager用户

useradd manager echo "123456" | passwd --stdin manager

copy密钥

在ceph-deploy节点上生成并copy密钥,做免密登陆
su - manager
ssh-keygen #一顿回车或者根据自己情况选择
ssh-copy-id cephuser@192.168.68.51
ssh-copy-id cephuser@192.168.68.52
ssh-copy-id cephuser@192.168.68.53

简化ssh配置

ceph-deply节点的manger用户家目录下,
修改config后deploy节点所建的用户名登录Ceph节点无需每次指定 --username cephuser ,简化了ssh和scp的用法
vim /home/manager/.ssh/config
Host ceph1
Hostname ceph1
User cephuser
Host ceph2
Hostname ceph2
User cephuser
Host ceph3
Hostname ceph3
User cephuser 
chmod 600 .ssh/config

创建集群

创建工作目录

mkdir ceph-cluster
cd ceph-cluster

创建集群

ceph-deploy new ceph1
或 指定网段,如果有多个网卡,可使用不同的网段
ceph-deploy new --cluster-network 192.168.68.0/24 --public-network 192.168.68.0/24 ceph1

安装ceph

ceph-deploy install ceph1 ceph2 ceph3 --stable --release nautilus --repo-url=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/ --gpg-url=https://mirrors.aliyun.com/ceph/keys/release.asc
--stable 指名为稳定版
--release 指定版本 nautilus ,即就是14.2版本
可指定repo为国内源
--repo-url=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/ --gpg-url=https://mirrors.aliyun.com/ceph/keys/release.asc

初始化monitor

ceph-deploy mon create-initial    #初始monitor、并收集所有密钥

部署MGR

部署mgr

ceph-deploy mgr create ceph1 ceph2 ceph3

复制key

ceph-deploy admin ceph1 ceph2 ceph3
给deploy本身也复制一份,需要用root操作,以方便用deploy管理ceph集群
cp /home/manager/ceph-cluster/ceph.client.admin.keyring /etc/ceph/ chmod 644 /etc/ceph/ceph.client.admin.keyring

查看集群状态

ceph -s 

WARN解决

1. Module 'restful' has failed dependency: No module named 'pecan' (这个在centos7上安装13版本不会出现)
yum install python36-devel
pip3 install werkzeug pecan
systemctl restart ceph-mon.target
systemctl restart ceph-mgr.target
2. mon is allowing insecure global_id reclaim
如果有警告,则禁用安全模式
ceph config set mon auth_allow_insecure_global_id_reclaim false
3.OSD count 0 < osd_pool_default_size 3
这个是因为还没有添加osd,等一会添加后就好了

添加OSD

列出磁盘

ceph-deploy disk list ceph1 【ceph2 ceph3】

添加osd

ceph-deploy osd create --data /dev/sdb ceph1
ceph-deploy osd create --data /dev/sdc ceph1
ceph-deploy osd create --data /dev/sdb ceph2
ceph-deploy osd create --data /dev/sdc ceph2
ceph-deploy osd create --data /dev/sdb ceph3
ceph-deploy osd create --data /dev/sdc ceph3

扩展高可用

ceph-deploy mon add ceph2

开启dashboard

提示:默认情况下,dashboard的所有HTTP连接均使用SSL/TLS进行保护。以上内置命令可快速生成并安装自签名证书。
 

各ceph节点安装dashboard

yum install ceph-mgr-dashboard.noarch -y

启用dashboard

ceph mgr module enable dashboard
ceph dashboard create-self-signed-cert
echo admin > pass.txt #设置管理员密码
ceph dashboard ac-user-create admin -i pass.txt #创建管理员

或者 ceph dashboard set-login-credentials admin -i pass.txt ceph mgr services #确认验证

或者关闭ssl

ceph mgr module enable dashboard
ceph config set mgr mgr/dashboard/ssl false
echo admin > pass.txt #创建管理员
ceph dashboard set-login-credentials admin -i pass.txt

阿里云镜像源

aliyun-base.repo

[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
enabled=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 #released updates
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

base.repo

阿里云epel源

aliyun-epel.repo

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://mirrors.aliyun.com/epel/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

eple.repo

阿里云ceph源

[ceph-noarch]
name=Ceph noarch packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-15.2.9/el7/noarch/
#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

ceph.repo

总结

octopus ,即就是15.2版本,在centos7上问题比较多,dashboard没法使用。
yum install ceph-mgr-dashboard
 

缺的这三个报在centos8上有,centos7上没有。

CentOS7部署ceph的更多相关文章

  1. 使用虚拟机CentOS7部署CEPH集群

    第1章   CEPH部署 1.1  简单介绍 Ceph的部署模式下主要包含以下几个类型的节点 Ø CephOSDs: A Ceph OSD 进程主要用来存储数据,处理数据的replication,恢复 ...

  2. Centos7下使用Ceph-deploy快速部署Ceph分布式存储-操作记录

    之前已详细介绍了Ceph分布式存储基础知识,下面简单记录下Centos7使用Ceph-deploy快速部署Ceph环境: 1)基本环境 192.168.10.220 ceph-admin(ceph-d ...

  3. Centos7下使用Ceph-deploy快速部署Ceph分布式存储-操作记录(转)

    之前已详细介绍了Ceph分布式存储基础知识,下面简单记录下Centos7使用Ceph-deploy快速部署Ceph环境:1)基本环境 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  4. CentOS7.6部署ceph环境

    CentOS7.6部署ceph环境 测试环境: 节点名称 节点IP 磁盘 节点功能 Node-1 10.10.1.10/24 /dev/sdb 监控节点 Node-2 10.10.1.20/24 /d ...

  5. 分布式存储ceph——(1)部署ceph

    前言: 很多朋友想学ceph,但是开始ceph部署就让初学者举步为艰,ceph部署时由于国外源的问题(具体大家应该懂得),下载和安装软件便会卡住,停止不前.即使配置搭建了国内源后,执行ceph-dep ...

  6. 1、ceph-deploy之部署ceph集群

    环境说明 server:3台虚拟机,挂载卷/dev/vdb 10G 系统:centos7.2 ceph版本:luminous repo: 公网-http://download.ceph.com,htt ...

  7. CentOS 7/8上部署Ceph

    Ceph是一个分布式的存储系统,可以在统一的系统中提供唯一的对象.块和文件存储,Ceph的大致组件如下: 1. Ceph监视器(ceph-mon):用来维护集群状态的映射,包括监视器映射,管理器映射, ...

  8. ceph-deploy离线部署ceph集群及报错解决FAQ

    ceph-deploy部署ceph集群 环境介绍 主机名 ip地址 操作系统 角色 备注 ceph-node1 10.153.204.13 Centos7.6 mon.osd.mds.mgr.rgw. ...

  9. [原]CentOS7部署osm2pgsql

    转载请注明原作者(think8848)和出处(http://think8848.cnblogs.com) 部署Postgresql和部署PostGis请参考前两篇文章 本文主要参考GitHub上osm ...

随机推荐

  1. windows右键菜单自动打包发布nuget,没有CI/CD一样方便!

    构建现代的 .Net 应用离不开 Nuget 的支持,而快速打包 Nuget 成了提高生产率的有效方法.没有CI/CD?来试试使用windows右键菜单吧 先看右键效果图 有时候我们可能没有CI/CD ...

  2. part1 软件测试基础知识面试题(含答案)

    1.你的测试职业发展是什么? 测试经验越多,测试能力越高.所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去.而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求 ...

  3. 谜语人队 Scrum Meeting 博客汇总

    项目 内容 课程主页 2021春季软件工程(罗杰 任健) 作业要求地址 Alpha阶段:团队项目-每日例会报告Beta阶段:团队项目-每日例会报告 团队博客主页 谜语人队 一.Alpha阶段 第一次例 ...

  4. Alpha-功能规格说明书

    项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任健) 这个作业的要求在哪里 团队项目-计划-功能规格说明书 一.引言 1. 项目简介 项目团队:删库跑路对不队 项目名称:题士 项目内容 ...

  5. Scrum Meeting 0501

    零.说明 日期:2021-5-1 任务:简要汇报两日内已完成任务,计划后两日完成任务 一.进度情况 组员 负责 两日内已完成的任务 后两日计划完成的任务 qsy PM&前端 整装待发,准备冲刺 ...

  6. [对对子队]会议记录4.15(Scrum Meeting 6)

    今天已完成的工作 何瑞 ​ 工作内容:制作了合成指南 ​ 相关issue:实现游戏内UI界面使用的组件 马嘉 ​ 工作内容:基本实现了箱子内物品列表 ​ 相关issue:实现游戏内UI界面使用的组件 ...

  7. kafka错误之 Topic xxx not present in metadata after 60000 ms

    Topic xxx not present in metadata after 60000 ms 一.背景 二.场景还原 1.jar包引入 2.jar代码 3.运行结果 三.问题解决 四.参考文档 一 ...

  8. Kill杀死Linux中的defunct进程(僵尸进程)

    一.什么是defunct进程(僵尸进程)? 在 Linux 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程.当用ps命令观察进程的执行状 ...

  9. hdu 5018 Revenge of GCD

    题意: 给你两个数:X和Y  .输出它们的第K大公约数.若不存在输出 -1 数据范围: 1 <= X, Y, K <= 1 000 000 000 000 思路: 它俩的公约数一定是gcd ...

  10. zabbix部署文档

    环境:zabbix server centos 7 1611最小化安装 172.16.103.2 zabbix client Centos 7 1611 最小化安装 172.16.103.3 1,配置 ...