【Linux】【Services】【SaaS】Docker+kubernetes(6. 安装和配置ceph)
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)的更多相关文章
- LINUX操作系统(centos6.9)安装与配置
LINUX操作系统(centos6.9)安装与配置_百度经验 https://jingyan.baidu.com/article/acf728fd6bdba1f8e510a3f7.html cento ...
- 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器
#!/bin/bash # # 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器: # # .安装服务 # .创建svn版本库 # .创建svn用户 # .配置sv ...
- Linux下MyCat和MyCat_web的安装和配置
Linux下MyCat和MyCat_web的安装和配置 Mycat 是一个数据库分库分表中间件 Mycat web 可以对 Mycat进行监控,这里分享一下 Mycat web 的搭建过程 详细内容可 ...
- linux下jdk与tomcat的安装与配置
Linux中jdk与tomcat的安装与配置 1.搭建环境: (1)Linux环境:CentOS6.1 (2)jdk-1.8 (3)tomcat-9.0 2.在Linux系统上创建目录 在usr/lo ...
- Docker之Mysql安装及配置
原文:Docker之Mysql安装及配置 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/zhaobw831/article/details/8014 ...
- Linux监控一之Nagios的安装与配置
一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报 ...
- linux应用之samba服务的安装及配置(centos)
一.安装方式: 本文通过yum来重新进行Samba服务器的安装与配置. 二.Samba的简介: Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Me ...
- Docker与GU 安装管理配置
Linux 下的 Docker 安装与使用 一.安装与配置 1.安装依赖包 1 sudo yum install -y yum-utils device-mapper-persistent-data ...
- Linux环境下SVN服务器端的安装与配置
最近尝试了下在Linux(CentOS6.5)环境下安装与配置SVN服务器端,安装过程中碰到了一些问题,参看了网友们分享的一些心得,并通过自己实际的操作,最终安装与配置成功!总的来说网上的说法芸芸,大 ...
- linux(ubuntu)环境下安装及配置JDK
安装完IDEA之后遇到了问题,发现jdk安装完之后配置环境变量好困难,下面总结一下我的安装及配置方式: JDK下载链接:http://download.oracle.com/otn-pub/java/ ...
随机推荐
- js之变量与数据类型
变量 声明 一个变量被重新复赋值后,它原有的值就会被覆盖,变量值将以最后一次赋的值为准. var age = 18; age = 81; // 最后的结果就是81因为18 被覆盖掉了 同时声明多个变量 ...
- 大爽Python入门教程 2-3 字符串,列表,字典
大爽Python入门公开课教案 点击查看教程总目录 除了通用的序列方法, 列表和字符串还有些自己的专属方法. 后面介绍有些是英中文对照介绍(英文来自官方文档), 便于大家更深入的去理解其意思. 灵活的 ...
- pytest-mian函数运行
1.设置多并发运行 1.命令行安装 pip install pytest-xdist #安装插件,进行多并发运行,#调用:-n -5 import pytest # pytest.main([&quo ...
- filter筛选数组
和map()类似,array的filter也接收一个函数 和map()不同的是,filter把传入的函数依次作用于每个函数,然后根据返回TRUE还是FALSE来做决定保留还是舍弃该元素 例如,删除一个 ...
- [atARC116F]Deque Game
假设两个操作者分别为$A$和$B$,其中$A$希望最大.$B$希望最小 (并不默认$A$为整局游戏的先手,仅是最终的结果考虑$A$为先手时) 记第$i$个队列第$j$个元素为$a_{i,j}$(其中$ ...
- [cf461D]Appleman and Complicated Task
假设该矩形是aij,那么有a(i,j)=a(i-1,j-1)^a(i-1,j+1)^a(i-2,j),不断递归下去可以发现a(i,j)=a(1,y-x+1)^a(1,y-x+3)^--^a(1,x+y ...
- [atARC101E]Ribbons on Tree
令$f(E')$表示强制$E'$中的边不被覆盖的方案数,根据容斥,$ans=\sum_{E'\subseteq E}(-1)^{|E'|}f(E')$ 对于给定的$E'$,$f(E')$即将$E'$中 ...
- 如何利用 JuiceFS 的性能工具做文件系统分析和调优
JuiceFS 是一款面向云原生环境设计的高性能 POSIX 文件系统,在 AGPL v3.0 开源协议下发布.作为一个云上的分布式文件系统,任何存入 JuiceFS 的数据都会按照一定规则拆分成数据 ...
- 详解Threejs中的光源对象
光源的分类 AmbientLight(环境光),PointLight(点光源),SpotLight(聚光源) 和 DirectionalLight(平行光)是基础光源 HemisphereLight( ...
- CODE FESTIVAL 2017 qual C F - Three Gluttons(DP)
洛谷题面传送门 & Atcoder 题面传送门 DP 好题. 首先考虑如果我们知道 C 吃了哪些寿司,能够还原出多少种符合条件的序列.我们考虑倒着钦定,即,先钦定 A,B,C 三者最后吃的那三 ...