【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

 

转载于:https://www.cnblogs.com/demonzk/p/8215568.html

PVE(Proxmox Virtual Environment)是一个开源的虚拟化平台,可以用于运行虚拟机和容器,同时支持多节点集群。Ceph 是一个分布式存储系统,可以提供高可用、可扩展的存储服务。Kubernetes 是一个容器编排平台,可以自动化地部署、扩展和管理容器化应用程序。Docker 是一个开源的容器引擎,可以将应用程序及其依赖项打包成容器,以便在任何地方进行部署。 将这些技术结合在一起,可以构建一个高度可扩展、高可用性的容器平台。以下是一些实现步骤: 1. 在多个物理节点上安装 PVE,并创建 PVE 集群。 2. 在 PVE 集群上安装 Ceph,并将其配置为多节点 Ceph 集群,以提供高可用的存储服务。 3. 在 Kubernetes 集群中使用 Ceph RBD 存储插件,以便将容器挂载到 Ceph 存储中。 4. 安装 DockerKubernetes,使用 kubeadm 初始化 Kubernetes 集群,并加入节点。 5. 在 Kubernetes 集群中安装容器平台,如 OpenShift 或 Rancher,以便管理和部署容器化应用程序。 6. 配置容器平台以使用 Ceph 存储和 Kubernetes 负载均衡服务。 7. 在容器平台上创建应用程序和服务,并部署到 Kubernetes 集群中,以实现高度可扩展、高可用性的容器化应用程序。 需要注意的是,这些技术的组合和部署非常复杂,需要深入了解每个技术的工作原理和实现方式,同时需要考虑安全性、性能和可维护性等因素。因此,在实现这样的容器平台之前,建议进行充分的规划和测试,以确保平台的稳定性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值