Ceph radosgw 安装配置

Ceph radosgw对象存储的接口,研究配置了许久,现分享如下。首先配置radosgw的前提,是你已经成功的配置好了Ceph集群,通过ceph –s 查看ceph集群,处于health状态。在这里,ceph集群的auth的配置为none,所以有关auth的部分,也就是访问权限相关的keying部分的配置在这里省略。

1)创建rgw相关的pool

ceph osd pool create .rgw 128 128

ceph osd pool create .rgw.root 128 128

ceph osd pool create .rgw.control 128 128

ceph osd pool create .rgw.gc 128 128

ceph osd pool create .rgw.buckets 128 128

ceph osd pool create .rgw.buckets.index 128 128

ceph osd pool create .log 128 128

ceph osd pool create .intent-log 128 128

ceph osd pool create .usage 128 128

ceph osd pool create .users 128 128

ceph osd pool create .users.email 128 128

ceph osd pool create .users.swift 128 128

ceph osd pool create .users.uid 128 128

2)配置 ceph.conf

这里配置在ceph.conf里添加有个radowgw的配置。adosgw有两个方式,一个是直接用civetweb的方式,其内置了一个比较小巧的http服务器mongoose,这种方式比较简单,不需要配置Apache httpd服务器,其配置如下:

[client.radosgw.gateway]

host = node1

log file = /var/log/ceph/client.radosgw.gateway.log

rgw_frontends =civetweb port=80

rgw print continue = false

特别说明的是civetweb默认的端口是7480, 这里因为用s3cmd, 所以改为80

另一种方式就是 apache httpd + factcgi的方式,其配置如下:

[client.radosgw.gateway]

host = node1

log file = /var/log/ceph/client.radosgw.gateway.log

rgw frontends = fastcgi socket_port=9000 socket_host=0.0.0.0

rgw print continue = false

注意,这里的node1,要替换成你自己的服务器

3)启动 radosgw

radosgw -c /etc/ceph/ceph.conf -n client.radosgw.gateway

如果出错,可以查看日志/var/log/ceph/client.radosgw.gateway.log的提示,做相应的处理。

4) 配置 httpd

这一步,如果用的是civetweb方式,可以省略。

在/etc/httpd/conf.d 里添加文件rgw.conf

<VirtualHost *:80>
ServerName 182.92.171.199
DocumentRoot /var/www/html

ErrorLog /var/log/httpd/rgw_error.log
CustomLog /var/log/httpd/rgw_access.log combined

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

SetEnv proxy-nokeepalive 1

ProxyPass / fcgi://182.92.171.199:9000/
</VirtualHost>

这样这里的ServerName是http server name,如果有多个ip的情况,最好直接写ip,这里的ProxyPass 的fcgi 需要改成在ceph.conf里配置的ip和port

5) 启动httpd服务器

这一步,如果用的是civetweb方式,可以省略

service httpd restart

6)创建一个用户

radosgw-admin user create –uid=cephtest –display-name=”ceph test” –[email protected]

显示:

{ “user_id”: “cephtest”,

“display_name”: “ceph test”,

“email”: “[email protected]”,

“suspended”: 0,

“max_buckets”: 1000,

“auid”: 0,

“subusers”: [],

“keys”: [

{ “user”: “cephtest”,

“access_key”: “8JGTP1714JRRAPRDLBI4”,

“secret_key”: “i4O+yJMNii87ruLMwcIIYbjLmKIUaoSO1svQOoB9”}],

“swift_keys”: [],

“caps”: [],

“op_mask”: “read, write, delete”,

“default_placement”: “”,

“placement_tags”: [],

“bucket_quota”: { “enabled”: false,

“max_size_kb”: -1,

“max_objects”: -1},

“user_quota”: { “enabled”: false,

“max_size_kb”: -1,

“max_objects”: -1},

“temp_url_keys”: []}

注意:如果生成的key中有”\”,最后把这个user删掉,再重新生成直到不含”\”:

7)配置s3cmd

$vim ~/.s3cfg

[default]

access_key = PPA789F4W5ANH3COC51O

bucket_location = US

cloudfront_host = cloudfront.amazonaws.com

cloudfront_resource = /2010-07-15/distribution

default_mime_type = binary/octet-stream

delete_removed = False

dry_run = False

encoding = UTF-8

encrypt = False

follow_symlinks = False

force = False

get_continue = False

gpg_command = /usr/bin/gpg

gpg_decrypt = %(gpg_command)s -d –verbose –no-use-agent –batch –yes –passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s

gpg_encrypt = %(gpg_command)s -c –verbose –no-use-agent –batch –yes –passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s

gpg_passphrase =

guess_mime_type = True

host_base = node1

host_bucket = %(bucket)s.node1

human_readable_sizes = False

list_md5 = False

log_target_prefix =

preserve_attrs = True

progress_meter = True

proxy_host =

proxy_port = 0

recursive = False

recv_chunk = 4096

reduced_redundancy = False

secret_key = kqHLxnI14WqSl0Eh5akr73evrqmFZjfxYxUmG04h

send_chunk = 4096

simpledb_host = sdb.amazonaws.com

skip_existing = False

socket_timeout = 10

urlencoding_mode = normal

use_https = False

verbosity = WARNING

在这里,access_key 和 secret_key 就是 radosgw-admin创建用户获得的,也可以用以下命令获取。

radosgw-admin user info –uid=cephtest

8)测试

首先用命令检查以下http 服务器是否正常工作:

curl node

如果正确,应该返回:

<?xml version="1.0" encoding="UTF-8"?><ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Owner><ID>anonymous</ID><DisplayName></DisplayName></Owner><Buckets></Buckets></ListAllMyBucketsResult>

如果不正确,那么http的服务器有问题。如果是apache http的服务器,那么查看服务器的配置的日志,查找相应的问题。

/etc/httpd/logs/rgw_error.log

一般的问题都是:

proxy: FCGI: attempt to connect to 182.92.171.199:9000 (182.92.171.199) failed

显示连不上FCGI,那么看以下ceph.conf配置:

rgw frontends = fastcgi socket_port=9000 socket_host=0.0.0.0

host和 port是否一致。

如果上述没有问题,可以用命令

s3cmd la

这么命令是list 所有的bucket下的对象

s3cmd mb s3://BUCKET 创建一个bucket,目前遇到的一个问题是,只能创建“BUCKET”为前缀的bucket,这个不知道为啥,还需要进一步研究和配置。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-24 06:47:12

Ceph radosgw 安装配置的相关文章

ceph存储安装配置

1.修改yum源: 1.安装yum源:sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 2.新建/etc/yum.repos.d/ceph.repo文件:[ceph-noarch] name=Ceph noarch packages baseurl=https://download.ceph.com/rpm/el7/noarch enabled=1 gpgcheck

ceph对象存储(rgw)服务、高可用安装配置

ceph对象存储服务.高可用安装配置 简介:    Ceph本质上就是一个rados,利用命令rados就可以访问和使用ceph的对象存储,但作为一个真正产品机的对象存储服务,通常使用的是Restfulapi的方式进行访问和使用.而radosgw其实就是这个作用,安装完radosgw以后,就可以使用api来访问和使用ceph的对象存储服务了.    首先明白一下架构,radosgw其实名副其实,就是rados的一个网关,作用是对外提供对象存储服务.本质上radosgw(其实也是一个命令)和rbd

ceph安装配置文档(centos6.6)

Ceph安装部署文档 目录 一:简介... 1 二:部署环境介绍... 1 三:集群配置准备工作... 2 四:安装ceph软件包... 6 五:安装ceph对象网关... 9 六.搭建ceph集群... 10 6.1.配置mon节点... 10 6.2:添加osd节点... 13 6.2.1.添加第一块osd节点... 13 6.3:添加元数据服务器... 17 6.3.1.添加第一个元数据服务器... 17 七:安装client端RBD.cephFS挂载演示... 18 7.1:客户端内核要

Ceph对象存储网关安装配置

引言 基于已部署好的Ceph集群,部署一个网关服务器,进行对象存储服务.操作系统CentOS6.5 CEPH0.94.3其实基于librados可以直接进行访问,但是我看了百度,UCLOUD的对象存储,用户在网页上进行文件的上传.下载时,都通过web服务器间接和存储集群打交道,进行了一层隔离,而不是直接和集群进行通信操作.我得理解是便于访问控制以及隔离. 1.依赖包安装 Ceph rados-gateway依赖Apache和FastCGI, 用户的请求先到web服务器,再走rados-gatew

centos7 安装配置ceph

前期准备: 规划:8台机器IP               hostname         role 192.168.2.20     mon              mon.mon192.168.2.21     osd1             osd.0,mon.osd1192.168.2.22     osd2             osd.1,mds.b(standby)192.168.2.23     osd3             osd.2192.168.2.24    

在 CentOS 7.0 上安装配置 Ceph 存储

来自: https://linux.cn/article-6624-1.html Ceph 是一个将数据存储在单一分布式计算机集群上的开源软件平台.当你计划构建一个云时,你首先需要决定如何实现你的存储.开源的 Ceph 是红帽原生技术之一,它基于称为 RADOS 的对象存储系统,用一组网关 API 表示块.文件.和对象模式中的数据.由于它自身开源的特性,这种便携存储平台能在公有云和私有云上安装和使用.Ceph 集群的拓扑结构是按照备份和信息分布设计的,这种内在设计能提供数据完整性.它的设计目标就

一步一步安装配置Ceph分布式存储集群

Ceph可以说是当今最流行的分布式存储系统了,本文记录一下安装和配置Ceph的详细步骤. 提前配置工作 从第一个集群节点开始的,然后逐渐加入其它的节点.对于Ceph,我们加入的第一个节点应该是Monitor,我们设置为Monitor1. 我使用的操作系统是Ubuntu Server 19.10,目前没有对应的包地址,于是就是用了bionic,应该是18.04的.还有地址也换成了中科大的镜像http://mirrors.ustc.edu.cn/ceph/,而不是默认的https://downloa

ceph radosgw与keystone整合

1.参考http://penguintux.blog.51cto.com/3021117/1872939部署好ceph radosgw ceph版本:jewel docker镜像:ceph/daemon:tag-build-master-jewel-centos-7 2.安装keystone,这里使用kolla newton安装好了keystone 参考http://penguintux.blog.51cto.com/3021117/1865832,仅需要安装keyston,kolla的glob

ceph文件系统安装配置

1     前言 Ceph是一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布式文件系统. l  Ceph OSDs: Ceph OSD 守护进程( Ceph OSD )的功能是存储数据,处理数据的复制.恢复.回填.再均衡,并通过检查其他OSD 守护进程的心跳来向 Ceph Monitors 提供一些监控信息.当 Ceph 存储集群设定为有2个副本时,至少需要2个 OSD 守护进程,集群才能达到active+clean 状态( Ceph 默认有3个副本,但你可以调整副本数). l  Moni