ceph_object-gw

1.部署RGW

# 部署rgw,名称为rgw01
ceph orch apply rgw rgw01

# 查看rgw
ceph orch ls

ceph orch ps --daemon_type=rgw
  • 如果需要删除则执行
ceph orch rm rgw.rgw01

2.创建对象存储用户名

# 创建用户
radosgw-admin user create --access-key="cephobj" --secret="12345678" --uid="user01" --display-name="user01"

# 查看用户
radosgw-admin user list

# 查看用户详细信息(注意输出内容的 "user01", "access_key", "secret_key")
radosgw-admin user info --uid=user01

# 使用过滤进行提取
radosgw-admin user info --uid=user01 | awk -F '["]' '/access_key/ {print $4}'

3.资源限制

  • 可以针对某个用户最大能使用多少G
radosgw-admin quota set --quota-scope=user --uid=user01 --max-size=1G

radosgw-admin quota enable --quota-scope=user --uid=user01

radosgw-admin user info --uid=user01

radosgw-admin user stats --uid=user01 --sync-stats

4.s3cmd使用

  • 安装服务
apt install -y s3cmd
  • 配置s3文件
vim /root/.s3cfg
[user01]
access_key = cephobj
secret_key = 12345678
host_base = 10.0.0.10:80
host_bucket =
use_https = False

5.桶操作

  • 可以将桶理解为文件夹

# 查看所有桶
radosgw-admin buckets list
  • 查看s3桶
s3cmd ls
  • 创建一个mika桶
s3cmd mb s3://mika01
  • 删除一个存储桶
s3cmd rb s3://mika02
  • 上传一个文件到对应的存储桶中
s3cmd put alsi.png s3://mika01

# 查看是否上传成功
s3cmd ls s3://mika01
  • 上传一个目录到对应的存储桶中
s3cmd put image --recursive s3://mika01
  • 下载一个文件到本地
s3cmd get s3://mika01/alsi.png
  • 下载一个目录到本地
s3cmd get --recursive s3://mika01/image
  • 删除一个文件
s3cmd del s3://mika01/alsi.png
  • 删除一个目录
s3cmd del --recursive s3://mika01/image
  • 查看使用量
s3cmd du -H s3://mika01

s3cmd du -H
  • 复制一个文件
s3cmd cp s3://mika01/alsi.png s3://mika02
  • 移动一个文件
s3cmd mv s3://mika01/zi.png s3://mika02
  • 上传一个文件或目录
s3cmd sync zi.png s3://mika02

6.minio对象ceph gateway

docker pull minio/minio:RELEASE.2021-04-18T19-26-29Z

# 如果是我提供的离线镜像,则
docker laod -i minio.tar
  • 启动容器
docker run -d -p 9090:9000 --name s3_ceph -e "MINIO_ACCESS_KEY=cephobj" -e "MINIO_SECRET_KEY=12345678" c6d3cc79a3de gateway s3 http://10.0.0.10:80

7.HA RGW

7.1 打标签

ceph orch host label add storage01 rgw

ceph orch host label add storage02 rgw

ceph orch host label add storage03 rgw

ceph orch host ls

7.2 部署RGW

ceph orch apply rgw rgw01 --placement="3 label:rgw" --port=8000

7.3 编写ingress启动文件

  • 先提前查看需要镜像的名称
ceph config get mgr mgr/cephadm/container_image_haproxy

ceph config get mgr mgr/cephadm/container_image_keepalived
  • 编写yaml文件
cat > ingress.yaml << EOF
service_type: ingress
service_id: rgw.rgw01
placement:
  hosts:
    - storage01
    - storage02
    - storage03
spec:
  backend_service: rgw.rgw01
  virtual_ip: 10.0.0.100/24
  frontend_port: 8080
  monitor_port: 1967
EOF

7.4 启动yaml文件

ceph orch apply -i ingress.yaml

7.5 查看状态

ceph orch ls --service_type=ingress

ceph orch ps --daemon_type=keepalived
  • 如何删除?
    • 这里实验还没有做完,勿删
ceph orch rm ingress.rgw.rgw01

ceph orch rm rgw.rgw01

7.6 创建rgw用户

  • 创建用户
radosgw-admin user create --secret="000000" --uid="user01" --display-name="user01"

# 保存输出的两个值,每个集群都不一样,用自己的
"access_key": "OPPW3DE284ACSQ57LGT4",
"secret_key": "000000"

# 可使用命令提取
radosgw-admin user info --uid=user01 | awk -F '["]' '/access_key/ {print $4}'

radosgw-admin user info --uid=user01 | awk -F '["]' '/secret_key/ {print $4}'

7.7 安装配置s3客户端

  • 三台集群均配置安装

apt install -y s3cmd

# 配置s3文件
cat > /root/.s3cfg << EOF
[user01]
access_key = OPPW3DE284ACSQ57LGT4
secret_key = 000000
host_base = 10.0.0.100:8080
host_bucket =
use_https = False
EOF

7.8 创建桶测试

  • 创建桶
s3cmd mb s3://mika
  • 查看桶
s3cmd ls

7.9 高可用测试

  • 将带有vip地址的机器关机
poweroff
  • 在其它任意节点进行测试
s3cmd ls

echo sdlsnfdklf >> test01.txt

s3cmd put test01.txt s3://mika
posted @ 2023-08-22 22:08  A57  阅读(85)  评论(0)    收藏  举报