On Mon 18 Aug 2014 12:45:33 AM AST, Bachelder, Kurt wrote:
Hi Marco –
In CentOS 6, you also had to edit /etc/httpd/conf.d/fastcgi.conf to
turn OFF the fastcgi wrapper. I haven’t tested in v7 yet, but I’d
guess it’s required there too:
# wrap all fastcgi script calls in suexec
FastCgiWrapper Off
Give that a try, if you haven’t already – restart httpd and
ceph-radosgw afterward.
Kurt
*From:*ceph-users [mailto:ceph-users-boun...@lists.ceph.com] *On
Behalf Of *Marco Garcês
*Sent:* Friday, August 15, 2014 12:46 PM
*To:* ceph-users@lists.ceph.com
*Subject:* [ceph-users] RadosGW problems
Hi there,
I am using CentOS 7 with Ceph version 0.80.5
(38b73c67d375a2552d8ed67843c8a65c2c0feba6), 3 OSD, 3 MON, 1 RadosGW
(which also serves as ceph-deploy node)
I followed all the instructions in the docs, regarding setting up a
basic Ceph cluster, and then followed the one to setup RadosGW.
I can't seem to use the Swift interface, and the S3 interface, times
out after 30 seconds.
[Fri Aug 15 18:25:33.290877 2014] [:error] [pid 6197] [client
10.5.5.222:58051 <http://10.5.5.222:58051>] FastCGI: comm with server
"/var/www/cgi-bin/s3gw.fcgi" aborted: idle timeout (30 sec)
[Fri Aug 15 18:25:33.291781 2014] [:error] [pid 6197] [client
10.5.5.222:58051 <http://10.5.5.222:58051>] FastCGI: incomplete
headers (0 bytes) received from server "/var/www/cgi-bin/s3gw.fcgi"
*My ceph.conf:*
[global]
fsid = 581bcd61-8760-4756-a7c8-e8275c0957ad
mon_initial_members = CEPH01, CEPH02, CEPH03
mon_host = 10.2.27.81,10.2.27.82,10.2.27.83
public network = 10.2.27.0/25 <http://10.2.27.0/25>
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
filestore_xattr_use_omap = true
osd pool default size = 2
osd pool default pg num = 333
osd pool default pgp num = 333
osd journal size = 1024
[client.radosgw.gateway]
host = GATEWAY
keyring = /etc/ceph/ceph.client.radosgw.keyring
rgw socket path = /var/run/ceph/ceph.radosgw.gateway.fastcgi.sock
log file = /var/log/ceph/client.radosgw.gateway.log
rgw print continue = false
rgw enable ops log = true
*My apache rgw.conf:*
FastCgiExternalServer /var/www/cgi-bin/s3gw.fcgi -socket
/var/run/ceph/ceph.radosgw.gateway.fastcgi.sock
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/ca_rgw.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca_rgw.key
SetEnv SERVER_PORT_SECURE 443
ServerName gateway.testes.local
ServerAlias *.gateway.testes.local
ServerAdmin marco.gar...@testes.co.mz
<mailto:marco.gar...@testes.co.mz>
DocumentRoot /var/www/cgi-bin
RewriteEngine On
#RewriteRule ^/(.*) /s3gw.fcgi?%{QUERY_STRING}
[E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
RewriteRule ^/([a-zA-Z0-9-_.]*)([/]?.*)
/s3gw.fcgi?page=$1¶ms=$2&%{QUERY_STRING}
[E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
<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/httpd/error_rgw_ssl.log
CustomLog /var/log/httpd/access_rgw_ssl.log combined
ServerSignature Off
</VirtualHost>
*My /var/www/cgi-bin/s3gw.fcgi *
#!/bin/sh
exec /usr/bin/radosgw -c /etc/ceph/ceph.conf -n client.radosgw.gateway
*My Rados user:*
radosgw-admin user info --uid=johndoe
{ "user_id": "johndoe",
"display_name": "John Doe",
"email": "j...@example.com <mailto:j...@example.com>",
"suspended": 0,
"max_buckets": 1000,
"auid": 0,
"subusers": [
{ "id": "johndoe:swift",
"permissions": "full-control"}],
"keys": [
{ "user": "johndoe:swift",
"access_key": "265DJESOJGSK953EE4LE",
"secret_key": ""},
{ "user": "johndoe",
"access_key": "U4AR5757MCON3AZYAB97",
"secret_key": "05rg47Oa+njo8uxTeX+urBPF0ZRPWvVq8nfrC5cN"}],
"swift_keys": [
{ "user": "johndoe:swift",
"secret_key": "Lags5xwX5aiPgkG\/QqA8HygKs6AQYO46dBXS0ZGS"}],
"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": []}
I can reach https://gateway.testes.local, and I can login with S3, but
cant login with Swift (using Cyberduck). Also, I can create buckets
with S3, but if I upload a file, it times out with the error above.
There is a necessity to use both the S3 and Swift API.
Can you help me? Thank you in advance, regards, Marco Garcês
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
this error appears when httpd can not talk to radosgw process. dose it
happen with all the requests or some of them? generally if it worked
with one request it would with all of them, except when it is under
load. so if you can create a bucket you should be able to upload files.
i did not try centos7, but it may be similar, as we use 6. may be it is
a permission issue (if it happens all the time). try turning selinux to
permissive and see (setenforce 0), make sure the file is
readable/writable by both the radosgw and httpd. also confirm that
radosgw is running (ps aux | grep rados) as it tends to silently die if
some thing is not correct, it drove me nuts until i figured it was the
log file that it can not write to.
if you have high number of connection you would also need to patch
fcgi to use poll instead of select. that was the only way we could push
it to serve more than 900 users.
we have all our radosgws running both swift and s3 with no special
config, it just worked.
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com