首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

手把手教你搭建 Ceph+JuiceFS

阅读之前,简单接下来操作涉及到 Ceph 基本概念: cephadm 是 Ceph 集群专门运维管理工具,我们会用他初始化 Ceph 集群 OSD(Object Storage Daemon)是...Ceph 集群存储服务实例,分配给 Ceph 使用每一块盘,都由一个 OSD 来负责管理 放置组(Placement Group,PG)可以简单想象成是 Ceph 「虚拟目录」,为 Ceph 存储大量对象进行分组...节点基础设施 如果尚未搭建时钟同步,需要手动安装: apt install chrony # 查看能连接到 servers # 如外网不通则需要改配置内部服务器,如果不清楚如何配置,联系云服务商技术支持...# 查看集群状态 ceph -s # 禁用掉无用 nfs 模块 ceph mgr module disable nfs # 默认每个 OSD 内存上限 4G # 在 Ceph 集群,一块盘(块设备...osd_memory_target 17179869184 组建 Ceph 集群 所有节点添加进 Ceph 集群,前 5 台节点(含主控)打上 _admin 标签,后续节点则不需要。

58410

基于 Harbor 和 Cephfs 搭建高可用 Docker 镜像仓库集群

Cephfs 是 Ceph 分布式存储系统文件存储,可靠性高,管理方便,伸缩性强,能够轻松应对 PB、EB 级别数据。...和 mon,node0 作为 osd0,node1 作为 osd1 (这里我只有一个 mon,建议多配置几个,组成 HA 高可用),并且创建 cephfs mount 到这三个节点上,同时在这三个节点上安装...因此就需要删除 docker-compose.yml mysql 相关配置。...到此,单节点 Harbor 服务已经完成了仓库存储和数据库存储 “高可用”,实际应用,单一节点肯定是不能满足需求,暂且不说能否抵抗高流量访问冲击,光发生节点故障,就没法满足镜像仓库集群高可用性...值一提是,当我尝试在 Harbor UI 上删除某一个镜像,发现 cephfs 共享存储依旧存在,我们可以通过删除某镜像后再次 push 该镜像来验证一下。

1.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

Ceph 集群整体迁移方案

场景介绍:在我们IDC,存在着运行了3-6年Ceph集群服务器,这些服务器性能和容量等都已经无法满足当前业务需求,在购入一批高性能机器后,希望旧机器上集群整体迁移到新机器上,当然,是保证业务不中断前提下...首先,我们环境为典型 Openstack+Ceph环境,其中 Openstack 三个组件: Nova/Cinder/Glance 均已经对接到Ceph集群,也就是说虚机系统盘,云硬盘,镜像都保存在...来连接到 /etc/ceph/ceph.conf配置文件指定IPMON,认证成功后,可以获取集群很多MAP( monmap,osdmap,crushmap...)...当虚机挂载一个云硬盘,Nova 会将挂载这个云盘所连接MON IP 写入到数据库,而在修改完MONIP后,新MON IP不会被更新到数据库,而虚机启动时会加载 XML 文件,这个文件由数据库对应字段生成...MON IP 信息,这会导致虚机在重启等动作,尝试连接到已经被摧毁MON地址,导致动作卡住,因此这里要单独改一下数据库内MON IP 信息: 这里我们 192.168.100.110/111

2.5K120

Ceph 集群整体迁移方案

场景介绍:在我们IDC,存在着运行了3-6年Ceph集群服务器,这些服务器性能和容量等都已经无法满足当前业务需求,在购入一批高性能机器后,希望旧机器上集群整体迁移到新机器上,当然,是保证业务不中断前提下...首先,我们环境为典型 Openstack+Ceph环境,其中 Openstack 三个组件: Nova/Cinder/Glance 均已经对接到Ceph集群,也就是说虚机系统盘,云硬盘,镜像都保存在...来连接到 /etc/ceph/ceph.conf配置文件指定IPMON,认证成功后,可以获取集群很多MAP( monmap,osdmap,crushmap...)...当虚机挂载一个云硬盘,Nova 会将挂载这个云盘所连接MON IP 写入到数据库,而在修改完MONIP后,新MON IP不会被更新到数据库,而虚机启动时会加载 XML 文件,这个文件由数据库对应字段生成...MON IP 信息,这会导致虚机在重启等动作,尝试连接到已经被摧毁MON地址,导致动作卡住,因此这里要单独改一下数据库内MON IP 信息: 这里我们 192.168.100.110/111

3.9K50

ceph存储节点系统盘损坏集群恢复

本文主要介绍ceph16版本集群节点系统磁盘故障后集群恢复,虽然系统盘很多都是做了raid1,但从实际做项目看,总是有很多未知意外发生,节点挂掉后,上面的mon和osd,mgr都会down掉,如果所在节点...移除问题主机 节点挂掉后,在确定不能继续开机进入系统情况下,需要在其他正常节点将故障节点进行移除,此次宕机节点为node4,以下命令可能会导致数据丢失,因为 osd 通过调用每个 osd 来强制从集群清除.../cephadm install ceph-common 向集群添加新节点 在ceph集群添加新主机 [root@node2 ~]# ceph orch host add node1 Added...ceph集群操作,因为新添加节点上缺少ceph集群管理密钥环,在上面的命令其实可以看到新加node1是缺少一个_admin标签,这里提一下ceph是有几个特殊主机标签,以_开头属于ceph...ceph orch host label add node1 _admin 或者在添加节点就可以把标签添加上 ceph orch host add node1 --labels=_admin 添加osd

2K30

(译)Rook & Ceph 简介

在 Kubernetes ,PVC 是管理有状态应用一个推荐方案。有了 PVC 帮助,Pod 可以申请并连接到存储卷,这些存储卷在 Pod 生命周期结束之后,还能独立存在。...Rook 简化了 Ceph 在 Kubernetes 集群部署过程。...Ceph 包括多个组件: Ceph Monitors(MON):负责生成集群票选机制。所有的集群节点都会向 Mon 进行汇报,并在每次状态变更进行共享信息。...Ceph 客户端使用集群地图来获知需要交互 OSD,从而和特定 OSD 建立联系。 Rook 是什么 Rook 是一个可以提供 Ceph 集群管理能力 Operator。...Rook Discovers:检测挂接到存储节点上存储设备。 Rook 还会用 Kubernetes Pod 形式,部署 Ceph MON、OSD 以及 MGR 守护进程。

7.1K51

容器实战|手把手带你部署Ceph集群

导读 Ceph作为开源分布式文件系统,可以轻松地存储容量扩展到PB以上并拥有不错性能。...Ceph提供对象存储、块存储和文件系统三种存储方式,如果不想花时间安装ceph,可以通过ceph-docker来部署Ceph集群,使用容器部署Ceph集群一大好处就是不用为升级而烦恼,本篇文章手把手带你快速在单节点上部署...部署ceph集群 安装ceph集群基础组件 mon,osd,mgr,rgw ,mds 1....脚本说明: name 是用于指定OSD容器名称 net 是用于指定host,就是前面我们配置host restart指定为always,使osd组件可以在down重启。...min_size 1 ceph osd pool set cephfs_metadata size 1 启动完成之后再通过ceph-s查看集群状态 [root@ceph ~]# ceph -s

4.1K20

Ceph 分布式存储使用指南

需要注意是,添加了OSD之后子节点会启动一个dockerOSD进程。...就是ceph存储数据逻辑分区 PG是OSD之上一层逻辑,可视其为一个逻辑概念。...如果在本地存在ceph docker镜像情况下,一段时间后仍未启动MDS,使用以上命令手动启动MDS,可以通过在集群各服务器上执行docker ps |grep mds查看MDS容器是否运行。...例如,要创建一个名为10GB映像ubuntu.qcow2,该映像信息存储在images Pool,请执行以下操作: $ rbd create --size 1024 ubuntu.qcow2/images1...外网速度慢问题:key问题,docker pull慢问题 添加OSD问题 kernel挂载出错问题 pool删除问题ceph tell mon.\* injectargs '--mon-allow-pool-delete

2.2K20

实用Ceph分布式集群部署指南

(如果文件不存在则请创建该文件) $ mkdir /etc/docker $ vim /etc/docker/daemon.json 创建好文件之后再该文件配置加速器,这里用是网易云和百度云加速器...挂载文件系统,就是loop0磁盘挂载到/usr/local/ceph/data/osd/目录下: mount/dev/loop0/usr/local/ceph/data/osd/ 如果有独立磁盘的话,...脚本说明:1. name 是用于指定OSD容器名称 2. net 是用于指定host,就是前面我们配置host 3. restart指定为always,使osd组件可以在down重启。...CephFS使用元数据, 2、mds不直接给客户端提供数据,英雌可以避免系统单点故障。...系统Docker Ceph 集群安装配置(中篇)[基于Docker部署ceph分布式文件系统MImic13.2

74830

使用cephadm安装ceph octopus

cephadm与新业务流程API完全集成,并完全支持新CLI和仪表板功能来管理集群部署。 cephadm需要容器支持(podman或docker)和Python 3。...sudo systemctl enable docker 安装cephadm cephadm命令可以 引导新集群 使用有效Ceph CLI启动容器化Shell 帮助调试容器化Ceph守护进程。...当Ceph知道mon应该使用什么IP子网,它可以随着群集增长(或收缩)自动部署和缩放mon。默认情况下,Ceph假定其他mon使用与第一个monIP相同子网。...在单个子网情况下,如果向集群添加主机,默认最多只会添加5个mon 如果有特定IP子网给mon使用,可以使用CIDR格式配置该子网: ceph config set mon public_network...可以用以下命令显示集群存储设备清单 ceph orch device ls ?

4.2K40

初识ceph

Ceph存储集群包含两种类型守护进程: Ceph监视器、Ceph OSD守护进程。 Ceph监视器维护着集群运行图主副本。一个监视器集群确保了当某个监视器失效高可用性。...存储集群客户端向Ceph监视器索取集群运行图最新副本。 Ceph OSD守护进程检查自身状态、以及其它OSD状态,并报告给监视器们。同时Ceph OSD守护进程负责数据存储为扁平对象。...客户端先连接到某个 Ceph 监视器、获得最新集群运行图副本 Ceph客户端根据对象ID及存储池ID计算得出目标PGID Ceph客户端得到目标PGOSD地址,连接该OSD进行读写操作 ?...这个中间层使客户端与OSD之间松耦合了,从客户端角色来看,它只知道对象被存储在某个PG里了,至于对象最终要存储在哪个OSD里它是不感知。这样当新OSD上线Ceph可以更方便地进行重均衡。...随着OSD数量增加,一个存储池PG数量设置非常重要,它显著地影响着集群行为、以及出错数据持久性(即灾难性事件导致数据丢失概率)。官方还提供了一个工具pgcalc。

98460

Ceph,Red Hat在代码贡量献上一骑绝尘开源项目

前言: 笔者在之前《从PowerVM,KVM到Docker:存储池配置与调优-第一篇》,分享了PowerVM下存储池配置和调优方法。...用这种分组方式,可以很多文件对象分组,在找对象时候,先找PG,实现间接寻址,从而减少每个对象元数据数量。或者说,有了PG以后,我们再找文件对象,就不用挨着OSD去找了。...Ceph集群角色有:monitor和OSD server。Monitor负责监控集群和维护集群稳定状态。OSD server则提供存储资源,也就是OSD。...新建一个文件,读者一定要注意试验中文件创建时间: ? 本地OS文件以对象方式存到ceph,然后再将其获取下来,并命名成另外一个文件: ? 查看pool和对象文件在pool位置: ?...使用这种方式需要连接到一个Gateway。比如通过swift ? ? Gataway支持协议有两种,亚马逊S3和swift。由于篇幅有限,本部分不进行demo展示,后续文章进行说明。

1.5K50

一键部署ceph集群脚本

这一篇文章是结束之作,我介绍一下重点介绍快速部署集群脚本(PS:前面的部署脚本有点繁琐)。 订阅本专栏我会1V1帮您解决部署和使用ceph碰到问题。...首先创建Ceph目录 2.上传启动脚本 总结 概述 Ceph实战(二)和Ceph实战(三)两篇文章,我分别介绍了如何安装docker以及如何通过docker部署ceph集群,但是相关部署脚本还不够精简...这一篇文章我提供一套快速部署集群脚本。让您可以使用该脚本对ceph集群进行一键部署。...docker版本和ceph版本在下面的脚本已经定下来。无需修改。...容器子节点(mon、rgw、mgr、osd) ceph3 192.168.198.151 容器子节点(mon、rgw、mgr、osd) 特别说明: 命令或者脚本IP地址要根据实际机器IP地址做相应修改

98230

万字长文细讲分布式存储系统 Ceph 实战操作

群集彼此隔离—— 支持多个 Ceph 集群同时存在于同一主机上一直是一个比较小众场景,但是确实存在,并且以一种健壮,通用方式集群彼此隔离,这使得测试和重新部署集群对于开发人员和用户而言都是安全自然过程...以下是一些事情列表 cephadm 可以做: cephadm 可以 Ceph 容器添加到集群。 cephadm 可以从集群移除 Ceph 容器。 cephadm 可以更新 Ceph 容器。...perf 8、详细列出集群每块磁盘使用情况 ceph osd df 8)pool 相关操作 1、查看 ceph 集群 pool 数量 ceph osd lspools #或者 ceph osd...当集群数据,对象映射到编程器,被映射到这些 PGS OSD。...文件 【3】挂载 # Ceph 存储集群默认需要认证,所以挂载需要指定用户名 name 和创建密钥文件一节创建密钥文件 secretfile ,例如: # mount -t ceph {ip-address-of-monitor

2.3K10

《大话 Ceph 》之 CephX 那点事儿

引言 这篇文章主要介绍了 Ceph 一个重要系统 -- CephX 认证系统。简要介绍了 CephX 命名格式。并介绍了从集群启动到用户连接集群这一系列流程 CephX 所起作用。...一个用于登陆 用户名。 登陆用户对应 密码。 其实,很多同学会发现,在我们日常和 Ceph 集群交互,并不需要指定这些参数,就可以执行ceph -s得到集群状态。...以外所有用户密码,在 Monitor 启动之后,才真正开启了认证这个步骤,之后所有用户想要连接到集群,必须先要通过 fsid 和 MON IP 连上 Ceph 集群,通过了认证之后,就可以正常访问集群了...Client 通常我们执行ceph -s ,就相当于开启了一个客户端,连接到 Ceph 集群,而这个客户端默认是使用 client.admin 账户密码登陆集群,所以平时执行ceph -s...最后通过秘钥丢失例子来理论应用到实际生产环境,使大家对 CephX 使用游刃有余。

7.6K41

Docker 容器化部署运维 OpenStack 和 Ceph

相比于其他部署工具,Kolla 完全革新地使用了 Docker 容器技术,每一个 OpenStack 服务运行在不同 Docker 容器。...具体而言,Kolla 最终目标是为 OpenStack 每一个服务都创建一个对应 Docker镜像,通过 Docker 镜像升级粒度减小到服务级别,从而在升级对 OpenStack 影响降到最小...此处, SDB、SDC、SDE SATA 盘用于 Ceph OSD,SDD 盘则用于 Ceph Journal盘。Kolla 对 Ceph OSD 及日志盘识别是通过卷标来实现。...# docker exec -it -u root ceph_mon bash 查看OSD状态和Ceph集群状态: ceph osd tree ceph health ceph -s 查看 Ceph 实时运行状态...: ceph -w 查看 Ceph 存储空间: ceph df ceph osd df 查看 Ceph 集群monitor信息: ceph mon statceph osd dump |grep pool

7.9K72

一键部署ceph(luminous)docker方式

老规矩吧: git clone https://github.com/luckman666/deploy_ceph_cluster_luminous_docker.git cd deploy_ceph_cluster_luminous_docker...所以写了一个ceph(luminous) docker部署ceph(luminous)相关稳定镜像我已经打包到个人公开仓库 配置文件部分剪影 根据需要配置相应参数脚本主要功能(可选): 自动互信..., 时钟同步, 更改主机名, 自动部署mon集群, 自动部署OSD集群, 自动部署MGR主备 自动部署RGW集群 自动添加portainer监控,管理集群容器 执行完后刷新所在服务器环境变量或者重新登录服务器...执行ceph -s查看集群情况 image.png 查看服务器进程运行情况: image.png MGR集群监控情况,根据集群显示结果查看MGR位置,并输入相应IP及端口号 image.png 添加OSD.../ceph_luminous zap_device #添加OSD docker run -d --net=host --name=$odisk —privileged=true \ -v $ceph_base_path

45820

ceph分布式存储-增加删除 OSD

要注意,如果此数字已使用,此命令会出错。 警告: 一般来说,我们不建议指定 {id} 。因为 ID 是按照数组分配,跳过一些依然会浪费内存;尤其是跳过太多、或者集群很大,会更明显。...注册 OSD 认证密钥, ceph-{osd-num} 路径里 ceph 值应该是 cluster-id ,如果你集群名字不是 ceph ,那就用自己集群名字。...警告: 删除 OSD 不要让集群达到 full ratio 值,删除 OSD 可能导致集群达到或超过 full ratio 值。...ssh {osd-host} sudo stop ceph-osd id={osd-num} OSD 标记为 out 状态,这个一步是告诉 mon,这个 OSD 已经不能服务了,需要在其他 OSD...删除 CRUSH Map 对应 OSD 条目,它就不再接收数据了。

4.8K10
领券