ceph创建对象存储

24 篇文章 1 订阅
  1. 创建rgw网关

    ceph-deploy rgw create {主机名}

  2. 修改默认端口(7480)

    • 在ceph.conf配置文件追加
    [client.rgw.node1]
    rgw_frontends = "civetweb port=80"
    [root@node1 ceph-deploy]# 
    
    • push到各个节点

      ceph-deploy --overwrite-conf config push node1 node2 node3

    • 重启服务

      systemctl restart ceph-radosgw.target

      Or

      systemctl restart ceph-radosgw@*.service

    • 查看对应的服务状态

      systemctl status ceph-radosgw@rgw-node{id}

    网关也可以使用https协议

  3. 创建用户

    radosgw-admin user create --uid "ceph-s3-user" --display-name "Cooper"

    如果忘记了创建得来的用户名和密码,可以查询

    radosgw-admin user list

    radosgw-admin user info --uid {uid}

  4. 下载s3cmd工具包

    yum install s3cmd -y

  5. 配置s3

    s3cmd --configure

  6. 创建bucket

    s3cmd mb s3://s3cmd-demo

    如果出现

    image-20201003152448833

    则修改s3配置文件中的

    signature_v2的属性为True

  7. 上传文件

    s3cmd put {文件} s3://{桶名称}

  8. 下载文件

    s3cmd get 桶的名称 {目标文件名称}

  9. 删除文件

    s3cmd rm 桶的名称/{目标文件名称}

docker run -p 9000:9000 --name minio -d --restart=always -e "MINIO_ACCESS_KEY=admin" 
-e "MINIO_SECRET_KEY=admin123456" \
minio/minio server /data
  1. 对象网关daemon的删除

    先将对应的rgw进程kill

    cd /var/lib/ceph/radosgw

    找到对应的rgw文件将其删除即可

  2. radosgw无法起来可能是因为pg数量不够,不足以创建对应的pool,必须要调整对应pool的数量才行

    自己创建对应的pool指定pg和pgp数量

  3. rgw网关默认的web服务器已经不支持fastcgi、fcgi、beast

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fsc0Mr74-1641788802832)(https://raw.githubusercontent.com/CooperXJ/ImageBed/master/img/20210316160933.png)]

老版本的可以参阅这篇文章https://www.jianshu.com/p/af611ad7c9c2?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

当然这里的fastCGI和civetweb都是服务器,可以处理请求转发请求等,都是利用socket与内部的rados进行通信,而Apache与Nginx需要以独立的进程进行存在,对RGW注册的端口进行监听,这些端口就是fastCGI、civetweb这些服务器注册暴露的。

  1. 查询rgw缓存命中率

    ceph --admin-daemon ceph-client.rgw.ceph119.2198988.94410876256936.asok perf dump|grep cache

  2. rgw清除策略

    rgw清除bucket中的数据不会立刻清除,而是等到GC来到的时候才会真正去清理

    例如:

    IMG_1582

    实际上,关键就在这里。
    上面time字段的含义是,rados object对象真正过期的时间。这也正是当前RGW GC垃圾回收机制的设计思想之一。 在Ceph RGW
    中存在rgw_gc_obj_min_wait配置项,正是该配置项决定了上面的time字段的值。该配置项用于控制对象在能被GC删除之前需要等
    待的最小时间,这主要是考虑到,当删除一个对象时, 可能会有其他服务正在读取对应的象数据信息,为了保证不对其他服务的操作
    处理造成影响,因此在删除对象数据后,需要等待一-段时间, 才能真正的对对象数据进行删除。
    有了上面对time字段的说明,相信大家已经能够联想到radosgw-admin gc process不生效的原因了。
    是的,实际上并不是radosgw-admin gc process不生效,而是执行该命令时,只能删除已经过期了的,但是还没有到gc处理周期进
    行删除的对象数据,即当前时间已经超过了上面time字段执行的时间,但还没有被删除的tail object数据。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值