1643 字
8 分钟
Ceph练习-文件系统
基础概念
- Monitors: Ceph 监视器 (
ceph-mon) 维护集群状态的映射,包括监视器映射 、管理器映射、OSD 映射、MDS 映射和 CRUSH 映射 - Managers: Ceph Manager 守护程序 (
ceph-mgr) 负责跟踪运行时指标和 Ceph 集群的当前状态,包括存储利用率、当前性能指标和系统负载 - Ceph OSD:对象存储守护进程(Ceph OSD,
ceph-osd)存储数据,处理数据复制、恢复、重新平衡,并通过检查其他 Ceph OSD 守护进程的检测信号向 Ceph 监视器和管理器提供一些监控信息。通常至少需要三个 Ceph OSD 才能实现冗余和高可用性。 - MDSes:Ceph 元数据服务器 (MDS、
ceph-mds)存储 Ceph 文件系统的元数据。Ceph 元数据服务器允许 CephFS 用户运行基本命令(如ls、find等),而不会给 Ceph 存储集群带来负担。 - RGW:Ceph 对象网关 (RGW,
ceph-radosgw)守护进程在应用程序和 Ceph 存储集群之间提供 RESTful 网关。S3 兼容的 API 是最常用的,但 Swift 也可用。
前期操作
主机信息
三台Rocky9虚拟机,每台主机2c2g20g,另每台挂载20G空硬盘
| 主机名 | IP地址 |
|---|---|
| ceph-7 | 192.168.200.7 |
| ceph-8 | 192.168.200.8 |
| ceph-9 | 192.168.200.9 |
用户名
hostnamectl set-hostname ceph-7主机host文件
echo -e '192.168.200.7\tceph-7\n192.168.200.8\tceph-8\n192.168.200.9\tceph-9' >> /etc/hosts固定IP
nmcli connection modify enp1s0 ipv4.method manual ipv4.addresses 192.168.200.7/24 ipv4.gateway 192.168.200.1 ipv4.dns "223.9.9.9,119.29.29.29" autoconnect yes
nmcli connection up enp1s0关闭Selinux
setenforce 0;sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config时间同步
sed -i 's/^pool.*/pool cn.ntp.org.cn iburst/' /etc/chrony.conf ; systemctl restart chronyd检查时间同步
root@ceph-8:~# chronyc sourcesMS Name/IP address Stratum Poll Reach LastRx Last sample===============================================================================^? 58.220.133.132 0 6 0 - +0ns[ +0ns] +/- 0ns关闭防火墙
systemctl disable --now firewalld.service开启root SSH登陆
sed -i 's/^#PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config ; systemctl restart sshd国内镜像源
sed -e 's|^mirrorlist=|#mirrorlist=|g' \ -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.ustc.edu.cn/rocky|g' \ -i.bak \ /etc/yum.repos.d/rocky*配置HTTP和HTTPS代理
主要目的方便后便下载镜像
国内免费的镜像加速速度太感人了,都爬一边去
直接设置Rock走科学工具的http代理
容器下载速度由你的科学上网工具决定
我的电脑是Linux,window直接跳过防火墙这个操作
- firewalld放开virbr1的源地址访问public区域
# 立即放行源地址为QEMU NAT网卡的网段sudo firewall-cmd --zone=public --add-source=192.168.200.0/24# 防火墙持久化sudo firewall-cmd --zone=public --add-source=192.168.200.0/24 --permanent- 在虚拟机上设置HTTP和HTTPS代理
echo -e "export http_proxy=http://192.168.200.1:65500\nexport https_proxy=http://192.168.200.1:65500" >> /etc/profile ; source /etc/profile安装Ceph
IMPORTANT仅在主节点ceph-7上操作
# 安装ceph源dnf install -y centos-release-ceph-squid# 安装cephadmdnf install -y cephadm
# jinja2依赖dnf install python3-jinja2
# 安装cephadmin install
# 安装管理面板cephadm bootstrap --mon-ip 192.168.200.7
URL: https://ceph-7:8443/ User: admin Password: qj0ponlenl# ceph8、ceph-9免登陆ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph-8ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph-9Ceph管理面板
添加主机
面板: Cluster/主机下添加,主机名+IP地址+标签:_admin
添加OSD存储(Object Storage Daemon)
-
面板:
Cluster/OSD- 如果osd添加不成功,检查一下哪个VM的容器状态
-
命令行操作
- 我虚拟机搞的Rocky10,Ceph现在才支持到Rocky9
- ceph命令只能在cephadm shell中使用,也就隔层docker使用命令
- 你可以直接安装ceph-common包使用ceph命令
cephadm shell -- ceph orch daemon add osd ceph-8:/dev/vdb创建文件系统
- 面板添加:
File/文件系统 - 命令添加
cephadm shell -- ceph fs volume create cephfs宿主机挂载cephfs
- mount命令挂载
# 创建挂载点sudo mkdir /mnt/ceph
# 查看ceph-7上的ceph.client.admin.keyringroot@ceph-7:~# cat /etc/ceph/ceph.client.admin.keyring[client.admin] key = AQAjjvNonkdlFRAAMJFkfHEmwP1/Ne2xA05ILQ== caps mds = "allow *" caps mgr = "allow *" caps mon = "allow *" caps osd = "allow *"
# 在宿主机上挂载ceph,通过secret认证方式sudo mount -t ceph 192.168.200.7:/ /mnt/ceph \-o name=admin,secret=AQAjjvNonkdlFRAAMJFkfHEmwP1/Ne2xA05ILQ==
# 检查挂载结果[root@Arch-8845 lee]# df -h /mnt/ceph/文件系统 大小 已用 可用 已用% 挂载点192.168.200.7:/ 19G 0 19G 0% /mnt/ceph
# 复制ceph-7上的ceph.client.admin.keyring[root@Arch-8845 lee]#scp root@ceph-7:/etc/ceph/* /etc/ceph
# 设置开机挂载[root@Arch-8845 lee]# vim /etc/fstab
192.168.200.7:/ /mnt/cephfs ceph name=admin,secretfile=/etc/ceph/ceph.client.admin.keyring,_netdev 0 0删除文件系统
检查文件系统信息
root@ceph-7:~# cephadm shell -- ceph fs statusInferring fsid 8ea7ba22-ac21-11f0-b2c2-525400e13a2bInferring config /var/lib/ceph/8ea7ba22-ac21-11f0-b2c2-525400e13a2b/mon.ceph-7/configUsing ceph image with id 'aade1b12b8e6' and tag 'v19' created on 2025-07-17 19:53:27 +0000 UTCquay.io/ceph/ceph@sha256:af0c5903e901e329adabe219dfc8d0c3efc1f05102a753902f33ee16c26b6ceecephfs - 0 clients====== POOL TYPE USED AVAILcephfs.cephfs.meta metadata 1935k 18.9Gcephfs.cephfs.data data 99.4M 18.9G STANDBY MDScephfs.ceph-9.quvzuhMDS version: ceph version 19.2.3 (c92aebb279828e9c3c1f5d24613efca272649e62) squid (stable)关闭文件系统
cephadm shell -- ceph fs set cephfs down true删除文件系统
cephadm shell -- ceph fs rm cephfs --yes-i-really-mean-it设置mon允许删除pool
- 命令行
cephadm shell -- ceph config set mon mon_allow_pool_delete true- 图形界面
Administration/配置/mon_allow_pool_delete- 编辑
删除pool
# 首先删除metadata pool# 注意: 需要重复输入 metadata pool 的名字一次# 后跟 -yes-i-really-really-mean-it 参数
root@ceph-7:~# cephadm shell -- ceph osd pool delete cephfs.cephfs.meta cephfs.cephfs.meta --yes-i-really-really-mean-itInferring fsid 8ea7ba22-ac21-11f0-b2c2-525400e13a2bInferring config /var/lib/ceph/8ea7ba22-ac21-11f0-b2c2-525400e13a2b/mon.ceph-7/configUsing ceph image with id 'aade1b12b8e6' and tag 'v19' created on 2025-07-17 19:53:27 +0000 UTCquay.io/ceph/ceph@sha256:af0c5903e901e329adabe219dfc8d0c3efc1f05102a753902f33ee16c26b6ceepool 'cephfs.cephfs.meta' removed
# 重复上边步骤删除data poolroot@ceph-7:~# cephadm shell -- ceph osd pool delete cephfs.cephfs.data cephfs.cephfs.data --yes-i-really-really-mean-itInferring fsid 8ea7ba22-ac21-11f0-b2c2-525400e13a2bInferring config /var/lib/ceph/8ea7ba22-ac21-11f0-b2c2-525400e13a2b/mon.ceph-7/configUsing ceph image with id 'aade1b12b8e6' and tag 'v19' created on 2025-07-17 19:53:27 +0000 UTCquay.io/ceph/ceph@sha256:af0c5903e901e329adabe219dfc8d0c3efc1f05102a753902f33ee16c26b6ceepool 'cephfs.cephfs.data' removed清除 Ceph 存储集群
先查找monitor的fsid,然后cephadm删除集群
cephadm lsccephadm rm-cluster --force --zap-osds --fsid FSID回顾一下
ceph-7的ceph状态
root@ceph-7:~# cephadm shell -- ceph -sInferring fsid 8ea7ba22-ac21-11f0-b2c2-525400e13a2bInferring config /var/lib/ceph/8ea7ba22-ac21-11f0-b2c2-525400e13a2b/mon.ceph-7/configUsing ceph image with id 'aade1b12b8e6' and tag 'v19' created on 2025-07-17 19:53:27 +0000 UTCquay.io/ceph/ceph@sha256:af0c5903e901e329adabe219dfc8d0c3efc1f05102a753902f33ee16c26b6cee cluster: id: 8ea7ba22-ac21-11f0-b2c2-525400e13a2b health: HEALTH_OK
services: mon: 3 daemons, quorum ceph-7,ceph-8,ceph-9 (age 4h) mgr: ceph-7.popbkv(active, since 4h), standbys: ceph-8.kfvcoz osd: 3 osds: 3 up (since 4h), 3 in (since 19h)
data: pools: 1 pools, 1 pgs objects: 2 objects, 449 KiB usage: 150 MiB used, 60 GiB / 60 GiB avail pgs: 1 active+cleanceph-7起的容器
root@ceph-7:~# podman psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES2bd4fd6a483a quay.io/ceph/ceph@sha256:7c69e59beaeea61ca714e71cb84ff6d5e533db7f1fd84143dd9ba6649a5fd2ec -n client.ceph-ex... 3 hours ago Up 3 hours ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-ceph-exporter-ceph-742d120151789 quay.io/ceph/ceph:v19 -n mon.ceph-7 -f ... 3 hours ago Up 3 hours ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-mon-ceph-7a5db98112a20 quay.io/ceph/grafana:10.4.0 3 hours ago Up 3 hours 3000/tcp ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-grafana-ceph-70e72941a5b4e quay.io/prometheus/alertmanager:v0.25.0 --cluster.listen-... 3 hours ago Up 3 hours 9093/tcp ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-alertmanager-ceph-7324cb5c52e12 quay.io/ceph/ceph:v19 -n mgr.ceph-7.pop... 3 hours ago Up 3 hours ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-mgr-ceph-7-popbkv2576ba3a904c quay.io/prometheus/node-exporter:v1.7.0 --no-collector.ti... 3 hours ago Up 3 hours 9100/tcp ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-node-exporter-ceph-787a65a93a7e8 quay.io/ceph/ceph@sha256:7c69e59beaeea61ca714e71cb84ff6d5e533db7f1fd84143dd9ba6649a5fd2ec -n client.crash.c... 3 hours ago Up 3 hours ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-crash-ceph-7138a1a3f1661 quay.io/prometheus/prometheus:v2.51.0 --config.file=/et... 3 hours ago Up 3 hours 9090/tcp ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-prometheus-ceph-79f1c39b13add quay.io/ceph/ceph@sha256:7c69e59beaeea61ca714e71cb84ff6d5e533db7f1fd84143dd9ba6649a5fd2ec -n osd.2 -f --set... 3 hours ago Up 3 hours ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-osd-2ceph-8起的容器
root@ceph-8:~# podman psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESe7c63143d5e5 quay.io/ceph/ceph@sha256:7c69e59beaeea61ca714e71cb84ff6d5e533db7f1fd84143dd9ba6649a5fd2ec -n client.ceph-ex... 3 hours ago Up 3 hours ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-ceph-exporter-ceph-8827ce0470b9f quay.io/ceph/ceph@sha256:7c69e59beaeea61ca714e71cb84ff6d5e533db7f1fd84143dd9ba6649a5fd2ec -n client.crash.c... 3 hours ago Up 3 hours ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-crash-ceph-8ea52e1f8c1fd quay.io/ceph/ceph@sha256:7c69e59beaeea61ca714e71cb84ff6d5e533db7f1fd84143dd9ba6649a5fd2ec -n mgr.ceph-8.kfv... 3 hours ago Up 3 hours ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-mgr-ceph-8-kfvcoz9cb61bec9b9c quay.io/ceph/ceph@sha256:7c69e59beaeea61ca714e71cb84ff6d5e533db7f1fd84143dd9ba6649a5fd2ec -n mon.ceph-8 -f ... 3 hours ago Up 3 hours ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-mon-ceph-8741980f745ec quay.io/prometheus/node-exporter:v1.7.0 --no-collector.ti... 3 hours ago Up 3 hours 9100/tcp ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-node-exporter-ceph-8edee9219656d quay.io/ceph/ceph@sha256:7c69e59beaeea61ca714e71cb84ff6d5e533db7f1fd84143dd9ba6649a5fd2ec -n osd.0 -f --set... 3 hours ago Up 3 hours ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-osd-0ceph-9起的容器
root@ceph-9:~# podman psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES014b52e4470c quay.io/ceph/ceph@sha256:7c69e59beaeea61ca714e71cb84ff6d5e533db7f1fd84143dd9ba6649a5fd2ec -n mds.cephfs.cep... 3 hours ago Up 3 hours ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-mds-cephfs-ceph-9-quvzuhe86e094c6a6f quay.io/prometheus/node-exporter:v1.7.0 --no-collector.ti... 3 hours ago Up 3 hours 9100/tcp ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-node-exporter-ceph-944a51e3f2d4e quay.io/ceph/ceph@sha256:7c69e59beaeea61ca714e71cb84ff6d5e533db7f1fd84143dd9ba6649a5fd2ec -n client.ceph-ex... 3 hours ago Up 3 hours ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-ceph-exporter-ceph-9c0041f22227c quay.io/ceph/ceph@sha256:7c69e59beaeea61ca714e71cb84ff6d5e533db7f1fd84143dd9ba6649a5fd2ec -n client.crash.c... 3 hours ago Up 3 hours ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-crash-ceph-91f0b31944fa4 quay.io/ceph/ceph@sha256:7c69e59beaeea61ca714e71cb84ff6d5e533db7f1fd84143dd9ba6649a5fd2ec -n mon.ceph-9 -f ... 3 hours ago Up 3 hours ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-mon-ceph-946ee87c8d3fe quay.io/ceph/ceph@sha256:7c69e59beaeea61ca714e71cb84ff6d5e533db7f1fd84143dd9ba6649a5fd2ec -n osd.1 -f --set... 3 hours ago Up 3 hours ceph-8ea7ba22-ac21-11f0-b2c2-525400e13a2b-osd-1参考资料
网络文档
Ceph介绍
Ceph安装
https://docs.ceph.com/en/reef/cephadm/install/#cephadm-deploying-new-cluster
stackoverflow
4.12. 使用命令行界面删除 Ceph 文件系统
3.23. 清除 Ceph 存储集群
Rocky Linux - USTC Mirror Help