部署Ceph分布式高可用集群中篇(中)

简介: 部署Ceph分布式高可用集群中篇(中)

Ceph客户端向 monitor 请求集群的状态
并向 pool 中写入数据
根据 PGs 的数量 通过CRUSH 算法将其映射到不同的 OSD 节点上 实现数据的存储
可以把 pool 理解为存储object数据的逻辑单元

创建一个 pool 资源池

其名字为 z0ukun,PGs 数量设置为 64
设置 PGs 的同时还需要设置 PGP(通常PGs和PGP的值是相同的)
cd ceph-admin
ceph osd pool create z0ukun 64 64

查看集群 pool 信息

ceph osd lspools

image.png

查看资源池副本的数量

默认创建的资源池包含3个副本
ceph osd pool get z0ukun size

image.png


查看PGs和PGP数量

ceph osd pool get z0ukun pg_num
ceph osd pool get z0ukun pgp_num

调整 pool 副本数量为2

ceph osd pool set z0ukun size 2

调整pg_num和pgp_num

ceph osd pool set z0ukun pg_num 128
ceph osd pool set z0ukun pgp_num 128

如果在生产环境中调整 pool 的参数可能会涉及到数据的迁移,因此调整时候需要重点评估再做调整


Ceph Monitor 扩容


此时Ceph集群的monitor是单点
一旦cephnode-01出现故障
整个集群将处于不可用的状态
因此需要部署monitor的高可用
由于monitor使用Paxos算法
因此需要确保集群有2n+1个节点才能保障集群能够正常参与仲裁选举
将cephnode-02和cephnode-03也当作是monitor节点加入到集群中来

扩容monitor节点

ceph-deploy mon add cephnode-02
ceph-deploy mon add cephnode-03

image.png

查看当前集群仲裁选举的情况

ceph quorum_status --format json-pretty

image.png

image.png


health: HEALTH_WARN
mons are allowing insecure global_id reclaim
clock skew detected on mon.cephnode-02
这是集群时间不同步导致的

修改ceph配置中的时间偏差阈值

1、vim /etc/ceph/ceph.conf 
在global下面添加
mon clock drift allowed = 2
mon clock drift warn backoff = 30
2、同步到其他节点
ceph-deploy --overwrite-conf config push cephnode-02
ceph-deploy --overwrite-conf config push cephnode-03
3、每个节点重启mon
systemctl restart ceph-mon.target
相关文章
|
6月前
|
存储 负载均衡 NoSQL
【赵渝强老师】Redis Cluster分布式集群
Redis Cluster是Redis的分布式存储解决方案,通过哈希槽(slot)实现数据分片,支持水平扩展,具备高可用性和负载均衡能力,适用于大规模数据场景。
468 2
|
11月前
|
Cloud Native 关系型数据库 分布式数据库
登顶TPC-C|云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
阿里云PolarDB云原生数据库在TPC-C基准测试中以20.55亿tpmC的成绩刷新世界纪录,展现卓越性能与性价比。其轻量版满足国产化需求,兼具高性能与低成本,适用于多种场景,推动数据库技术革新与发展。
|
9月前
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
3186 57
|
10月前
|
Cloud Native 关系型数据库 分布式数据库
登顶TPC-C|云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
|
10月前
|
SQL 数据可视化 网络安全
YashanDB分布式可视化部署
本文介绍YashanDB的分布式部署流程,涵盖服务端安装、数据库基本信息与服务器配置、节点信息设置、建库参数调整、环境变量配置及安装结果检查等步骤。通过可视化Web界面操作,详细说明了各环节配置方法和注意事项,确保用户顺利完成数据库集群的搭建与初始化设置。适用于需要分布式数据库部署的场景,提供全面的操作指导。
YashanDB分布式可视化部署
|
11月前
|
并行计算 PyTorch 算法框架/工具
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
本文探讨了如何通过技术手段混合使用AMD与NVIDIA GPU集群以支持PyTorch分布式训练。面对CUDA与ROCm框架互操作性不足的问题,文章提出利用UCC和UCX等统一通信框架实现高效数据传输,并在异构Kubernetes集群中部署任务。通过解决轻度与强度异构环境下的挑战,如计算能力不平衡、内存容量差异及通信性能优化,文章展示了如何无需重构代码即可充分利用异构硬件资源。尽管存在RDMA验证不足、通信性能次优等局限性,但该方案为最大化GPU资源利用率、降低供应商锁定提供了可行路径。源代码已公开,供读者参考实践。
1023 3
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
|
6月前
|
存储 缓存 NoSQL
【📕分布式锁通关指南 12】源码剖析redisson如何利用Redis数据结构实现Semaphore和CountDownLatch
本文解析 Redisson 如何通过 Redis 实现分布式信号量(RSemaphore)与倒数闩(RCountDownLatch),利用 Lua 脚本与原子操作保障分布式环境下的同步控制,帮助开发者更好地理解其原理与应用。
416 6
|
7月前
|
存储 缓存 NoSQL
Redis核心数据结构与分布式锁实现详解
Redis 是高性能键值数据库,支持多种数据结构,如字符串、列表、集合、哈希、有序集合等,广泛用于缓存、消息队列和实时数据处理。本文详解其核心数据结构及分布式锁实现,帮助开发者提升系统性能与并发控制能力。
|
11月前
|
数据采集 存储 数据可视化
分布式爬虫框架Scrapy-Redis实战指南
本文介绍如何使用Scrapy-Redis构建分布式爬虫系统,采集携程平台上热门城市的酒店价格与评价信息。通过代理IP、Cookie和User-Agent设置规避反爬策略,实现高效数据抓取。结合价格动态趋势分析,助力酒店业优化市场策略、提升服务质量。技术架构涵盖Scrapy-Redis核心调度、代理中间件及数据解析存储,提供完整的技术路线图与代码示例。
1207 0
分布式爬虫框架Scrapy-Redis实战指南
|
5月前
|
NoSQL Java 调度
分布式锁与分布式锁使用 Redis 和 Spring Boot 进行调度锁(不带 ShedLock)
分布式锁是分布式系统中用于同步多节点访问共享资源的机制,防止并发操作带来的冲突。本文介绍了基于Spring Boot和Redis实现分布式锁的技术方案,涵盖锁的获取与释放、Redis配置、服务调度及多实例运行等内容,通过Docker Compose搭建环境,验证了锁的有效性与互斥特性。
443 0
分布式锁与分布式锁使用 Redis 和 Spring Boot 进行调度锁(不带 ShedLock)