【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/ ...
随机推荐
- lombok标签之@Data @AllArgsConstructor @@NoArgsConstructor -如何去除get,set方法。@Data注解和如何使用,lombok
在代码中我们可以只加上标签@Data 而不用get,set方法: val : 和 scala 中 val 同名, 可以在运行时确定类型; @NonNull : 注解在参数上, 如果该类参数为 null ...
- Git知识总结
Git知识总结 Git安装 windows 在git官网中下载安装程序,然后按默认选项安装即可 安装完成后,在开始菜单里找到"Git"->"Git Bash&quo ...
- Python知识整理(三)
三.函数式编程与模块 1.函数式编程 1.高阶函数 把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式. 1.map/reduce map()函数接收两个参数,一个是函 ...
- 时间处理,类似"xxxx-xx-xxTxx:xx:xx187+0000"格式
后端返回的时间:"2020-04-24T09:12:51.187+0000" 目标显示时间:2020-04-24 09:12:51 <!DOCTYPE html> ...
- C++和Java中的i+++i++
1 public class Cd { 2 public static void main(String[]args){ 3 int i = 50 ; 4 System.out.println(i++ ...
- <C#任务导引教程>练习九
//75,异常情况using System;class Program{ public static void Main() { Console.Write("请输 ...
- 【BugFix】K8S节点NOT READY状态,错误信息:network plugin is not ready: cni config uninitialized
错误现象 runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: netw ...
- 回顾Servlet开发
1.建立的文件 2.servlet package com.shao.servlet; import javax.servlet.ServletException; import javax.serv ...
- 数值最优化:一阶和二阶优化算法(Pytorch实现)
1 最优化概论 (1) 最优化的目标 最优化问题指的是找出实数函数的极大值或极小值,该函数称为目标函数.由于定位\(f(x)\)的极大值与找出\(-f(x)\)的极小值等价,在推导计算方式时仅考虑最小 ...
- CF1373G
考虑中间格子不能有相同的点,其实是没用的. 其唯一用处是用来规定最后的是无法重叠的. 我们可以证明最后位置的无重叠和中间不重叠是充要的. 那显然可以我们对每个点往后连边: 形式的话的说: 对 \((x ...