利用shell脚本一键查询ceph中bucket桶的占用大小

在 Ceph 对象存储中(例如使用 RADOS Gateway 提供的 Swift 或 S3 接口),你可能需要了解某个桶(bucket)的占用大小。

以下是如何在 Ceph 中查看桶的占用大小的方法:

1. 使用 radosgw-admin 工具

radosgw-admin 是 Ceph 提供的命令行工具,用于管理和查看 RADOS Gateway(RGW)的对象存储数据。要查看桶的大小,你可以使用 radosgw-admin 工具的 bucket stats 子命令。

1.1 查看桶的统计信息

复制代码
radosgw-admin bucket stats --bucket=<bucket-name>

将 替换为你要查询的桶的名称。该命令会显示桶的统计信息,包括桶中对象的数量、总大小等。

示例:

复制代码
radosgw-admin bucket stats --bucket=my-bucket

输出示例(简化):

{
    "bucket": "my-bucket",
    "object_count": 1234,
    "size_kb": 567890
}
其中,size_kb 表示桶的总大小(以千字节为单位)。

2. 使用 S3 API

如果你通过 S3 API 访问 Ceph 的对象存储,可以使用 S3 的 API 请求来获取桶的大小信息。

2.1 使用 s3cmd 工具

s3cmd 是一个常用的 S3 CLI 工具,可以用来获取桶的统计信息。

首先,你需要安装 s3cmd 并配置它:

复制代码
s3cmd --configure

然后,使用 s3cmd 命令查看桶的统计信息:

复制代码
s3cmd du s3://<bucket-name>

示例:

复制代码
s3cmd du s3://my-bucket

3. 利用shell脚本一键查询bucket大小

前提条件:需要安装S3 CLI 工具,并可以进行s3cmd执行输出等。

复制代码
vim check_bucket_size.sh

#!/bin/bash

# 确保s3cmd的正确配置
# s3cmd --configure

# 获取所有桶的列表
buckets=$(s3cmd ls | awk '{print $3}')

# 遍历每个存储桶并计算大小
for bucket in $buckets; do
    # 列出存储桶中的所有对象,并计算总大小
    size=$(s3cmd du --human-readable $bucket | awk '{print $1}')
    echo "Bucket: $bucket, Size: $size"
done

赋权

复制代码
chmod +x check_bucket_size.sh

执行

复制代码
sh check_bucket_size.sh

输出结果如下:

相关推荐
SeanQhl3 天前
基于华为云ECS平台的分布式存储系统Ceph-部署指导
ceph·分布式存储·华为云ecs
あ-4 天前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》第十八章:Rook-Ceph 企业级备份、容灾与数据保护体系
ceph
あ-5 天前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第六章:Kubernetes Rook-Ceph 运维手册 v1.0(生产版)
ceph
あ-5 天前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第十二章:Rook-Ceph 监控、告警与可观测性体系ds
ceph
あ-5 天前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第十一章:Rook-Ceph 升级、扩容与生命周期管理
ceph
あ-5 天前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第十章:Rook-Ceph 安全加固与生产合规
ceph
あ-5 天前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第七章:Rook-Ceph 生产故障案例库
ceph
あ-5 天前
Proxmox Ceph 集群故障排查手册
ceph
あ-5 天前
《Kubernetes Rook-Ceph 运维手册 v1.0(生产版)》- 第八章:Rook-Ceph 性能优化与生产调优
ceph
RobinDevNotes9 天前
Palmier Pro:AI时代的Mac视频编辑器
人工智能·ceph·macos·ai·音视频·视频编辑·mcp