Ceph RagosGWのインストールと構成
8432 ワード
RagosGWのインストールと構成
しばらくこれをしなくてもいいです.cephコードを熟知してください.
これを構成すれば、RADOSGWオブジェクトストレージゲートウェイを熟知することが主な目的です.
操作前にバックアップ、スナップショットを作成します.面倒そうに見えますから.
lxpnode 1にradosgwを作成する
4.1インストール構成Apache
Apt-getソース:
1.インストールapache 2のダウンロード
# apt-get install apache2
# apt-get install libapache2-mod-fastcgi
2.構成/etc/apache 2/apache 2.conf
追加:
ServerName lxpnode1
3.rewriteとfastcgiモジュールのロード
# a2enmod rewrite
# a2enmod fastcgi
4.apacheサービスの起動
# service apache2 start
4.2 SSLの有効化
4.2.1インストール
# apt-get install openssl ssl-cert
4.2.2 SSLモジュールのロード
# a2enmod ssl
4.2.3証明書の生成
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout/etc/apache2/ssl/apache.key -out/etc/apache2/ssl/apache.crt
ぜんしゃ
Generating a 2048 bit RSA private key
........................................................................................................................+++
...........................................+++
writing new private key to '/etc/apache2/ssl/apache.key'
-----
You are about to be asked to enter information that will beincorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Nameor a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:
root@lxpnode1:/etc/apache2#
4.2.4 apacheを再起動する
# service apache2 restart
4.3 Ceph Object Gatewayデーモンのインストール
海康の源を用いるubuntutrustyの源はいずれも0.80である.x,ubuntu vividのソースバージョンは0.94.5で、ソースをvividに変更します.
# apt-get install ceph
root@lxpnode1:/etc/apt# ceph -v
ceph version 0.94.5 (9764da52395923e0b32908d83a9f7304401fee43)
次にceph-radosgwをインストールします.
root@lxpnode1:/etc/apt# ceph -s
cluster19c11869-2430-4b9a-8152-e60e36064826
health HEALTH_OK
monmap e1: 1 mons at{lxpnode1=192.168.11.6:6789/0}
election epoch 1,quorum 0 lxpnode1
osdmap e20: 2 osds: 2 up,2 in
pgmap v1414: 124 pgs, 2pools, 148 bytes data, 4 objects
3642 MB used,33380 MB/39051 MB avail
124active+clean
現在もHEALTH_OK、影響なし
次にradosgwをインストールします.
# apt-get install radosgw
# apt-get install radosgw-agent
4.4 Ceph Object Gatewayの構成
4.4.1ユーザーとkeyringの作成
(1)ゲートウェイサーバにkeyringを作成する
# ceph-authtool --create-keyring/etc/ceph/ceph.client.radosgw.keyring
# chmod +r ceph.client.radosgw.keyring
(2)ゲートウェイインスタンスごとに名前とkeyを生成する.クライアントでradosgwの後にこの名前を使用します(次のインスタンスの名前はgateway):
# ceph-authtool/etc/ceph/ceph.client.radosgw.keyring -n client.radosgw.gateway --gen-key
(3)key該当権限の追加
# ceph-authtool -n client.radosgw.gateway--cap osd 'allow rwx' --cap mon 'allow rwx'/etc/ceph/ceph.client.radosgw.keyring
(4)Ceph storage clusterにkeyを追加する:
# ceph -k/etc/ceph/ceph.client.admin.keyring auth add client.radosgw.gateway -i/etc/ceph/ceph.client.radosgw.keyring
(5)keyを他のゲートウェイサーバにコピーします.ここには1台しかありません.コピーする必要はありません.
#sudo scp/etc/ceph/ceph.client.radosgw.keyring root@{hostname}:/etc/ceph/
注意:1~4ステップはCephのadminノードで実行されます.adminノードとゲートウェイサーバが1台のマシンにある場合、5ステップ目は実行する必要はありません.
4.4.2プールの作成
#ceph osd pool create .rgw 32 32
#ceph osd pool create .rgw.root 32 32
#ceph osd pool create .rgw.control 32 32
#ceph osd pool create .rgw.gc 32 32
#ceph osd pool create .rgw.buckets 32 32
#ceph osd pool create .rgw.buckets.index 32 32
#ceph osd pool create .log 32 32
#ceph osd pool create .intent-log 32 32
#ceph osd pool create .usage 32 32
#ceph osd pool create .users 32 32
#ceph osd pool create .users.email 32 32
#ceph osd pool create .users.swift 32 32
#ceph osd pool create .users.uid 32 32
root@lxpnode1:/etc/ceph# rados lspools
rbd
rbd_pool
.rgw
.rgw.root
.rgw.control
.rgw.gc
.rgw.buckets
.rgw.buckets.index
.log
.intent-log
.usage
.users
.users.email
.users.swift
.users.uid
4.4.3ゲートウェイプロファイルをCephに追加する
Apacheバージョン:
root@lxpnode1:/etc/ceph# apache2 -v
Server version: Apache/2.4.7 (Ubuntu)
Apache2.2および以前の2.4バージョン、adminノード上の/etc/ceph/ceph.confに追加:
[client.radosgw.gateway]
host = {hostname}
keyring =/etc/ceph/ceph.client.radosgw.keyring
rgw socket path = ""
log file =/var/log/radosgw/client.radosgw.gateway.log
rgw frontends = fastcgi socket_port=9000socket_host=0.0.0.0
rgw print continue = false
Apache 2.4.9以降:
[client.radosgw.gateway]
host = {hostname}
keyring =/etc/ceph/ceph.client.radosgw.keyring
rgw socket path =/var/run/ceph/ceph.radosgw.gateway.fastcgi.sock
log file =/var/log/radosgw/client.radosgw.gateway.log
rgw print continue = false
注:Apache 2.4.7前の方法でradosgwサービスは起きられません.後の方法ではOKです.Apache 2.4.7 Unix Domain Socketをサポートする.
4.4.4 Cephプロファイルの配布
(1)etc/ceph/cephを更新する.confからCephクラスタへのルートディレクトリ:
# ceph-deploy --overwrite-conf config pulllxpnode1
(2)adminノードのceph.confを他のノードにコピー
# ceph-deploy --overwrite-conf config push lxpnode2lxpnode3
4.4.5 cephをコピーする.client.admin.keyringからゲートウェイサーバへ
私のゲートウェイサーバーはクラスタのmonなので、コピーする必要はありません.
4.4.6 CGI wrapperスクリプトの作成
1.スクリプトの作成:
#sudo vi/var/www/html/s3gw.fcgi
2.関連内容を追加する:
#!/bin/sh
exec/usr/bin/radosgw -c/etc/ceph/ceph.conf -n client.radosgw.gateway
3.スクリプト実行権限の付与:
#sudo chmod +x/var/www/html/s3gw.fcgi
4.4.7 CGI wrapperスクリプト権限の調整
#sudo chown www-data:www-data/var/www/html/s3gw.fcgi
Note:Ubuntuデフォルトapacheのユーザーはwww-data:www-data
4.4.8データ保管ディレクトリの作成
#mkdir -p/var/lib/ceph/radosgw/ceph-radosgw.gateway
4.4.9 socketディレクトリ権限の調整
# chown www-data:www-data/var/run/ceph
4.4.10ログファイルの変更権限
root@lxpnode1:/etc/ceph# touch /var/log/radosgw/client.radosgw.gateway.log
root@lxpnode1:/etc/ceph# chownwww-data:www-data/var/log/radosgw/client.radosgw.gateway.log
4.4.11 radosgwサービスの開始
#/etc/init.d/radosgw start
4.4.12ゲートウェイプロファイルの作成
1.Create thefile:
#sudovi/etc/apache2/sites-available/rgw.conf
2.add thefollowing contents to the file:
FastCgiExternalServer /var/www/html/s3gw.fcgi -socket /var/run/ceph/ceph.radosgw.gateway.fastcgi.sock
<VirtualHost *:8080>
ServerName {hostname}
ServerAlias *.{hostname}
ServerAdmin [email protected]
DocumentRoot /var/www/html
RewriteEngine On
RewriteRule ^/(.*) /s3gw.fcgi?%{QUERY_STRING} [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
<IfModule mod_fastcgi.c>
<Directory /var/www/html>
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>
配備ノードにすでにapache 2サービスが80ポートを使用している場合は、apacheマルチポート、rgwを構成する必要があります.confで次のように変更します.
Listen 8080
3.rgw.conf構成が有効になりますFor Debian/Ubuntu distributions,enable the site forrgw.conf. root@lxpnode1:/etc/apache2#a2ensite rgw.conf
Enabling site rgw.
To activate the new configuration, you need to run:
serviceapache2 reload
root@lxpnode1:/etc/apache2# a2dissite000-default.conf
Site 000-default disabled.
To activate the new configuration, you need to run:
serviceapache2 reload
4.4.13 apache 2の再起動
# service apache2 restart