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.资源限制
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
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
s3cmd ls
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
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 高可用测试
poweroff
s3cmd ls
echo sdlsnfdklf >> test01.txt
s3cmd put test01.txt s3://mika