1. 简介

1.1. 这个在生产中没用上,生产上用的是nfs,不过为了显示咱会,也要写出来

1.2. 官方网站:http://ceph.com/

1.3. 中文网站:http://docs.ceph.org.cn/

1.4. Ceph = Cephalopods ['sefələpɒdz] 头足类软体动物

1.5. 作者是Sage Weil,起源于2006年发表的论文《Ceph: A Scalable, High-Performance Distributed File System》

http://ceph.com/papers/weil-ceph-osdi06.pdf

和2007年发表的论文《CEPH: RELIABLE, SCALABLE, AND HIGH-PERFORMANCE DISTRIBUTED STORAGE》

http://ceph.com/papers/weil-thesis.pdf

1.6. 对象存储,块存储,文件存储的区别:https://www.zhihu.com/question/21536660

对象存储RGW(RADOS GateWay):内置大容量硬盘的分布式服务器

块存储:磁盘阵列,硬盘

文件系统存储:NFS,FTP服务

1.7. 架构设计

客户端(Clients):存储数据的使用者

元数据服务器(Metadata Server,MDS):负责缓存和同步分布式元数据

对象存储集群(Object Storage Cluster):负责以对象的形式存储全部的用户数据和元数据以及实现其他的关键功能

集群监控(Cluster Monitor):负责实现对整个Ceph集群的监控

1.8. 对象存储

底层存储系统(RADOS,Reliable、Autonomic、Distrbuted Object Store):Ceph存储系统的基础,可以无限扩展

底层API库(LIBRADOS):是对底层RADOS逻辑功能的封装API库,支持C/C++,Python,Java,Ruby和PHP等

上层应用接口:RADOS GW(RADOS Gateway)、RBD(RADOS Block Device)和Ceph FS(Ceph File System)

外部应用层:使用Ceph提供的各种应用接口的应用程序,例如云盘

1.9. 架构图

1.10. 数据存储过程:File --> Object --> PG --> OSD

File:最高层次的数据对象,终端用户所能看到和操作的数据对象,也是用户需要存储或者访问的数据文件

Object:从Ceph角度所看到的对象,或者说是RADOS的操作对象,Ceph对象存储中的“对象”通常便是指Object,RADOS规定每个Object的大小为4MB或8MB

PG(Placement Group):逻辑上的Object组织单位或者容器,其主要作用就是对Object的存储进行组织和位置映射

OSD(Object Storage Device):Ceph存储集群中的最终物理存储设备,存储逻辑上的PG,通过运行在OSD上的OSD进程实现不同OSD之间的通信以及与Ceph Monitor的通信。

1.11. 寻址过程:

File -> object映射:其映射十分简单,本质上就是按照object的最大size对file进行切分,相当于RAID中的条带化过程。这种切分的好处有二:一是让大小不限的 file变成最大size一致、可以被RADOS高效管理的object;二是让对单一file实施的串行处理变为对多个object实施的并行化处理。
Object -> PG映射:在file被映射为一个或多个object之后,就需要将每个object独立地映射到一个PG中去。
PG -> OSD映射:第三次映射就是将作为object的逻辑组织单元的PG映射到数据的实际存储单元OSD。

2. 环境

2.1. ceph:0.80.7-0.10.el7

2.2. 机器列表:

3. 安装

3.1. 配置yum源

rpm -ivh https://download.ceph.com/rpm/el7/noarch/ceph-release-1-1.el7.noarch.rpm

3.2. 在管理机(ansible机器)10.30.2.99上安装部署工具

yum install ceph-deploy

3.3. 在mon和block节点上安装相关软件

yum install snappy leveldb gdisk python-argparse gperftools-libs

3.4. 初始化三个监控节点

ceph-deploy forgetkeys
ceph-deploy mon create-initial
ceph-deploy new hctjcephmon01 hctjcephmon02 hctjcephmon03

3.5. 在所有节点上安装ceph相关

ceph-deploy install hctjcephmon01 hctjcephmon02 hctjcephmon03 hctjcephblock01 hctjcephblock02
ansible ceph -m shell -a "yum -y install ceph ceph-radosgw"

3.6. 在监控节点上创建监控

ceph-deploy mon create hctjcephmon01 hctjcephmon02 hctjcephmon03
ceph-deploy gatherkeys hctjcephmon01 hctjcephmon02 hctjcephmon03

3.7. 在块节点上创建三块硬盘,都格式化成xfs格式,并挂载

#Ceph
/dev/sdb /data_ceph/docker/volume xfs defaults 0 0
/dev/sdc /data_ceph/openstack/cinder xfs defaults 0 0
/dev/sdd /data_ceph/openstack/glance xfs defaults 0 0

3.8. 在块节点上

ceph-deploy osd prepare hctjcephblock01:/data_ceph/docker/volume hctjcephblock02:/data_ceph/docker/volume
ceph-deploy osd activate hctjcephblock01:/data_ceph/docker/volume hctjcephblock02:/data_ceph/docker/volume

3.9. 在ansible节点上

ceph-deploy admin hctjcephmon01 hctjcephmon02 hctjcephmon03

3.10. 检查状态

ceph heath

4. 常用命令

#检查ceph状态
ceph -s
ceph status
# 检查集群状态
ceph -w
# 检查仲裁
ceph quorum_status --format json-pretty
# 导出mon信息
ceph mon dump
# 检查集群使用状况
ceph df
# 检查mon状态
ceph mon stat
# 列出pg
ceph pg dump
# 检查存储池
ceph osd lspools
# 检查OSD的hash
ceph osd tree
# 检查key
ceph auth list

【Linux】【Services】【SaaS】Docker+kubernetes(6. 安装和配置ceph)的更多相关文章

  1. LINUX操作系统(centos6.9)安装与配置

    LINUX操作系统(centos6.9)安装与配置_百度经验 https://jingyan.baidu.com/article/acf728fd6bdba1f8e510a3f7.html cento ...

  2. 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器

    #!/bin/bash # # 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器: # # .安装服务 # .创建svn版本库 # .创建svn用户 # .配置sv ...

  3. Linux下MyCat和MyCat_web的安装和配置

    Linux下MyCat和MyCat_web的安装和配置 Mycat 是一个数据库分库分表中间件 Mycat web 可以对 Mycat进行监控,这里分享一下 Mycat web 的搭建过程 详细内容可 ...

  4. linux下jdk与tomcat的安装与配置

    Linux中jdk与tomcat的安装与配置 1.搭建环境: (1)Linux环境:CentOS6.1 (2)jdk-1.8 (3)tomcat-9.0 2.在Linux系统上创建目录 在usr/lo ...

  5. Docker之Mysql安装及配置

    原文:Docker之Mysql安装及配置 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/zhaobw831/article/details/8014 ...

  6. Linux监控一之Nagios的安装与配置

    一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报 ...

  7. linux应用之samba服务的安装及配置(centos)

    一.安装方式: 本文通过yum来重新进行Samba服务器的安装与配置. 二.Samba的简介: Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Me ...

  8. Docker与GU 安装管理配置

    Linux 下的 Docker 安装与使用 一.安装与配置 1.安装依赖包 1 sudo yum install -y yum-utils device-mapper-persistent-data ...

  9. Linux环境下SVN服务器端的安装与配置

    最近尝试了下在Linux(CentOS6.5)环境下安装与配置SVN服务器端,安装过程中碰到了一些问题,参看了网友们分享的一些心得,并通过自己实际的操作,最终安装与配置成功!总的来说网上的说法芸芸,大 ...

  10. linux(ubuntu)环境下安装及配置JDK

    安装完IDEA之后遇到了问题,发现jdk安装完之后配置环境变量好困难,下面总结一下我的安装及配置方式: JDK下载链接:http://download.oracle.com/otn-pub/java/ ...

随机推荐

  1. 【AI测试】人工智能 (AI) 测试--开篇

    人工智能测试 什么是人工智能,人工智能是怎么测试的.可能是大家一开始最想了解的.大家看图中关于人工智能的定义.通俗点来说呢,就是 让机器实现原来只有人类才能完成的任务:比如看懂照片,听懂说话,思考等等 ...

  2. 华为开发者大会主题演讲:3D建模服务让内容高效生产

    内容来源:华为开发者大会2021 HMS Core 6 Graphics技术论坛,主题演讲<3D建模服务使能3D内容高效生产>. 演讲嘉宾:华为消费者云服务 AI算法专家 3D建模服务(3 ...

  3. myeclipse trial expired暂时解决办法

    运行以下程序,生成key: import java.io.*; public class MyEclipseGen { private static final String LL = "D ...

  4. [spojQTREE7]Query on a tree VII

    即QTREE5和QTREE6组合,即将原本维护子树范围内点数改为维护子树范围内最小值即可,由于最小值没有可减性,因此需要使用set (虽然形式上与QTREE5类似,但QTREE5维护的信息更巧妙一些, ...

  5. [bzoj5511]大中锋的游乐场

    记可乐为1,汉堡为-1,即求过程中绝对值不超过k的最短路. 然后发现k的范围仅为10,也就是说过程中合法的值仅有21种,因此跑一遍dij或spfa(嘿嘿嘿)即可. 1 #include<bits ...

  6. PHP绕过MD5比较的各种姿势

    1.用==进行弱类型比较时, 可以通过两个0e开头后面纯数字的md5绕过 php在进行弱类型比较时,如果为字符串为纯数字,包括浮点数.科学计数法.十六进制数等,都会转化为数字类型再进行比较,利用这点, ...

  7. arm中断汇编

    IRQ_Handler: push {lr} /* 保存 lr 地址 */ push {r0-r3, r12} /* 保存 r0-r3,r12 寄存器 */ mrs r0, spsr /* 读取 sp ...

  8. layui页面操作,点击一个添加页面,跳转有确定,然后点击确定后将选择的几个数据返回前一个页面获取值,然后ajax请求后台

    custUserIndex.html [添加页面代码] <!DOCTYPE html> <html> <head> <meta charset="u ...

  9. Java ArrayList小记

    1.基本用法 ArrayList是一个泛型容器,新建ArrayList需要实例化泛型参数,比如: ArrayList<String> StrList = new ArrayList< ...

  10. P7091 数上的树

    题目传送门. 首先将 \(n\) 分解质因数,用 DFS 求出 \(n\) 的所有因数,记为 \(d_1,d_2,\cdots,d_c\),跑一遍反素数那题的代码可知 \(c\leq 23327\)( ...