文档章节

Infernalis版本radosgw搭建配置

linuxhunter
 linuxhunter
发布于 2016/04/06 13:19
字数 709
阅读 336
收藏 0

1.安装apache。

#apt-get install apache2 libapache2-mod-fastcgi

2.配置apache。

  1. 在apache配置文件中添加服务器名称,即:在/etc/apache2/apache2.conf文件添加如下内容:

ServerName {fqdn}

其中fqdn是hostname -f的输出结果。

  1. 使能apache相关模块。

a2enmod proxy_fcgi

a2enmod fastcgi

a2enmod rewrite

  1. 启动apache。

#service apache2 start

3.安装radosgw模块。

#apt-get install radosgw

4.创建radosgw用户和keyring。

  1. 为rgw创建keyring。

#ceph-authtool --create-keyring /etc/ceph/ceph.client.radosgw.keyring

#chmod +r /etc/ceph/ceph.client.radosgw.keyring

  1. 为rgw用户生成key。

#ceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.radosgw.gateway --gen-key

  1. 为rgw用户创建权限。

#ceph-authtool -n client.radosgw.gateway --cap osd 'allow rwx' --cap mon 'allow rwx' /etc/ceph/ceph.client.radosgw.keyring

  1. 将rgw用户添加到ceph集群。

#ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.radosgw.gateway -i /etc/ceph/ceph.client.radosgw.keyring

  1. 分发rgw的keyring。

通过ssh命令将/etc/ceph/ceph.client.radosgw.keyring复制到其他rgw节点上。

5.创建pool。

当创建的rgw用户有写权限,则rgw会自动的创建所需的pools,因此该步骤可以省略。

6.配置rgw。

在/etc/ceph/ceph.conf中添加如下内容:

[client.radosgw.gateway]

host = ceph-node1

keyring = /etc/ceph/ceph.client.radosgw.keyring

rgw socket path = /tmp/radosgw.sock

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

rgw print continue = false

创建rgw工作目录:

#mkdir -p /var/lib/ceph/radosgw/ceph-radosgw.gateway

创建rgwlog目录

#mkdir -p /var/log/radosgw

7.启动rgw。

#/etc/init.d/radosgw start

8.配置radosgw网关。

在/etc/apache2/site-available/目录下创建rgw.conf文件且该文件内容如下:

FastCgiExternalServer /var/www/s3gw.fcgi -socket /tmp/radosgw.sock

<VirtualHost *:80>

       ServerName ceph-node1

       ServerAlias ceph-node1

       DocumentRoot /var/www

       RewriteEngine On

       RewriteRule  ^/(.*) /s3gw.fcgi?%{QUERY_STRING} [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

       <IfModule mod_headers.c>

           Header set Access-Control-Allow-Origin "*"

           Header set Access-Control-Allow-Methods "HEAD,GET,PUT,POST,DELETE,OPTIONS"

           Header set Access-Control-Allow-Headers "authorization,content-type,x-amz-date,x-amz-user-agent,content-md5,neunn-token,neunn-user-id,x-amz-copy-source,x-amz-acl,neunn-radosgw-user-id,neunn-user-adminops"

           Header set Access-Control-Expose-Headers "ETag"

       </IfModule>


       <IfModule mod_fastcgi.c>

       <Directory /var/www>

                       Options +ExecCGI

                       AllowOverride All

                       SetHandler fastcgi-script

                       Order allow,deny

                       Allow from all

                       AuthBasicAuthoritative Off

       </Directory>

       </IfModule>

       AllowEncodedSlashes On

       ErrorLog /var/log/apache2/error.log

       CustomLog /var/log/apache2/access.log combined

       ServerSignature Off

</VirtualHost>

另外在/var/www/目录下创建一个可执行文件s3gw.fcgi且该文件内容如下:

#!/bin/sh

exec /usr/bin/radosgw -c /etc/ceph/ceph.conf -n client.radosgw.gateway

9.重新启动apache。

  1. 使能rgw模块。

#a2ensite rgw.conf

#a2dissite 000-default

  1. 重启apache。

#service apache2 restart

10.创建S3用户。

#radosgw-admin user create --uid="testuser" --display-name="First User"

输出内容如下:

{"user_id": "testuser",
"display_name": "First User",
"email": "",
"suspended": 0,
"max_buckets": 1000,
"auid": 0,
"subusers": [],
"keys": [
{ "user": "testuser",
"access_key": "I0PJDPCIYZ665MW88W9R",
"secret_key": "dxaXZ8U90SXydYzyS5ivamEP20hkLSUViiaR+ZDA"}],
"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": []}

其中比较重要的是access_key和secret_key。

11.设置S3用户的访问权限。

#radosgw-admin caps add --uid=testuser --caps="users=*"

#radosgw-admin caps add --uid=testuser --caps="buckets=*"

#radosgw-admin caps add --uid=testuser --caps="metadata=*"

#radosgw-admin caps add --uid=testuser --caps="usage=*"

#radosgw-admin caps add --uid=testuser --caps="zone=*"

12.使用浏览器访问radosgw。

使用通用浏览器访问radosgw的80端口后,在浏览器上会出现如下信息:

This XML file does not appear to have any style information associated with it. The document tree is shown below.

<ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">

<Owner>

<ID>anonymous</ID>

<DisplayName/>

</Owner>

<Buckets/>

</ListAllMyBucketsResult>

出现该信息表示radosgw已经搭建成功。


© 著作权归作者所有

linuxhunter
粉丝 74
博文 145
码字总数 93559
作品 0
沈阳
技术主管
私信 提问
加载中

评论(0)

CEPH的基本概念及通过Ceph-Deploy快速部署CEPH集群

基础概念 Ceph的架构 核心组件RADOS,如架构图 RADOS:具备自我修复的特性,提供一个可靠,自动,智能的分布式存储 LIBRADOS:库文件,支持应用程序直接访问 RADOSGW:基于当前流行的RESTful...

Insane_linux
2018/09/20
0
0
ceph infernalis版本搭建过程

ceph infernalis版本安装过程。 一、使用ceph-deploy方式安装infernalis版本的ceph。 1、宿主机环境。 ubuntu14.04.03-server-amd64 2、添加trusted key。 #wget -q -O- 'https://git.ceph.c......

linuxhunter
2015/12/16
334
0
ceph对象存储的配置与S3、swift接口的使用

首先简单了解一下一些ceph对象存储的基本知识: Ceph: 起始于2006年 开发语言:C 强一致性 块存储 对象存储 Swift: 起始于2008年 开发语言:Python 最终一致性 对象存储 真正的大型公用云服...

CloudXli
前天
0
0
【转】Ceph对象存储(rgw)的IPv6环境配置

引言 在搭建成功Ceph集群后,对于如何使用,其实我还是一脸MB的,心想竟然提供三种存储接口(对象,文件,快),口气也未免太大。在结合项目需求之后,我选择了对象存储接口。那么问题又来了...

lemon2013
2018/05/11
0
0
【Ceph】手动搭建ceph集群

手动部署Ceph集群 3台ceph机器 下载部署所需要的ceph集群的rpm包 ceph-mon ceph-common fcgi ceph-base ceph-selinux ceph-mgr ceph-dash ceph-radosgw ceph-osd 根据系统内核版本号下载对应...

Insane_linux
2018/11/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

“听相声的可以出去了,我们是来卖货的。”

多年以后,当人们打开抖音,准会想起罗永浩直播首秀的那个遥远的愚人节夜晚。 说好的相声呢?说好的情怀呢?说好的段子呢? 在这场“基本上不赚钱,交个朋友”的直播中,罗永浩卖的东西可谓是...

UiBot
12分钟前
25
0
Python中的这3个骚操作你会吗?

本文主要介绍Python的高级特性:列表推导式、迭代器和生成器,是面试中经常会被问到的特性。 因为生成器实现了迭代器协议,可由列表推导式来生成,所有,这三个概念作为一章来介绍,是最便于...

Python圈子
14分钟前
25
0
Step by step让你快速升级将React Router v5 路由器更新到v6

感谢参考原文-http://bjbsair.com/2020-04-01/tech-info/18408.html 图片来自网络 1 引言 React Router v6 alpha 版本发布了,本周通过 A Sneak Peek at React Router v6 这篇文章分析一下带...

曹长卿
14分钟前
12
0
shell基础知识(3.16)

shell 记录历史记录 !! :表示执行上一条命令 !n(n为数字):表示执行第n条命令 !字符串(字符串大于1):如!pw,表示执行命令历史中最近一次以pw开头的命令 tab键:补全命令和文件名,2下则...

于秋
15分钟前
19
0
[每天进步一点点]mysql笔记整理(三):索引

笔记很无味,点赞请准备。 索引定义 数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询,更新数据库表中的数据。 从定义中可以看出,索引其实就是一种数据结构。数据都是以...

毛毛向前冲V5
19分钟前
25
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部