Infernalis版本radosgw如何搭建配置

14次阅读
没有评论

这篇文章将为大家详细讲解有关 Infernalis 版本 radosgw 如何搭建配置,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1. 安装 apache。

#apt-get install apache2 libapache2-mod-fastcgi

2. 配置 apache。

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

ServerName {fqdn}

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

使能 apache 相关模块。

a2enmod proxy_fcgi

a2enmod fastcgi

a2enmod rewrite

启动 apache。

#service apache2 start

3. 安装 radosgw 模块。

#apt-get install radosgw

4. 创建 radosgw 用户和 keyring。

为 rgw 创建 keyring。

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

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

为 rgw 用户生成 key。

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

为 rgw 用户创建权限。

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

将 rgw 用户添加到 ceph 集群。

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

分发 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。

使能 rgw 模块。

#a2ensite rgw.conf

#a2dissite 000-default

重启 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 已经搭建成功。

关于“Infernalis 版本 radosgw 如何搭建配置”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。