diff options
author | Prashanth Pai <ppai@redhat.com> | 2013-12-13 16:20:11 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2013-12-16 07:01:33 -0800 |
commit | 588185463d1bbf1b011e3b0471771b3d4f4aa145 (patch) | |
tree | 998835cc31c7d5bbf3c88b2ac08de0ff2f73b042 /doc/admin-guide/en-US/markdown/admin_UFO.md | |
parent | a9623ada6f7b39ac2d567f66a496072487d8e6ec (diff) |
doc: Fix markdown format errors
Made the following minor changes:
* Fix broken links and point to correct image paths
* Remove dead links and references
* Fix table format to conform to Github Flavoured Markdown
* Add few common terms to glossary
* Maintain consistency of format in writing headings <h1..h6>
* Remove irrelevant files
* Remove references to contact Red Hat support.
Change-Id: I4aed4945d56b5d68b8ea133ce5fa3162bfc2864f
Signed-off-by: Prashanth Pai <ppai@redhat.com>
Reviewed-on: http://review.gluster.org/6514
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Tested-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'doc/admin-guide/en-US/markdown/admin_UFO.md')
-rw-r--r-- | doc/admin-guide/en-US/markdown/admin_UFO.md | 286 |
1 files changed, 121 insertions, 165 deletions
diff --git a/doc/admin-guide/en-US/markdown/admin_UFO.md b/doc/admin-guide/en-US/markdown/admin_UFO.md index 3311eff0188..88271041046 100644 --- a/doc/admin-guide/en-US/markdown/admin_UFO.md +++ b/doc/admin-guide/en-US/markdown/admin_UFO.md @@ -1,5 +1,4 @@ -Managing Unified File and Object Storage -======================================== +#Managing Unified File and Object Storage Unified File and Object Storage (UFO) unifies NAS and object storage technology. It provides a system for data storage that enables users to @@ -35,8 +34,7 @@ a traditional file system. You will not be able to mount this system like traditional SAN or NAS volumes and perform POSIX compliant operations. -Components of Object Storage -============================ +##Components of Object Storage The major components of Object Storage are: @@ -88,35 +86,26 @@ objects within that account. If a user wants to access the content from another account, they must have API access key or a session token provided by their authentication system. -Advantages of using GlusterFS Unified File and Object Storage -============================================================= +##Advantages of using GlusterFS Unified File and Object Storage The following are the advantages of using GlusterFS UFO: - No limit on upload and download files sizes as compared to Open Stack Swift which limits the object size to 5GB. - - A unified view of data across NAS and Object Storage technologies. - - Using GlusterFS's UFO has other advantages like the following: - - High availability - - Scalability - - Replication - - Elastic Volume management -Preparing to Deploy Unified File and Object Storage -=================================================== +##Preparing to Deploy Unified File and Object Storage This section provides information on pre-requisites and list of dependencies that will be installed during the installation of Unified File and Object Storage. -Pre-requisites --------------- +###Pre-requisites GlusterFS's Unified File and Object Storage needs `user_xattr` support from the underlying disk file system. Use the following command to @@ -128,50 +117,33 @@ For example, `# mount –o remount,user_xattr /dev/hda1 ` -Dependencies +####Dependencies ------------ The following packages are installed on GlusterFS when you install Unified File and Object Storage: - curl - - memcached - - openssl - - xfsprogs - - python2.6 - - pyxattr - - python-configobj - - python-setuptools - - python-simplejson - - python-webob - - python-eventlet - - python-greenlet - - python-pastedeploy - - python-netifaces -Installing and Configuring Unified File and Object Storage -========================================================== +##Installing and Configuring Unified File and Object Storage This section provides instructions on how to install and configure Unified File and Object Storage in your storage environment. -Installing Unified File and Object Storage ------------------------------------------- - -To install Unified File and Object Storage: +##Installing Unified File and Object Storage 1. Download `rhel_install.sh` install script from [][] . @@ -197,15 +169,13 @@ To install Unified File and Object Storage: > use a load balancer like pound, nginx, and so on to distribute the > request across the machines. -Adding Users ------------- +###Adding Users The authentication system allows the administrator to grant different levels of access to different users based on the requirement. The following are the types of user permissions: - admin user - - normal user Admin user has read and write permissions on the account. By default, a @@ -228,10 +198,7 @@ For example, > the `proxy-server.conf` file. It is highly recommended that you remove > all the default sample user entries from the configuration file. -For more information on setting ACLs, see ?. - -Configuring Proxy Server ------------------------- +##Configuring Proxy Server The Proxy Server is responsible for connecting to the rest of the OpenStack Object Storage architecture. For each request, it looks up the @@ -251,7 +218,8 @@ The configurable options pertaining to proxy server are stored in account_autocreate=true [filter:tempauth] - use = egg:swift#tempauth user_admin_admin=admin.admin.reseller_admin + use = egg:swift#tempauth + user_admin_admin=admin.admin.reseller_admin user_test_tester=testing.admin user_test2_tester2=testing2.admin user_test_tester3=testing3 @@ -266,15 +234,12 @@ By default, GlusterFS's Unified File and Object Storage is configured to support HTTP protocol and uses temporary authentication to authenticate the HTTP requests. -Configuring Authentication System ---------------------------------- +###Configuring Authentication System -Proxy server must be configured to authenticate using ` - - `. +There are several different authentication system like tempauth, keystone, +swauth etc. Their respective documentation has detailed usage. -Configuring Proxy Server for HTTPS ----------------------------------- +###Configuring Proxy Server for HTTPS By default, proxy server only handles HTTP request. To configure the proxy server to process HTTPS requests, perform the following steps: @@ -288,8 +253,8 @@ proxy server to process HTTPS requests, perform the following steps: [DEFAULT] bind_port = 443 - cert_file = /etc/swift/cert.crt - key_file = /etc/swift/cert.key + cert_file = /etc/swift/cert.crt + key_file = /etc/swift/cert.key 3. Restart the servers using the following commands: @@ -298,41 +263,40 @@ proxy server to process HTTPS requests, perform the following steps: The following are the configurable options: - Option Default Description - ------------ ------------ ------------------------------- - bind\_ip 0.0.0.0 IP Address for server to bind - bind\_port 80 Port for server to bind - swift\_dir /etc/swift Swift configuration directory - workers 1 Number of workers to fork - user swift swift user - cert\_file Path to the ssl .crt - key\_file Path to the ssl .key + Option | Default | Description + ------------ | ------------ | ------------------------------- + bind\_ip | 0.0.0.0 | IP Address for server to bind + bind\_port | 80 | Port for server to bind + swift\_dir | /etc/swift | Swift configuration directory + workers | 1 | Number of workers to fork + user | swift | swift user + cert\_file | | Path to the ssl .crt + key\_file | | Path to the ssl .key : proxy-server.conf Default Options in the [DEFAULT] section - Option Default Description - ------------------------------- ----------------- ----------------------------------------------------------------------------------------------------------- - use paste.deploy entry point for the container server. For most cases, this should be `egg:swift#container`. - log\_name proxy-server Label used when logging - log\_facility LOG\_LOCAL0 Syslog log facility - log\_level INFO Log level - log\_headers True If True, log headers in each request - recheck\_account\_existence 60 Cache timeout in seconds to send memcached for account existence - recheck\_container\_existence 60 Cache timeout in seconds to send memcached for container existence - object\_chunk\_size 65536 Chunk size to read from object servers - client\_chunk\_size 65536 Chunk size to read from clients - memcache\_servers 127.0.0.1:11211 Comma separated list of memcached servers ip:port - node\_timeout 10 Request timeout to external services - client\_timeout 60 Timeout to read one chunk from a client - conn\_timeout 0.5 Connection timeout to external services - error\_suppression\_interval 60 Time in seconds that must elapse since the last error for a node to be considered no longer error limited - error\_suppression\_limit 10 Error count to consider a node error limited - allow\_account\_management false Whether account `PUT`s and `DELETE`s are even callable + Option | Default | Description + ------------------------------- | ----------------- | ----------------------------------------------------------------------- + use | | paste.deploy entry point for the container server. For most cases, this should be `egg:swift#container`. + log\_name | proxy-server | Label used when logging + log\_facility | LOG\_LOCAL0 | Syslog log facility + log\_level | INFO | Log level + log\_headers | True | If True, log headers in each request + recheck\_account\_existence | 60 | Cache timeout in seconds to send memcached for account existence + recheck\_container\_existence | 60 | Cache timeout in seconds to send memcached for container existence + object\_chunk\_size | 65536 | Chunk size to read from object servers + client\_chunk\_size | 65536 | Chunk size to read from clients + memcache\_servers | 127.0.0.1:11211 | Comma separated list of memcached servers ip:port + node\_timeout | 10 | Request timeout to external services + client\_timeout | 60 | Timeout to read one chunk from a client + conn\_timeout | 0.5 | Connection timeout to external services + error\_suppression\_interval | 60 | Time in seconds that must elapse since the last error for a node to be considered no longer error limited + error\_suppression\_limit | 10 | Error count to consider a node error limited + allow\_account\_management | false | Whether account `PUT`s and `DELETE`s are even callable : proxy-server.conf Server Options in the [proxy-server] section -Configuring Object Server -------------------------- +##Configuring Object Server The Object Server is a very simple blob storage server that can store, retrieve, and delete objects stored on local devices. Objects are stored @@ -368,36 +332,35 @@ The configurable options pertaining Object Server are stored in the file The following are the configurable options: - Option Default Description - -------------- ------------ ---------------------------------------------------------------------------------------------------- - swift\_dir /etc/swift Swift configuration directory - devices /srv/node Mount parent directory where devices are mounted - mount\_check true Whether or not check if the devices are mounted to prevent accidentally writing to the root device - bind\_ip 0.0.0.0 IP Address for server to bind - bind\_port 6000 Port for server to bind - workers 1 Number of workers to fork + Option | Default | Description + -------------- | ------------ | ---------------------------------------------------------------------------------------------- + swift\_dir | /etc/swift | Swift configuration directory + devices | /srv/node | Mount parent directory where devices are mounted + mount\_check | true | Whether or not check if the devices are mounted to prevent accidentally writing to the root device + bind\_ip | 0.0.0.0 | IP Address for server to bind + bind\_port | 6000 | Port for server to bind + workers | 1 | Number of workers to fork : object-server.conf Default Options in the [DEFAULT] section - Option Default Description - ---------------------- --------------- ---------------------------------------------------------------------------------------------------- - use paste.deploy entry point for the object server. For most cases, this should be `egg:swift#object`. - log\_name object-server log name used when logging - log\_facility LOG\_LOCAL0 Syslog log facility - log\_level INFO Logging level - log\_requests True Whether or not to log each request - user swift swift user - node\_timeout 3 Request timeout to external services - conn\_timeout 0.5 Connection timeout to external services - network\_chunk\_size 65536 Size of chunks to read or write over the network - disk\_chunk\_size 65536 Size of chunks to read or write to disk - max\_upload\_time 65536 Maximum time allowed to upload an object - slow 0 If \> 0, Minimum time in seconds for a `PUT` or `DELETE` request to complete + Option | Default | Description + ---------------------- | --------------- | ------------ + use | | paste.deploy entry point for the object server. For most cases, this should be `egg:swift#object`. + log\_name | object-server | log name used when logging + log\_facility | LOG\_LOCAL0 | Syslog log facility + log\_level | INFO | Logging level + log\_requests | True | Whether or not to log each request + user | swift | swift user + node\_timeout | 3 | Request timeout to external services + conn\_timeout | 0.5 | Connection timeout to external services + network\_chunk\_size | 65536 | Size of chunks to read or write over the network + disk\_chunk\_size | 65536 | Size of chunks to read or write to disk + max\_upload\_time | 65536 | Maximum time allowed to upload an object + slow | 0 | If \> 0, Minimum time in seconds for a `PUT` or `DELETE` request to complete : object-server.conf Server Options in the [object-server] section -Configuring Container Server ----------------------------- +##Configuring Container Server The Container Server’s primary job is to handle listings of objects. The listing is done by querying the GlusterFS mount point with path. This @@ -430,32 +393,31 @@ The configurable options pertaining to container server are stored in The following are the configurable options: - Option Default Description - -------------- ------------ ---------------------------------------------------------------------------------------------------- - swift\_dir /etc/swift Swift configuration directory - devices /srv/node Mount parent directory where devices are mounted - mount\_check true Whether or not check if the devices are mounted to prevent accidentally writing to the root device - bind\_ip 0.0.0.0 IP Address for server to bind - bind\_port 6001 Port for server to bind - workers 1 Number of workers to fork - user swift Swift user + Option | Default | Description + -------------- | ------------ | ------------ + swift\_dir | /etc/swift | Swift configuration directory + devices | /srv/node | Mount parent directory where devices are mounted + mount\_check | true | Whether or not check if the devices are mounted to prevent accidentally writing to the root device + bind\_ip | 0.0.0.0 | IP Address for server to bind + bind\_port | 6001 | Port for server to bind + workers | 1 | Number of workers to fork + user | swift | Swift user : container-server.conf Default Options in the [DEFAULT] section - Option Default Description - --------------- ------------------ ---------------------------------------------------------------------------------------------------------- - use paste.deploy entry point for the container server. For most cases, this should be `egg:swift#container`. - log\_name container-server Label used when logging - log\_facility LOG\_LOCAL0 Syslog log facility - log\_level INFO Logging level - node\_timeout 3 Request timeout to external services - conn\_timeout 0.5 Connection timeout to external services + Option | Default | Description + --------------- | ------------------ | ------------ + use | | paste.deploy entry point for the container server. For most cases, this should be `egg:swift#container`. + log\_name | container-server | Label used when logging + log\_facility | LOG\_LOCAL0 | Syslog log facility + log\_level | INFO | Logging level + node\_timeout | 3 | Request timeout to external services + conn\_timeout | 0.5 | Connection timeout to external services : container-server.conf Server Options in the [container-server] section -Configuring Account Server --------------------------- +##Configuring Account Server The Account Server is very similar to the Container Server, except that it is responsible for listing of containers rather than objects. In UFO, @@ -489,29 +451,28 @@ The configurable options pertaining to account server are stored in The following are the configurable options: - Option Default Description - -------------- ------------ ---------------------------------------------------------------------------------------------------- - swift\_dir /etc/swift Swift configuration directory - devices /srv/node mount parent directory where devices are mounted - mount\_check true Whether or not check if the devices are mounted to prevent accidentally writing to the root device - bind\_ip 0.0.0.0 IP Address for server to bind - bind\_port 6002 Port for server to bind - workers 1 Number of workers to fork - user swift Swift user + Option | Default | Description + -------------- | ------------ | --------------------------- + swift\_dir | /etc/swift | Swift configuration directory + devices | /srv/node | mount parent directory where devices are mounted + mount\_check | true | Whether or not check if the devices are mounted to prevent accidentally writing to the root device + bind\_ip | 0.0.0.0 | IP Address for server to bind + bind\_port | 6002 | Port for server to bind + workers | 1 | Number of workers to fork + user | swift | Swift user : account-server.conf Default Options in the [DEFAULT] section - Option Default Description - --------------- ---------------- ---------------------------------------------------------------------------------------------------------- - use paste.deploy entry point for the container server. For most cases, this should be `egg:swift#container`. - log\_name account-server Label used when logging - log\_facility LOG\_LOCAL0 Syslog log facility - log\_level INFO Logging level + Option | Default | Description + --------------- | ---------------- | --------------------------- + use | | paste.deploy entry point for the container server. For most cases, this should be `egg:swift#container`. + log\_name | account-server | Label used when logging + log\_facility | LOG\_LOCAL0 | Syslog log facility + log\_level | INFO | Logging level : account-server.conf Server Options in the [account-server] section -Starting and Stopping Server ----------------------------- +##Starting and Stopping Server You must start the server manually when system reboots and whenever you update/modify the configuration files. @@ -524,16 +485,14 @@ update/modify the configuration files. `# swift_init main stop` -Working with Unified File and Object Storage -============================================ +##Working with Unified File and Object Storage This section describes the REST API for administering and managing Object Storage. All requests will be directed to the host and URL described in the `X-Storage-URL HTTP` header obtained during successful authentication. -Configuring Authenticated Access --------------------------------- +###Configuring Authenticated Access Authentication is the process of proving identity to the system. To use the REST interface, you must obtain an authorization token using GET @@ -581,8 +540,7 @@ the headers of the response. > > The authentication tokens are valid for a 24 hour period. -Working with Accounts ---------------------- +##Working with Accounts This section describes the list of operations you can perform at the account level of the URL. @@ -593,11 +551,11 @@ You can list the objects of a specific container, or all containers, as needed using GET command. You can use the following optional parameters with GET request to refine the results: - Parameter Description - ----------- -------------------------------------------------------------------------- - limit Limits the number of results to at most *n* value. - marker Returns object names greater in value than the specified marker. - format Specify either json or xml to return the respective serialized response. + Parameter | Description + ----------- | -------------------------------------------------------------------------- + limit | Limits the number of results to at most *n* value. + marker | Returns object names greater in value than the specified marker. + format | Specify either json or xml to return the respective serialized response. **To display container information** @@ -660,8 +618,7 @@ containers and the total bytes stored in the account. AUTH_tkde3ad38b087b49bbbac0494f7600a554' https://example.storage.com:443/v1/AUTH_test -k -Working with Containers ------------------------ +##Working with Containers This section describes the list of operations you can perform at the container level of the URL. @@ -706,14 +663,14 @@ You can list the objects of a container using GET command. You can use the following optional parameters with GET request to refine the results: - Parameter Description - ----------- -------------------------------------------------------------------------------------------------------------- - limit Limits the number of results to at most *n* value. - marker Returns object names greater in value than the specified marker. - prefix Displays the results limited to object names beginning with the substring x. beginning with the substring x. - path Returns the object names nested in the pseudo path. - format Specify either json or xml to return the respective serialized response. - delimiter Returns all the object names nested in the container. + Parameter | Description + ----------- | -------------------------------------------------------------------------------------------------------------- + limit | Limits the number of results to at most *n* value. + marker | Returns object names greater in value than the specified marker. + prefix | Displays the results limited to object names beginning with the substring x. beginning with the substring x. + path | Returns the object names nested in the pseudo path. + format | Specify either json or xml to return the respective serialized response. + delimiter | Returns all the object names nested in the container. To display objects of a container @@ -896,8 +853,7 @@ container using cURL (for the above example), run the following command: https://example.storage.com:443/v1/AUTH_test/images -H 'X-Container-Read: .r:*' -k -Working with Objects --------------------- +##Working with Objects An object represents the data and any metadata for the files stored in the system. Through the REST interface, metadata for an object can be |