ceph 指令

1.  Monitor Map。Monitor Map包括有关monitor节点端到端的信息,其中包括Ceph集群ID, 监控主机名和IP地址和端口号,它还存储了当前版本信息以及最新更改信息,可以通过以下命 令查看monitor map。

        ceph mon dump

2. OSD Map。OSD Map包括一些常用的信息,如集群ID,创建OSD Map的版本信息和最 后修改信息,以及pool相关信息,pool的名字、pool的ID、类型,副本数目以及PGP,还包括 OSD信息,如数量、状态、权重、最新的清洁间隔和OSD主机信息。可以通过执行以下命令查 看集群的OSD Map。

        ceph osd  dump 

3. PG Map。PG Map包括当前PG版本、时间戳、最新的OSD Map的版本信息、空间使用 比例,以及接近占满比例信息,同时,也包括每个PG ID、对象数目、状态、OSD的状态以及深 度清理的详细信息,可以通过以下命令来查看PG Map。

        ceph pg dump

4.CRUSH Map。CRUSH Map包括集群存储设备信息,故障域层次结构和存储数据时定义 失败域规则信息;可以通过以下命令查看CRUSH Map。

        ceph osd crush dump 

5. MDS Map。MDS Map包括存储当前MDS Map的版本信息、创建当前Map的信息、修改 时间、数据和元数据POOL ID、集群MDS数目和MDS状态,可通过以下命令查看集群MDS Map 信息。

        ceph mds dump

6. 查看资源池

        ceph osd pool ls detail

7. 删除资源池 (pool_name 为资源池)

        ceph osd pool rm pool_name pool_name --yes-i-really-really-mean-it

Ceph 中上传文件可以通过多种方式实现,包括使用 `rados` 命令行工具、`ceph` 命令行工具以及通过集成的 API 或 SDK。以下是几种常见的方法: ### 使用 `rados` 命令上传文件 Ceph 提供了 `rados` 命令来直接操作 RADOS 对象存储。以下是一个示例命令: ```bash rados put {object-name} {file-path} --pool={pool_name} ``` 例如,将本地文件 `/path/to/local/file.txt` 上传到名为 `data` 的 pool 中,并命名为 `test-object`[^4]: ```bash rados put test-object /path/to/local/file.txt --pool=data ``` ### 使用 `ceph` 命令上传文件 Ceph 还支持通过 `ceph` 命令上传文件到指定的 pool 中。以下是具体命令: ```bash rados -p {pool_name} put {object-name} {file-path} ``` 例如,将文件 `/path/to/local/file.txt` 上传到 pool `data` 中,并命名为 `test-object`[^4]: ```bash rados -p data put test-object /path/to/local/file.txt ``` ### 验证上传结果 可以使用以下命令查看指定 pool 中的对象列表,确认文件是否成功上传: ```bash rados -p {pool_name} ls ``` 例如: ```bash rados -p data ls ``` ### 查看对象存储位置 如果需要进一步确认对象的具体存储位置,可以使用以下命令: ```bash ceph osd map {pool_name} {object-name} ``` 例如: ```bash ceph osd map data test-object ``` ### 使用 CephFS 挂载后上传文件 如果通过 CephFS 挂载了文件系统,可以直接将文件复制到挂载点。以下是一个示例: ```bash mount -t ceph 192.168.0.1:6789:/ /mnt/mycephfs -o name=admin,secretfile=/etc/ceph/admin.secret cp /path/to/local/file.txt /mnt/mycephfs/ ``` 这里使用了从文件读取密码的方式进行挂载[^2]。 ### 使用 Ceph RGW(RADOS 网关)上传文件 对于对象存储场景,Ceph 的 RADOS 网关(RGW)支持 S3 和 Swift 协议。以下是通过 S3 协议上传文件的示例: ```bash aws s3 cp /path/to/local/file.txt s3://bucket-name/object-key --endpoint-url=http://rgw-host:port ``` 例如: ```bash aws s3 cp /path/to/local/file.txt s3://my-bucket/test-object --endpoint-url=http://192.168.0.1:8000 ``` ### 使用 Spring Boot 集成 Ceph 上传文件 如果需要通过应用程序上传文件,可以参考 Spring Boot 集成 Ceph 的实现。以下是一个简单的代码示例[^3]: ```java package com.springcloud.mall.file.ceph; import org.javaswift.joss.model.Container; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class FileHandler { @Autowired private Container container; /** * 文件上传 */ public void upload(String filename, byte[] buffer) { // 获取容器对象 StoredObject object = container.getObject(filename); // 文件上传 object.uploadObject(buffer); } } ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值