在现有 Ceph 集群搭建 S3 对象存储 ceph集群搭建ceph集群搭建-CSDN博客一、在 Dashboard 创建 RGW 服务核心开启 S3 能力创建完成回到 Services 列表看到 rgw 行「正在运行」列显示 3/3 即部署完成补充命令行备用界面异常时用# 一键部署3实例RGWcephadm shell ceph orch apply rgw s3 default --replicas3# 查看rgw状态cephadm shell ceph orch ps | grep rgw二、验证 RGW 服务端口连通所有客户端 / 应用访问 S3 地址格式http://任意集群节点IP:7480本地浏览器 / Postman 访问http://节点IP:7480返回 XML 说明 RGW 正常工作三、创建 S3 访问用户获取 AccessKey/SecretKeyRGW 部署完成后左侧菜单栏出现对象网关菜单所有 S3 账号、桶都在这里管理1、创建用户左侧点击【对象网关】→【用户】→【创建用户】2、查看密钥用户创建完成点击用户展开显示里面获取密钥命令行创建用户备用cephadm shell radosgw-admin user create --uidlzx-s3 --display-namelzx-s3查看密钥cephadm shell radosgw-admin user info --uidlzx-s3四、创建 S3 存储桶 Bucket进入「对象网关」→「存储桶」→「创建存储桶」参数配置桶名称全小写字母 / 数字 / 横线全局唯一所有者选择上一步创建的S3 用户可选配置对象锁定、访问策略测试环境直接跳过五、MinIO 客户端 mc1、下载二进制# AMD64 x86服务器通用wget https://dl.min.io/client/mc/release/linux-amd64/mc# 赋予执行权限chmod x mc# 移动到系统全局命令目录mv mc /usr/local/bin/2、添加你的 Ceph S3 集群别名关键步骤替换下面参数ceph-s3自定义集群别名http://192.168.234.129:7480你的 RGW 地址AccessKeydashboard 密钥页拿到的公钥SecretKey密钥私钥mc alias set ceph-s3 http://192.168.234.129:7480 AccessKey SecretKey3、常用测试命令#安装mcwget https://dl.min.io/client/mc/release/linux-amd64/mc -O /usr/bin/mcchmod x /usr/bin/mc# 创建S3用户radosgw-admin user create --uidlzx-user --display-name业务用户# 查询用户AK/SKradosgw-admin user info --uidlzx-user# 重置密钥radosgw-admin key create --uidlzx-user --key-types3# 禁用/启用用户radosgw-admin user suspend --uidlzx-userradosgw-admin user enable --uidlzx-user#配置你的 Ceph S3 网关s3用户的AK/SKmc alias set cephs3 http://192.168.234.135:8082 你的AccessKey 你的SecretKey# 查看所有桶mc ls ceph-s3# 创建桶mc mb ceph-s3/test-bucket# 上传本地文件到桶mc cp /tmp/test.txt ceph-s3/test-bucket/#查看文件mc ls ceph-s3/test-s3# 下载文件到本地mc download ceph-s3/test-bucket/test.txt ./# 删除文件mc rm ceph-s3/test-bucket/test.txt# 本地目录同步到S3新增文件上传本地删的不删S3mc mirror /tmp/db-backup ceph-s3/test-s3/db-backup# 双向同步两边文件保持一致mc mirror --watch /tmp/db-backup ceph-s3/test-s3/db-backup# 删除S3上本地已不存在的旧文件mc mirror --remove /tmp/db-backup ceph-s3/test-s3/db-backup# 删除单个文件mc rm ceph-s3/test-s3/test.txt# 递归删除虚拟文件夹内全部文件mc rm --recursive ceph-s3/test-s3/tmp/# 删除30天前的文件定时清理备份mc rm --older-than 30d ceph-s3/test-s3/backup/# 桶内重命名文件mc mv ceph-s3/test-s3/a.txt ceph-s3/test-s3/b.txt# 文件移动到另一个桶mc mv ceph-s3/test-s3/a.txt ceph-s3/other-bucket/# 移动整个虚拟目录mc mv --recursive ceph-s3/test-s3/tmp ceph-s3/test-s3/old-tmp#stat 查看文件元数据大小、修改时间、存储类型mc stat ceph-s3/test-s3/test.txt#cat 直接读取文件内容不用下载mc cat ceph-s3/test-s3/test.txt# 查找桶内所有txt文件mc find ceph-s3/test-s3 --name *.txt# 查找100MB以上大文件mc find ceph-s3/test-s3 --larger 100M# 查找7天前旧备份并删除mc find ceph-s3/test-s3/backup --older 7d --delete#设置生命周期自动删除过期文件示例30 天自动删除桶内所有文件mc ilm rule add --expire-days 30 ceph-s3/test-s3# 查看生命周期规则mc ilm rule list ceph-s3/test-s3#清理 30 天前备份mc find ceph-s3/test-s3/db-backup --older 30d --delete#数据库备份上传 打包数据库tar zcf /tmp/mysql-$(date %Y%m%d).tar.gz /var/lib/mysql# 上传到S3带日期命名mc cp /tmp/mysql-$(date %Y%m%d).tar.gz ceph-s3/test-s3/db-backup/# 删除本地临时包rm -f /tmp/mysql-*.tar.gz六、可视化网页1、安装Stowage单二进制 S3 网页控制台Stowage适配 Ceph RGW# 下载linux amd64版本wget https://github.com/Stowage-Dev/stowage/releases/latest/download/stowage-linux-amd64chmod x stowage-linux-amd64#生成合规 32 字节 64 位十六进制密钥openssl rand -hex 32#环境变量STOWAGE_SECRET_KEYexport STOWAGE_SECRET_KEYdeac0b906cf7fa75ca5b08dbae31496953e12d188a9302471457d01a8e434578#后台启动nohup ./stowage-linux-amd64 serve stowage.log 21 #创建后台管理员账号服务器执行./stowage-linux-amd64 create-admin --username admin --password admin12345672、Stowage关联S3添加 Backend 页面参数Regiondefault勾选 Path-style addressingEndpointhttp://192.168.234.129:7480七、Ceph S3 (RGW) 负载均衡RGW 无状态所有 7480 端口 RGW 实例共享同一套桶、用户、对象数据任意节点处理 S3 读写结果完全一致天然支持负载分发。底层数据统一存在 Ceph OSD负载均衡只做HTTP 请求转发不复制文件。3台节点全部部署RGW端口都是7480需要统一入口对外提供S3服务。cephadm 内置 Ingress 服务一键部署 HAProxyKeepalived自动在 3 节点部署 HAProxy、虚拟 VIP 故障转移1. 先部署多节点 RGW3 台都开启 7480# 创建rgw服务3节点各跑1个网关ceph orch apply rgw rgw.rgw-1 --placement3 ceph-node1 ceph-node2 ceph-node3# 验证rgw进程ceph orch ps --daemon-type rgw2. 编写 ingress 配置文件 ingress-rgw.yamlservice_type: ingressservice_id: rgw.rgw-1placement:hosts:- ceph-node1- ceph-node2- ceph-node3spec:backend_service: rgw.rgw-1virtual_ip: 192.168.234.135/24frontend_port: 8082monitor_port: 19673. 一键部署负载均衡ceph orch apply -i ingress-rgw.yaml4. 访问方式所有业务 S3 SDK 统一连接 VIPhttp://192.168.234.135HAProxy 自动轮询分发到node1:7480 / node2:7480 / node3:7480Keepalived 监控VIP 自动飘移单节点宕机无感知切换5、测试#配置你的 Ceph S3 网关s3用户的AK/SKmc alias set cephs3 http://192.168.234.135:8082 你的AccessKey 你的SecretKey#上传文件mc cp 6dc3f8138b78006d96817858e6fe0f26~tplv-be4g95zd3a-image.jpeg cephs3/test-s3/#查看文件mc ls cephs3/test-s3#查看stowage可视化页面

相关新闻

最新新闻

Python脚本打包EXE与SHA-1验证实战:从开发到分发的完整指南

Python脚本打包EXE与SHA-1验证实战:从开发到分发的完整指南

1. 项目概述:从脚本到独立工具的全链路实践最近在技术社区和项目协作中,经常遇到一个高频需求:如何将一个用Python写的、方便自己用的小工具,打包成一个独立的、可以发给没有Python环境的同事或朋友直接双击运行的.exe文件&#x…

2026/7/16 5:05:31
CSGO游戏录播系统开发:视频采集与弹幕集成技术详解

CSGO游戏录播系统开发:视频采集与弹幕集成技术详解

这次来看一个CSGO游戏录播项目,重点是分析如何通过技术手段实现游戏内容的录制、弹幕集成和状态监控。对于想要学习游戏技术或制作游戏内容的开发者来说,这类项目涉及视频采集、实时数据处理和批量任务处理等多个技术环节。从项目标题可以看出&#xff0…

2026/7/16 5:05:31
时空大数据厂商深度解析:不同规模企业的地址服务选型思路

时空大数据厂商深度解析:不同规模企业的地址服务选型思路

地址解析服务的应用场景覆盖从中小商家到大型政企的各类主体,不同规模的企业在成本预算、功能需求、安全要求上存在明显差异,选型时的侧重点也各不相同。在当前的时空大数据服务市场中,丰图科技搭建了从在线 API 到私有化部署的完整服务矩阵,能够匹配不同层级客户的地址服务需求…

2026/7/16 5:05:31
ChatGPT Work浏览器功能详解:AI智能体实现工作流自动化

ChatGPT Work浏览器功能详解:AI智能体实现工作流自动化

ChatGPT Work 最新推出的云端浏览器与桌面浏览器功能,标志着 AI 智能体从纯对话助手向实际工作执行者的重大跨越。这次更新让 ChatGPT 能够直接在浏览器环境中操作网页工具、处理在线文件,并在桌面端跨应用执行点击、输入、文件管理等任务,真…

2026/7/16 5:05:31
GitHub Copilot Token计费:AI开发成本精细化管理指南

GitHub Copilot Token计费:AI开发成本精细化管理指南

1. 这不是涨价通知,是AI开发范式的分水岭GitHub Copilot从6月起全面转向Token计费,这件事表面看是账单数字跳动,实则标志着开发者与AI协作方式的根本性重构。我用Copilot三年,从最早在VS Code里敲出第一行补全代码,到后…

2026/7/16 5:05:31
C++与Python图像处理混合编程:PyBind11实战与性能优化

C++与Python图像处理混合编程:PyBind11实战与性能优化

1. 项目概述:为什么要在图像处理中混合C与Python?在图像处理和计算机视觉领域,我们常常面临一个经典的“两难”选择:是追求极致的执行效率,还是拥抱快速的开发迭代?C以其无与伦比的性能和对硬件底层的直接操…

2026/7/16 5:00:30

月新闻