三节点Ceph分布式存储搭建指南

三节点Ceph分布式存储搭建指南

环境准备

  • 三台服务器(节点),建议配置相同硬件(CPU、内存、磁盘)。
  • 每台节点至少一块SSD(用于OSD日志)和多块HDD(用于数据存储)。
bash 复制代码

ceph-deploy install

操作系统:Ubuntu 复制代码
- 所有节点配置SSH免密登录(`ssh-keygen`和`ssh-copy-id`)。  

**配置基础环境**  
在所有节点上执行以下操作:  
1. 修改主机名并更新`/etc/hosts`,确保节点间能通过主机名通信。  
2. 关闭防火墙和SELinux(生产环境需按需调整规则):  
  ```bash
  systemctl stop firewalld
  systemctl disable firewalld
  setenforce 0
  sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config
  1. 安装NTP服务确保时间同步:

    bash 复制代码
    yum install -y ntp || apt-get install -y ntp
    systemctl enable ntpd --now

安装Ceph部署工具

在主管理节点(如ceph-node1)执行:

  1. 添加Ceph仓库并安装ceph-deploy

    bash 复制代码
    wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -
    echo "deb https://download.ceph.com/debian-{ceph-stable-release}/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/ceph.list
    apt-get update && apt-get install -y ceph-deploy

    (CentOS使用yum install -y ceph-deploy

初始化Ceph集群

  1. 创建集群目录并初始化配置:

    bash 复制代码
    mkdir ~/ceph-cluster && cd ~/ceph-cluster
    ceph-deploy new ceph-node1 ceph-node2 ceph-node3
  2. 编辑ceph.conf配置文件,追加以下内容:

    ini 复制代码
    osd_pool_default_size = 3
    osd_pool_default_min_size = 1
    public_network = {你的公共网络CIDR}
    cluster_network = {你的集群网络CIDR}
  3. 安装Ceph软件包到所有节点:

    bash 复制代码
    ceph-deploy install ceph-node1 ceph-node2 ceph-node3

部署Monitor服务

在主节点执行:

bash 复制代码
ceph-deploy mon create-initial
ceph-deploy admin ceph-node1 ceph-node2 ceph-node3

配置OSD存储

  1. 列出所有节点的磁盘:

    bash 复制代码
    ceph-deploy disk zap ceph-node1 /dev/sdb
    ceph-deploy disk zap ceph-node2 /dev/sdb
    ceph-deploy disk zap ceph-node3 /dev/sdb
  2. 创建OSD(假设sdb为数据盘,sdc为日志盘):

    bash 复制代码
    ceph-deploy osd create --data /dev/sdb --journal /dev/sdc ceph-node1
    ceph-deploy osd create --data /dev/sdb --journal /dev/sdc ceph-node2
    ceph-deploy osd create --data /dev/sdb --journal /dev/sdc ceph-node3

验证集群状态

执行以下命令检查集群健康状态:

bash 复制代码
ssh ceph-node1 "ceph -s"

输出中应显示HEALTH_OK,且所有OSD和Monitor均在线。

扩展功能(可选)

  • 部署MDS服务支持CephFS:

    bash 复制代码
    ceph-deploy mds create ceph-node1
  • 创建存储池和块设备:

    bash 复制代码
    ceph osd pool create rbd_pool 128
    rbd create myimage --size 1024 --pool rbd_pool

注意事项

  • 生产环境建议分离public_networkcluster_network以提高性能。
  • OSD日志盘建议使用SSD以降低延迟。
  • 若使用虚拟机测试,确保每节点至少2核CPU和4GB内存。

通过以上步骤,一个基础的Ceph三节点集群即部署完成。后续可根据需求扩展节点或调整CRUSH map优化数据分布。

相关推荐
独行侠影a8 小时前
APScheduler+Redis 分布式定时任务:解决多实例任务重复执行
数据库·redis·分布式
香菜TTT10 小时前
Kafka_深度解析_从架构原理到生产实践
分布式·架构·kafka·linq
zcmodeltech15 小时前
智能矿井沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的感知-传输-控制一体化方案
服务器·数据库·分布式·stm32·单片机·嵌入式硬件
wWYy.16 小时前
基于Raft分布式Kv存储:RPC调用
分布式·rpc
笨蛋不要掉眼泪17 小时前
RabbitMQ消息队列:SpringAMQP
java·分布式·rabbitmq
发量惊人的中年网工17 小时前
SD-WAN如何赋能工业物联网?打造工厂网络远程连接和数据传输新方案
运维·网络·分布式·物联网
段一凡-华北理工大学18 小时前
AI推动工业智能化转型~系列文章05:特征工程:工业 AI 的第一生产力
数据库·人工智能·分布式·搜索引擎·特征工程·高炉智能化
斯普润布特19 小时前
Kafka KRaft 三节点 ARM64 Docker 部署
分布式·kafka
笨蛋不要掉眼泪19 小时前
RabbitMQ消息队列:交换机机制
java·分布式·rabbitmq
zcmodeltech19 小时前
智慧农业沙盘模型物联网控制系统设计:基于STM32与Modbus RTU的传感器-执行器闭环方案
服务器·分布式·stm32·嵌入式硬件·物联网·能源