Ceph存储集群手动部署指南

Ceph存储集群手动部署指南

ceph Ceph is a distributed object, block, and file storage platform ceph 项目地址: https://gitcode.com/gh_mirrors/ce/ceph

概述

Ceph是一个开源的分布式存储系统,提供高性能、高可靠性和高扩展性的存储服务。本文将详细介绍如何手动部署一个基础的Ceph存储集群,包括监控器(Monitor)、对象存储设备(OSD)以及可选的管理器(Manager)等核心组件。

集群架构规划

一个基本的Ceph集群需要至少包含以下组件:

  • 1个或多个Monitor节点(推荐3个以实现高可用)
  • 多个OSD节点(数量取决于数据副本数)

示例架构:

管理节点 → Monitor节点(mon-node1)
          ↘ OSD节点1(osd-node1)
          ↘ OSD节点2(osd-node2)

Monitor节点部署

准备工作

  1. 登录Monitor节点

    ssh mon-node1
    
  2. 创建配置目录

    sudo mkdir -p /etc/ceph
    

配置集群参数

  1. 生成集群唯一标识

    uuidgen
    
  2. 创建基础配置文件

    sudo vim /etc/ceph/ceph.conf
    

    添加以下内容:

    [global]
    fsid = {生成的UUID}
    mon_initial_members = mon-node1
    mon_host = {Monitor节点IP}
    

密钥管理

  1. 创建Monitor密钥环

    sudo ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
    
  2. 创建管理员密钥

    sudo ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'
    
  3. 创建OSD引导密钥

    sudo ceph-authtool --create-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd' --cap mgr 'allow r'
    

初始化Monitor

  1. 生成Monitor映射

    monmaptool --create --add mon-node1 {IP地址} --fsid {UUID} /tmp/monmap
    
  2. 创建数据目录

    sudo -u ceph mkdir /var/lib/ceph/mon/ceph-mon-node1
    
  3. 初始化Monitor

    sudo -u ceph ceph-mon --mkfs -i mon-node1 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
    
  4. 启动Monitor服务

    sudo systemctl start ceph-mon@mon-node1
    
  5. 配置防火墙

    sudo firewall-cmd --zone=public --add-service=ceph-mon
    sudo firewall-cmd --zone=public --add-service=ceph-mon --permanent
    

OSD节点部署

快速部署方法(推荐)

  1. 准备OSD

    sudo ceph-volume lvm prepare --data /dev/{设备名}
    
  2. 激活OSD

    sudo ceph-volume lvm activate {OSD ID} {FSID}
    

手动部署方法

  1. 生成OSD UUID和密钥

    UUID=$(uuidgen)
    OSD_SECRET=$(ceph-authtool --gen-print-key)
    
  2. 创建OSD

    ID=$(echo "{\"cephx_secret\": \"$OSD_SECRET\"}" | ceph osd new $UUID -i - -n client.bootstrap-osd -k /var/lib/ceph/bootstrap-osd/ceph.keyring)
    
  3. 准备存储设备

    mkfs.xfs /dev/{设备名}
    mount /dev/{设备名} /var/lib/ceph/osd/ceph-$ID
    
  4. 初始化OSD

    ceph-osd -i $ID --mkfs --osd-uuid $UUID
    
  5. 启动OSD服务

    sudo systemctl enable ceph-osd@$ID
    sudo systemctl start ceph-osd@$ID
    

可选组件部署

管理器(Manager)部署

在每个Monitor节点上部署Manager服务:

sudo systemctl start ceph-mgr@$(hostname -s)

元数据服务器(MDS)部署

  1. 创建数据目录

    mkdir -p /var/lib/ceph/mds/ceph-{id}
    
  2. 创建密钥环

    ceph-authtool --create-keyring /var/lib/ceph/mds/ceph-{id}/keyring --gen-key -n mds.{id}
    
  3. 添加权限

    ceph auth add mds.{id} osd "allow rwx" mds "allow *" mon "allow profile mds" -i /var/lib/ceph/mds/ceph-{id}/keyring
    
  4. 启动服务

    sudo systemctl start ceph-mds@{id}
    

对象网关(RGW)部署

  1. 创建认证密钥

    ceph auth get-or-create client.$(hostname -s) mon 'allow rw' osd 'allow rwx'
    
  2. 准备数据目录

    install -d -o ceph -g ceph /var/lib/ceph/radosgw/ceph-$(hostname -s)
    
  3. 启动服务

    sudo systemctl start ceph-radosgw@$(hostname -s).service
    

集群验证

  1. 检查集群状态

    ceph -s
    
  2. 查看OSD树

    ceph osd tree
    

总结

通过以上步骤,我们完成了Ceph存储集群的基础部署。实际生产环境中,建议至少部署3个Monitor节点以实现高可用,并根据数据规模和性能需求配置足够数量的OSD节点。部署完成后,可以通过Ceph CLI工具进行集群管理和监控。

ceph Ceph is a distributed object, block, and file storage platform ceph 项目地址: https://gitcode.com/gh_mirrors/ce/ceph

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨洲泳Egerton

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值