diff options
author | John Wilkins <john.wilkins@inktank.com> | 2013-05-25 15:11:49 -0700 |
---|---|---|
committer | John Wilkins <john.wilkins@inktank.com> | 2013-05-25 15:11:49 -0700 |
commit | 6f935419e694ef2334cf1244e9ecd3abf2042d38 (patch) | |
tree | eacfa6345e4695782bd1ad6bba6ba5d7c5310e55 /doc | |
parent | e59897c8b240c2cf893b5734377c4b0dccb075af (diff) | |
download | ceph-6f935419e694ef2334cf1244e9ecd3abf2042d38.tar.gz |
doc: Updated RGW Quickstart.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/start/quick-rgw.rst | 136 |
1 files changed, 81 insertions, 55 deletions
diff --git a/doc/start/quick-rgw.rst b/doc/start/quick-rgw.rst index 2c5ef8a2f7b..947409f0bc9 100644 --- a/doc/start/quick-rgw.rst +++ b/doc/start/quick-rgw.rst @@ -2,15 +2,19 @@ Object Storage Quick Start ============================ -To use this guide, you must have executed the procedures in the `5-minute -Quick Start`_ guide first. +To use this guide, you must have executed the procedures in the `Ceph Deploy +Quick Start`_ guide first. Ensure your :term:`Ceph Storage Cluster` is in an +``active + clean`` state before working with the :term:`Ceph Object Storage`. + +.. note:: Ceph Object Storage is also referred to as RADOS Gateway. Install Apache and FastCGI ========================== -The Ceph object storage gateway runs on Apache and FastCGI. -Install them on the server machine. Use the following procedure: +:term:`Ceph Object Storage` runs on Apache and FastCGI in conjunction with the +:term:`Ceph Storage Cluster`. Install Apache and FastCGI on the server node. Use +the following procedure: #. Install Apache and FastCGI on the server machine. :: @@ -21,35 +25,46 @@ Install them on the server machine. Use the following procedure: sudo a2enmod rewrite sudo a2enmod fastcgi -#. Add a line for the ``ServerName`` in the ``/etc/apache2/httpd.conf`` file. - Provide the fully qualified domain name of the server machine. :: +#. Add a line for the ``ServerName`` in the Apache configuration file + (e.g., ``/etc/apache2/httpd.conf`` or ``/etc/apache2/apache2.conf). + Provide the fully qualified domain name of the server machine + (e.g., ``hostname -f``). :: - ServerName {fqdn} + ServerName {fqdn} #. Restart Apache so that the foregoing changes take effect. :: sudo service apache2 restart -Install RADOS Gateway -===================== +Install Ceph Object Storage +=========================== Once you have installed and configured Apache and FastCGI, you may install -Ceph's RADOS Gateway. :: +Ceph Object Storage. :: sudo apt-get install radosgw -For details on the preceding steps, see `RADOS Gateway Manual Install`_. +For details on the preceding steps, see `Ceph Object Storage Manual Install`_. + + +Create a Data Directory +======================= + +Create a data directory on the server node for the instance of ``radosgw``. + +:: + + sudo mkdir -p /var/lib/ceph/radosgw/ceph-radosgw.gateway Modify the Ceph Configuration File ================================== -On the server machine, perform the following steps: +On the admin node, perform the following steps: #. Open the Ceph configuration file. :: - cd /etc/ceph vim ceph.conf #. Add the following settings to the Ceph configuration file:: @@ -59,34 +74,25 @@ On the server machine, perform the following steps: keyring = /etc/ceph/keyring.radosgw.gateway rgw socket path = /tmp/radosgw.sock log file = /var/log/ceph/radosgw.log + + #Add DNS hostname to enable S3 subdomain calls + rgw dns name = {hostname} -#. Go to the client machine and copy the configuration file from the server - machine to ``/etc/ceph/ceph.conf`` on your client machine. :: - - sudo scp {user}@{cluster-machine}:/etc/ceph/ceph.conf /etc/ceph/ceph.conf - -.. tip:: Ensure the ``ceph.conf`` file has appropriate permissions set - (e.g. ``chmod 644``) on your client machine. - - -Create a Data Directory -======================= - -Create a data directory on the cluster server for the instance of ``radosgw``. +#. Use ``ceph-deploy`` to push a copy the configuration file from the admin + node to the server node. :: -:: + ceph-deploy --overwrite-conf config push {hostname} - sudo mkdir -p /var/lib/ceph/radosgw/ceph-radosgw.gateway Create a Gateway Configuration File =================================== -The example configuration file will configure the gateway to operate with the -Apache FastCGI module, a rewrite rule for OpenStack Swift, and paths for the log -files. To add a configuration file for the Ceph Gateway, we suggest copying the -contents of the example file below to an editor. Then, follow the steps below to -modify it. +The example configuration file will configure the gateway on the server node to +operate with the Apache FastCGI module, a rewrite rule for OpenStack Swift, and +paths for the log files. To add a configuration file for Ceph Object Storage, +we suggest copying the contents of the example file below to an editor. Then, +follow the steps below to modify it (on your server node). .. literalinclude:: rgw.conf :language: ini @@ -115,7 +121,7 @@ Add a FastCGI Script ==================== FastCGI requires a script for the S3-compatible interface. To create the -script, execute the following procedures on the server machine. +script, execute the following procedures on the server node. #. Go to the ``/var/www`` directory. :: @@ -142,19 +148,55 @@ Generate a Keyring and Key Perform the following steps on the server machine. -#. Create a keyring for the RADOS Gateway. :: +#. Ensure the server node is set up with administrator privileges. From + the admin node, execute the following:: + + ceph-deploy admin {hostname} + +#. Create a keyring for Ceph Object Storage. :: sudo ceph-authtool --create-keyring /etc/ceph/keyring.radosgw.gateway sudo chmod +r /etc/ceph/keyring.radosgw.gateway -#. Create a key for the RADOS Gateway to authenticate with the cluster. :: +#. Create a key for Ceph Object Storage to authenticate with the Ceph Storage + Cluster. :: sudo ceph-authtool /etc/ceph/keyring.radosgw.gateway -n client.radosgw.gateway --gen-key sudo ceph-authtool -n client.radosgw.gateway --cap osd 'allow rwx' --cap mon 'allow r' /etc/ceph/keyring.radosgw.gateway #. Add the key to the Ceph keyring. :: - sudo ceph -k /etc/ceph/ceph.keyring auth add client.radosgw.gateway -i /etc/ceph/keyring.radosgw.gateway + sudo ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.radosgw.gateway -i /etc/ceph/keyring.radosgw.gateway + + +Enable SSL +========== + +Some REST clients use HTTPS by default. So you should consider enabling SSL +for Apache on the server machine. :: + + sudo a2enmod ssl + +Once you enable SSL, you should generate an SSL certificate. :: + + sudo mkdir /etc/apache2/ssl + sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt + +Then, restart Apache. :: + + service apache2 restart + + +Restart Services +================ + +To ensure that all components have reloaded their configurations, +we recommend restarting your ``ceph`` and ``apaches`` services. Then, +start up the ``radosgw`` service. For example:: + + sudo service ceph restart + sudo service apache2 restart + sudo /etc/init.d/radosgw start Create a User @@ -254,25 +296,9 @@ RGW's ``user:subuser`` tuple maps to the ``tenant:user`` tuple expected by Swift `RGW Configuration`_ for Keystone integration details. -Enable SSL -========== - -Some REST clients use HTTPS by default. So you should consider enabling SSL -for Apache on the server machine. :: - - sudo a2enmod ssl - -Once you enable SSL, you should generate an SSL certificate. :: - - sudo mkdir /etc/apache2/ssl - sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt - -Then, restart Apache. :: - - service apache2 restart .. _Create rgw.conf: ../../radosgw/config/index.html#create-rgw-conf -.. _5-minute Quick Start: ../quick-start -.. _RADOS Gateway Manual Install: ../../radosgw/manual-install +.. _Ceph Deploy Quick Start: ../quick-ceph-deploy +.. _Ceph Object Storage Manual Install: ../../radosgw/manual-install .. _RGW Configuration: ../../radosgw/config
\ No newline at end of file |