当前位置: 首页 > news >正文

离线部署三节点 Ceph 分布式存储

离线部署三节点 Ceph 分布式存储

环境准备

确保三台服务器满足以下条件:

  • CentOS 7/8 或 Ubuntu 18.04/20.04(内核版本 ≥ 4.x)
  • 每台服务器至少 2 块磁盘(1 块系统盘 + 1 块 OSD 数据盘)
  • 内网互通,主机名解析正确(如 ceph-node1ceph-node2ceph-node3
  • 防火墙关闭或放行 Ceph 端口(如 6789、6800-7300)
离线安装 Ceph
  1. 下载离线包
    在有网络的机器下载 Ceph RPM/DEB 包及依赖(以 Luminous 版本为例):

    yum install --downloadonly --downloaddir=/ceph-rpm ceph ceph-radosgw ceph-mds
    # 或 Ubuntu
    apt-get download ceph ceph-common ceph-mds
    

    /ceph-rpm 或下载的 DEB 包拷贝到离线节点。

  2. 安装 Ceph
    在三台节点上手动安装:

    # CentOS
    rpm -ivh /ceph-rpm/*.rpm
    # Ubuntu
    dpkg -i /ceph-offline/*.deb
    
部署 Ceph 集群
  1. 初始化集群配置
    ceph-node1 上生成初始配置:

    ceph-deploy new ceph-node1 ceph-node2 ceph-node3
    

    编辑 ceph.conf,添加以下配置:

    [global]
    osd pool default size = 3
    public network = 192.168.1.0/24
    cluster network = 192.168.2.0/24
    
  2. 安装 Monitor 服务

    ceph-deploy mon create-initial
    ceph-deploy admin ceph-node1 ceph-node2 ceph-node3
    
  3. 部署 OSD
    为每台节点的磁盘创建 OSD(以 /dev/sdb 为例):

    ceph-deploy osd create --data /dev/sdb ceph-node1
    ceph-deploy osd create --data /dev/sdb ceph-node2
    ceph-deploy osd create --data /dev/sdb ceph-node3
    

    验证集群状态:

    ceph -s  # 确保所有 OSD 和 PG 状态为 active+clean
    

在服务中使用 Ceph 分布式存储

Kubernetes 集成
  1. 安装 RBD 插件
    在所有 K8s 节点安装 ceph-common 包。

  2. 创建 StorageClass
    创建 ceph-storageclass.yaml

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:name: ceph-rbd
    provisioner: kubernetes.io/rbd
    parameters:monitors: 192.168.1.1:6789,192.168.1.2:6789,192.168.1.3:6789adminId: adminadminSecretName: ceph-secretpool: k8suserId: kubeuserSecretName: ceph-user-secret
    
OpenStack 集成
  1. 配置 Ceph 后端
    cinder.conf 中添加:
    [DEFAULT]
    enabled_backends = ceph
    [ceph]
    volume_driver = cinder.volume.drivers.rbd.RBDDriver
    rbd_pool = volumes
    rbd_user = cinder
    rbd_secret_uuid = <secret-uuid>
    
NFS 共享
  1. 部署 CephFS
    创建 CephFS 并挂载到本地:
    ceph osd pool create cephfs_data 128
    ceph osd pool create cephfs_metadata 128
    ceph fs new cephfs cephfs_metadata cephfs_data
    mount -t ceph 192.168.1.1:6789:/ /mnt -o name=admin,secret=<key>
    
S3 对象存储
  1. 部署 RGW
    在任一节点部署 RADOS 网关:
    ceph-deploy rgw create ceph-node1
    
    通过 http://ceph-node1:7480 访问 S3 API。

验证与监控

  • 集群状态ceph -s
  • RBD 使用rbd ls -p <pool>
  • CephFS 挂载df -h | grep ceph
  • S3 测试:使用 s3cmd 或 AWS CLI 上传/下载对象。

通过上述步骤,可完成离线三节点 Ceph 部署并集成到主流服务平台。

http://www.dtcms.com/a/283024.html

相关文章:

  • 访问者设计模式
  • Elasticsearch+Logstash+Kibana部署
  • java解析word文档
  • windows内核研究(进程与线程-等待链表和调度链表和线程切换)
  • Excel 导入导出工具类文档
  • ubuntu中拷贝docker容器中的文件到宿主机
  • 万字长文解析 OneCode3.0 AI创新设计
  • 微服务的编程测评系统2
  • 2025年量化交易平台对比:付费与开源方案深度分析
  • nerdctl - 兼容 Docker 语法 的 containerd 命令行界面
  • 17.图像金字塔采样(放大,缩小处理)拉普拉斯金字塔
  • 闰年的历史由来与C语言实现详解
  • 7.16 拓扑排序 | 欧拉回路 |链表排序 前缀和
  • Vue在线预览Excel和Docx格式文件
  • Redis学习其一
  • Python学习之路(十三)-常用函数的使用,及优化
  • Redis读写策略深度解析:高并发场景下的缓存兵法
  • python基础语法9,用os库实现系统操作并用sys库实现文件操作(简单易上手的python语法教学)
  • 猫眼娱乐IOS开发一面手撕算法
  • 嵌入式学习笔记--MCU阶段--DAY06DHT11练习
  • AR智能巡检:电力行业数字化转型的“加速器”
  • 基于Llama的RAG 3种模型配置方法
  • 51c自动驾驶~合集7
  • 基于C#开发solidworks图库中文件(SLDPRT,SLDASM,SLDDRW等)转换为HTML和PDF,提供批量和实时转换
  • AI产品经理面试宝典第28天:自动驾驶与智慧交通融合面试题与答法
  • 自动驾驶激光3D点云处理系统性阐述及Open3D库函数应用
  • MR 处于 WIP 状态的WIP是什么
  • 小模型的价值重估:从“缩水版DeepSeek”到AI系统的基础执行单元20250716
  • Linux 挂载新磁盘导致原文件被隐藏解决方案
  • 【代码】Matlab鸟瞰图函数