努力挣扎的生活 努力挣扎的生活
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 运维基础
  • 监控
  • 日志系统
  • 安全记录
  • 分布式存储
  • gitlab安装
  • jenkins安装和管理
  • Jenkins工具集成
  • pipeline流水线
  • Docker
  • Kubernetes
  • Nexus
  • Rancher
  • Prometheus
  • ELK(EFK)
  • 虚拟化
  • Mysql
  • PostgreSQL
  • Redis
  • MongoDB
  • clickhouse
关于
  • 分类
  • 标签
  • 归档
  • 收藏
  • 更多
GitHub (opens new window)

yangfk

瑟瑟发抖的小运维
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 运维基础
  • 监控
  • 日志系统
  • 安全记录
  • 分布式存储
  • gitlab安装
  • jenkins安装和管理
  • Jenkins工具集成
  • pipeline流水线
  • Docker
  • Kubernetes
  • Nexus
  • Rancher
  • Prometheus
  • ELK(EFK)
  • 虚拟化
  • Mysql
  • PostgreSQL
  • Redis
  • MongoDB
  • clickhouse
关于
  • 分类
  • 标签
  • 归档
  • 收藏
  • 更多
GitHub (opens new window)
  • 运维基础

  • 监控

  • 日志系统

  • 安全记录

  • 分布式存储

    • minio分布式文件存储
    • cephadm部署分布式存储
      • 安装cephadm
      • cephadm部署集群
        • 初始化ceph集群
        • 拷贝ceph公钥文件
        • 添加主机
        • 添加mon服务
        • 添加mgr节点
        • 配置osd存储
        • 配置mds
        • 挂载ceph块存储到服务器
        • 清理集群
        • ceph异常crash
      • 其他
//
  • 运维
  • 分布式存储
yangfk
2025-05-30

cephadm部署分布式存储

//

# cephadm部署分布式存储

官网:https://docs.ceph.com/en/latest/releases/

ceph版本选择:https://docs.ceph.com/en/latest/start/os-recommendations/

安装手册:https://docs.ceph.com/en/latest/cephadm/install/#requirements

配置说明

操作系统:ubuntu22.04

服务器 说明
10.150.100.21 ceph21 mon,mgr,osd
10.150.100.22 ceph22 mon,mgr,osd
10.150.100.23 ceph32 mon,mgr,osd
  • 前期准备

      时间同步服务
      硬盘:/dev/sdb
      拷贝ssh密钥,三台互连
      配置hosts解析
    
cat /etc/hosts
10.150.100.21 ceph21
10.150.100.22 ceph22
10.150.100.23 ceph32
1
2
3
4

# 安装cephadm

CEPH_RELEASE=18.2.7
curl -o /usr/local/bin/cephadm  --location https://download.ceph.com/rpm-${CEPH_RELEASE}/el9/noarch/cephadm
chmod +x /usr/local/bin/cephadm
1
2
3

# cephadm部署集群

操作服务器:10.150.100.21

# 初始化ceph集群

cephadm bootstrap --mon-ip 10.150.100.21 --initial-dashboard-user cephMon --initial-dashboard-password yfklife@pass --cluster-network 10.150.100.0/24 --skip-pull

集群网络(ceph集群内部通讯):--cluster-network 10.150.100.0/24
公共网络(外部服务访问集群): --public-network 10.150.100.0/24
指定本地镜像源:--image docker.1ms.run/ceph/ceph
  • 安装ceph命令

apt install -y ceph-common

  • 查看状态

ceph -s

# 拷贝ceph公钥文件

拷贝配置公钥:

#cat /etc/ceph/ceph.pub >>/root/.ssh/authorized_keys
ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph21
ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph22
ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph23
1
2
3
4

# 添加主机

添加主机部署文档 (opens new window)

ceph orch host add ceph21  10.150.100.21
ceph orch host add ceph22  10.150.100.22
1
2
  • 查看主机

ceph orch host ls

  • 移除主机(需要移除mgr,mon,osd相关服务)
ceph orch host drain *<host>*
ceph orch host rm *<host>*
1
2

# 添加mon服务

高可用mon服务,节点数 N/2

mon服务部署文档 (opens new window)

  • 调整公网命令

ceph config set mon public_network 10.150.100.0/24

  • 添加mon节点
ceph orch apply mon --unmanaged
ceph orch daemon add mon ceph22:10.150.100.22
ceph orch daemon add mon ceph23:10.150.100.23
1
2
3
  • 查看daemon

ceph orch ps --daemon-type mon

# 添加mgr节点

初始化集群的时候会默认创建一个mgr服务

ceph orch apply mgr --placement="ceph21,ceph22,ceph23"

一般上面的命令会创建mgr,但不知道原因,某些情况不会创建mgr服务,可以通过以下命令添加mgr(重复执行会创建多个,不知道会有什么影响)

ceph orch daemon add mgr ceph21
ceph orch daemon add mgr ceph22
ceph orch daemon add mgr ceph23
1
2
3
  • 查看mgr

ceph orch ps --daemon-type mgr

  • 删除多余的daemon mgr

ceph orch daemon rm <NAME ID>

# 配置osd存储

mon服务部署文档 (opens new window)

  • 显示集群中所有主机的存储设备清单

ceph orch device ls

ceph orch daemon add osd ceph21:/dev/sdb
ceph orch daemon add osd ceph22:/dev/sdb
ceph orch daemon add osd ceph23:/dev/sdb
1
2
3
  • 移除osd
ceph orch apply osd --all-available-devices --unmanaged=true
ceph orch device ls
ceph orch osd rm <DEVICE ID(s)> [--replace] [--force]

ceph orch apply osd --all-available-devices --unmanaged=false

#查看移除osd状态
ceph orch osd rm status
1
2
3
4
5
6
7
8

# 配置mds

  • 创建一个clickhouseData卷,副本数3个

ceph fs volume create clickhouseData --placement="label:mds"

ceph orch apply mds clickhouseData --placement="3 ceph21 ceph22 ceph23"

ceph orch ps --daemon-type mds
1
2
3
4
5
6
  • 查看所有的 keyring

ceph auth list

# 挂载ceph块存储到服务器

  • admin keyring

cat /etc/ceph/ceph.client.admin.keyring |grep key

  • 手动挂载
mount -t ceph 10.150.100.21:6789:/ /data/ceph/ -o name=admin,secret=AQBkpSpoeJVzFRAAg9OWFdl9n4hTPKj0zpWUQw==
1
  • 添加开机自动挂载
echo '10.150.100.21:6789:/ /data/ceph/ ceph name=admin,secret=AQBkpSpoeJVzFRAAg9OWFdl9n4hTPKj0zpWUQw== 0 0' >> /etc/fstab
1

# 清理集群

ceph orch pause
cephadm rm-cluster --force --fsid  $(ceph fsid)

systemctl status ceph-TAB键补全
systemctl disable ceph-TAB键补全  --now
1
2
3
4
5
  • 确保数据已经做好备份
#清理磁盘
DISK="/dev/sdb"
# 将磁盘切换到全新的可用状态(zap-all 很重要,b/c MBR 必须干净),您必须对所有磁盘运行此步骤。
sgdisk --zap-all $DISK
dd if=/dev/zero of="$DISK" bs=1M count=100 oflag=direct,dsync
blkdiscard $DISK
partprobe $DISK
1
2
3
4
5
6
7

# ceph异常crash


查看所有的crash: ceph crash ls
查看最新的crash: ceph crash ls-new


root@ceph21:~# ceph crash ls
ID                                                                ENTITY                    NEW
2025-05-19T03:34:02.664554Z_2816a9b9-05de-441c-be48-21bed814eefd  mgr.ceph21.urwnpb

清理单个:ceph crash archive <crash-id>
清理所有的crash: ceph crash archive-all

1
2
3
4
5
6
7
8
9
10
11
12

# 其他

ceph orch apply prometheus
ceph orch apply grafana
ceph orch apply node-exporter
ceph orch apply alertmanager
1
2
3
4
  • 查看集群信息
ceph -s
ceph config dump
ceph osd ls
ceph osd status
ceph osd df
1
2
3
4
5
//
如果此文章对您有帮助,点击 -->> 请博主喝咖啡 (opens new window)
上次更新: 2025/06/20, 11:34:25
minio分布式文件存储

← minio分布式文件存储

最近更新
01
nginx之resolver解析
06-19
02
istio服务组件
04-23
03
istio部署
04-18
更多文章>
Theme by Vdoing | Copyright © 2019-2025 yangfk | 湘ICP备2021014415号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×
//