一.简单说明

ceph mimic版本在对MDS的稳定性等方面做了大量的改进和优化,这里我们k8s集群使用ceph时需要使用cephfs,因此对MDS的稳定性方面有很高的要求,因此,我们选择ceph Mimic版本来进行部署。

ceph Mimic版本的具体更新可查看以下链接:

[链接](http://docs.ceph.com/docs/master/releases/mimic/?highlight=backfill#upgrading-from-luminous

ceph的架构如下图所示:

二.集群部署

  • 基于k8s集群部署完毕后,我们可以进行部署配置ceph集群
主机名 IP 功能 系统
master01 192.168.1.188 mon.osd.mgr centos7.5最小化
master02 192.168.1.189 mon.osd.mgr centos7.5最小化
master03 192.168.1.191 mon.osd.mgr centos7.5最小化
node-01 192.168.1.193 osd centos7.5最小化

2.1 基础环境配置

2.1.1 关闭防火墙和禁用selinux

所有节点都要执行:

[root@master-01 ~]#systemctl stop firewalld
[root@master-01 ~]#systemctl disable firewalld
[root@master-01 ~]#sed -i 's/enforcing/disabled/' /etc/selinux/config
[root@master-01 ~]#setenforce 0

2.1.2 配置服务器的NTP时间同步

所有节点都要执行:

[root@master-01 ~]#yum install ntp ntpdate -y
[root@master-01 ~]#timedatectl set-ntp yes

2.1.3 配置所有节点/etc/hosts

[root@master-01 ~]#cat /et/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.185 cluster.kube.com
192.168.1.188 master-01
192.168.1.189 master-02
192.168.1.191 master-03
192.168.1.193 node-01

2.1.4 配置部署节点到所有节点的无秘钥访问

[root@master-01 ~]#ssh-keygen 一直enter键即可
[root@master-01 ~]#ssh-copy-id root@192.168.1.188

2.2 安装ceph[所有节点]

2.2.1 配置ceph的yum源

[root@master-01 ~]# cat /etc/yum.repos.d/ceph.repo
[Ceph]
name=Ceph packages for $basearch
baseurl=http://download.ceph.com/rpm-mimic/el7/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc [Ceph-noarch]
name=Ceph noarch packages
baseurl=http://download.ceph.com/rpm-mimic/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc [ceph-source]
name=Ceph source packages
baseurl=http://download.ceph.com/rpm-mimic/el7/SRPMS
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

2.2.2 安装epel-release

[root@master-01 ~]# yum install -y epel-release

2.2.3 安装ceph和ceph-deploy

[root@master-01 ~]# yum install -y ceph ceph-deploy

2.2.4 查看ceph的版本

[root@master-01 ~]# ceph -v
ceph version 13.2.4 (b10be4d44915a4d78a8e06aa31919e74927b142e) mimic (stable)

2.3 部署ceph的mon服务[部署节点执行即可]

[root@master-01 ~]# cd /etc/ceph
#这里是创建三个Mon节点
[root@master-01 ceph]# ceph-deploy new master-01 master-02 master-03
#这里是执行mon的初始化
[root@master-01 ceph]# ceph-deploy mon create-initial

2.4 部署ceph的mgr服务

[root@master-01 ~]# cd /etc/ceph
[root@master-01 ceph]# ceph-deploy mgr create master-01 master-02 master-03
#这里是同步配置文件到所有集群节点
[root@master-01 ceph]# ceph-deploy admin master-01 master-02 master-03 node-01

2.5 部署ceph的osd服务

[root@master-01 ~]# cd /etc/ceph
#这里是将做OSD的磁盘分区格式化
[root@master-01 ceph]# ceph-deploy disk zap master-01 /dev/sdb
[root@master-01 ceph]# ceph-deploy osd create --data /dev/sdb master-01

2.6 开启ceph的Dashboard

[root@master-01 ~]# ceph mgr module enable dashboard     #开启dashboard
[root@master-01 ~]# ceph dashboard create-self-signed-cert
[root@master-01 ~]# ceph dashboard set-login-credentials admin admin #创建管理员
[root@master-01 ~]# ceph mgr services #确认验证

2.7 部署ceph的mds服务

[root@master-01 ~]# cd /etc/ceph
[root@master-01 ceph]# ceph-deploy mds create master-01 master-02 master-03

2.8 创建ceph的文件系统

#创建数据存储池
[root@master-01 ~]# ceph osd pool create datapool 256 256
#创建元数据存储池
[root@master-01 ~]# ceph osd pool create metapool 256 256
#创建文件系统
[root@master-01 ~]# ceph fs new cephfs metapool datapool

2.9 查看集群服务

[root@master-01 ~]# ceph -s
cluster:
id: 087099a6-b310-40ac-8631-9d3436141f66
health: HEALTH_OK services:
mon: 3 daemons, quorum master-01,master-02,master-03
mgr: master-01(active), standbys: master-02, master-03
mds: cephfs-1/1/1 up {0=master-03=up:active}, 2 up:standby
osd: 8 osds: 8 up, 8 in data:
pools: 2 pools, 512 pgs
objects: 22 objects, 2.2 KiB
usage: 8.0 GiB used, 272 GiB / 280 GiB avail
pgs: 512 active+clean

ceph部署mimic版本集群的更多相关文章

  1. Docker 部署 RocketMQ Dledger 集群模式( 版本v4.7.0)

    文章转载自:http://www.mydlq.club/article/97/ 系统环境: 系统版本:CentOS 7.8 RocketMQ 版本:4.7.0 Docker 版本:19.03.13 一 ...

  2. 快速部署Ceph分布式高可用集群

    快速部署Ceph分布式高可用集群 Ceph简介 Ceph是一个PB,EB级别的分布式存储系统,可以提供文件存储,对象存储.和块存储,它可靠性高,易扩展,管理简便,其中对象存储和块存储可以和其他云平台集 ...

  3. 001.Ansible部署RHCS存储集群

    一 前期准备 1.1 前置条件 至少有三个不同的主机运行monitor (MON)节点: 至少三个直接存储(非外部SAN硬件)的OSD节点主: 至少两个不同的manager (MGR)节点: 如果使用 ...

  4. 使用Docker构建持续集成与自动部署的Docker集群

    为什么使用Docker " 从我个人使用的角度讲的话  部署来的更方便 只要构建过一次环境 推送到镜像仓库 迁移起来也是分分钟的事情 虚拟化让集群的管理和控制部署都更方便 hub.docke ...

  5. 多机部署redis5.0集群环境

    redis5.0集群部署 一.集群介绍 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation). Redis 集群不支持那些需要同时处理多个键的 Redi ...

  6. 基于Docker一键部署大规模Hadoop集群及设计思路

    一.背景: 随着互联网的发展.互联网用户的增加,互联网中的数据也急剧膨胀.每天产生的数据量数以万计,本地文件系统和单机CPU已无法满足存储和计算要求.Hadoop分布式文件系统(HDFS)是海量数据存 ...

  7. [转载] 把Nutch爬虫部署到Hadoop集群上

    http://f.dataguru.cn/thread-240156-1-1.html 软件版本:Nutch 1.7, Hadoop 1.2.1, CentOS 6.5, JDK 1.7 前面的3篇文 ...

  8. 把Nutch爬虫部署到Hadoop集群上

    原文地址:http://cn.soulmachine.me/blog/20140204/ 把Nutch爬虫部署到Hadoop集群上 Feb 4th, 2014 | Comments 软件版本:Nutc ...

  9. 手把手教你用Docker部署一个MongoDB集群

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中最像关系数据库的.支持类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引 ...

  10. Kubernetes 学习笔记(二):本地部署一个 kubernetes 集群

    前言 前面用到过的 minikube 只是一个单节点的 k8s 集群,这对于学习而言是不够的.我们需要有一个多节点集群,才能用到各种调度/监控功能.而且单节点只能是一个加引号的"集群&quo ...

随机推荐

  1. Golang 入门 : 整型

    整型介绍 Go语言同时提供了有符号和无符号类型的整数运算.这里有 int8.int16.int32 和 int64 四种截然不同大小的有符号整形数类型,分别对应 8.16.32.64 bit大小的有符 ...

  2. 如何限制goroutine的数量

    为什么要控制goroutine的数量? 在我们开发过程中,如果不对goroutine加以控制而进行滥用的话,可能会导致服务整体崩溃.比如耗尽系统资源导致程序崩溃,或者CPU使用率过高导致系统忙不过来. ...

  3. go declared and not used

    Go语言在代码规范中定义未使用的变量会报"declared and not used"错误 package main import "fmt" func mai ...

  4. Flask应用实战经验总结:使用工厂函数创建app与uWSGI服务部署启动失败解决方案

    在 Flask 应用开发中,使用工厂函数创建应用实例,并借助 uWSGI 服务进行部署,是常见且高效的组合. 然而,在实际操作过程中,uWSGI 配置文件与应用启动函数之间的关系复杂,容易引发各种问题 ...

  5. K8S组件详解

    K8S的控制平面.和工作节点是集群正常运行的核心,通过这两部分的协同工作,K8S才能够实现高效的容器编排.管理.和自动化运维. K8S Kubernetes(简称K8s),是一个开源的容器编排平台,用 ...

  6. jupyterhub nginx proxy pass----ipv6转ipv4实现内网穿透

    jupyterhub 很多人应该已经对jupyter和notebook已经有所了解了.如果是多人共享服务器的话,就需要用到jupyter的多用户版本jupyterhub.jupyterhub架构如图所 ...

  7. XWorker - 人机协同的共生系统

    这是XWorker的定位,让AI写的,因为动态模型和XWorker对AI本身也有特殊意义,所以让AI写也是可以的.部分是AI的幻觉,如(四.重塑产业实践),XWorker还没实现这些.之所以保留不动, ...

  8. [设计模式/Java] 设计模式之工厂方法模式【11】

    概述:工厂方法模式 := Factory Method Pattern 工厂模式的3种细分模式: 简单工厂模式 / 工厂方法模式 / 抽象工厂模式 工厂模式(Factory Pattern)是 Jav ...

  9. 小程序组件使用全局样式app.wxss

    Component({ options: { addGlobalClass: true } })

  10. 🚀 放弃 Oh-My-Posh,转而手搓 FastPrompt,打造快速高效的命令提示

    「够用.够快.够自由」才是我心目中的终端提示符. 一个开发者的烦恼 每天打开 PowerShell,等待提示符加载完毕,我的内心就像在等待一个磨蹭的同事. 我用的是 Windows Terminal ...