UMobj: Difference between revisions

From UMIACS
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
This is a set of console utilities that are available on all UMIACS supported machines.  They are provided to support our Ceph Object Stores so our users may interact with them on the command line.  In addition each Ceph Object Store in UMIACS has fully functional web application that allows access to your storage from any web browser.
This is a set of console utilities that are available on all UMIACS-supported machines.  They are provided to support our Ceph Object Stores so that our users may interact with them on the command line.  In addition, each Ceph Object Store in UMIACS has a fully-functional web application that allows access to your storage from a web browser.


For UMIACS support machines these utilities are installed at <code>/opt/UMobj/bin</code> however they should already be available in your path.
For UMIACS-supported machines, these utilities are installed at <code>/opt/UMobj/bin</code>; however, they should already be available in your PATH.


==Prerequisites==
==Prerequisites==


To use any of these utilities you either have to pass in on the command line your access and secret keys or you need to set some appropriate environmental variables.  You can obtain your access and secret keys (which are different from your username and password) by visiting the appropriate Ceph Object Store.  The default store is https://obj.umiacs.umd.edu/UMobjstore/user.
To use any of these utilities you either have to pass in your access and secret keys on the command line or you need to set some appropriate environmental variables.  You can obtain your access and secret keys (which are different from your username and password) by visiting the appropriate Ceph Object Store.  The default store is https://obj.umiacs.umd.edu/UMobjstore/.


In that page will be your access and secret keys for that Ceph Object Store.  You can then set for example in bash the following environment variables.
Your access and secret keys for that Ceph Object Store will be displayed upon first login or subsequently by visiting https://obj.umiacs.umd.edu/UMobjstore/user.  You can then set, for example, in bash the following environment variables:


   export OBJ_ACCESS_KEY_ID="31sdfadDFAHFDN+344qOEIS"
   export OBJ_ACCESS_KEY_ID="31sdfadDFAHFDN+344qOEIS"
Line 16: Line 16:
   export OBJ_SERVER="gembox.cbcb.umd.edu"
   export OBJ_SERVER="gembox.cbcb.umd.edu"


You can optionally use the <code>--access_key</code>, <code>--secret_key</code> and <code>--server</code> switches to the utilities.
You can optionally pass the <code>--access_key</code>, <code>--secret_key</code> and <code>--server</code> switches to the utilities.


==lsobj==
==lsobj==


To list the object store you can use the <b>lsobj</b> command.  If given without a argument it will list your buckets (this will only list buckets that you created)
To list the object store you can use the <b>lsobj</b> command.  If given without an argument it will list your buckets. (this will only list buckets that you created)


<pre>
<pre>
Line 29: Line 29:
</pre>
</pre>


You can then give it a bucket to list the contents within the bucket (if you were granted access to a bucket you didn't create you can also use it).  This will list all the keys in your bucket which can take a long time.
You can then give it a bucket to list the contents within the bucket.  If you were granted access to a bucket that you didn't create you can also use it this command.  This will list all the keys in your bucket, which can take a long time.


<pre>
<pre>
Line 44: Line 44:


===Directories===
===Directories===
In a object store there are only buckets and keys (key=value store).  This means your traditional posix directory structure is somewhat faked out using the UNIX "<b>/</b>" character.  Any key in the bucket ending in a / will be interpreted by the <code>lsobj</code>utility and website as a directory.  You can list only subdirectories with the <code>lsobj</code> utility.
In an object store there are only buckets and keys (key=value store).  This means that your traditional posix directory structure is only emulated using the UNIX "<b>/</b>" character within key names.  Any key in the bucket ending in a / will be interpreted by the <code>lsobj</code>utility and website as a directory.  You can also list only subdirectories with the <code>lsobj</code> utility.


<pre>
<pre>
Line 56: Line 56:


==mkobj==
==mkobj==
Creates buckets and directories in the object store.  <b>Please note that bucket names are unique in the object store, so you may very well get an error back that the name is already used.</b>   
mkobj creates buckets and directories in the Object Store.  <b>Please note that bucket names are unique in the Object Store, so you may very well get an error back that the name has already been used.</b>   


<pre>
<pre>
Line 79: Line 79:


==cpobj==
==cpobj==
Copying files to the Object Storage can be done per file or recursively both to and from the object store.  
Copying files to the Object Store can be done per-file or recursively both to and from the Object Store.  


To copy a single file to the Object Store you can use <code>cpobj</code> and specify a bucket with a trailing <code>:</code> (with an optional additional path) .
To copy a single file to the Object Store you can use <code>cpobj</code> and specify a bucket with a trailing <code>:</code> (with an optional additional path).


<pre>
<pre>
Line 100: Line 100:
TOTAL:      0.0 b  0 Files
TOTAL:      0.0 b  0 Files
% cpobj -r /tmp/stuff foo:stuff
% cpobj -r /tmp/stuff foo:stuff
100% |###################################################################################################################|
100% |##############################################################################################|
100% |###################################################################################################################|
100% |##############################################################################################|
100% |###################################################################################################################|
100% |##############################################################################################|
% lsobj foo
% lsobj foo
-rwx--- 2013-10-08T00:13:52.000Z     0.0 b stuff/
-rwx--- 2013-10-08T00:13:52.000Z     0.0 b stuff/

Revision as of 21:55, 8 October 2013

This is a set of console utilities that are available on all UMIACS-supported machines. They are provided to support our Ceph Object Stores so that our users may interact with them on the command line. In addition, each Ceph Object Store in UMIACS has a fully-functional web application that allows access to your storage from a web browser.

For UMIACS-supported machines, these utilities are installed at /opt/UMobj/bin; however, they should already be available in your PATH.

Prerequisites

To use any of these utilities you either have to pass in your access and secret keys on the command line or you need to set some appropriate environmental variables. You can obtain your access and secret keys (which are different from your username and password) by visiting the appropriate Ceph Object Store. The default store is https://obj.umiacs.umd.edu/UMobjstore/.

Your access and secret keys for that Ceph Object Store will be displayed upon first login or subsequently by visiting https://obj.umiacs.umd.edu/UMobjstore/user. You can then set, for example, in bash the following environment variables:

  export OBJ_ACCESS_KEY_ID="31sdfadDFAHFDN+344qOEIS"
  export OBJ_SECRET_ACCESS_KEY="NDSMK3233adfahadflkkPDSH092DSJKDKDJKFDLSFLNK"

If you are not using the default Ceph Object Store you can tell the utilities to use an alternative server.

  export OBJ_SERVER="gembox.cbcb.umd.edu"

You can optionally pass the --access_key, --secret_key and --server switches to the utilities.

lsobj

To list the object store you can use the lsobj command. If given without an argument it will list your buckets. (this will only list buckets that you created)

$ lsobj
bob
test
zeta

You can then give it a bucket to list the contents within the bucket. If you were granted access to a bucket that you didn't create you can also use it this command. This will list all the keys in your bucket, which can take a long time.

$ lsobj test
-rwx---	2013-10-04T15:25:09.000Z	    1.8 KB	UMIACSCA.pem
-rwx---	2013-10-04T15:25:24.000Z	  311.4 KB	cover.jpg
-rwx---	2013-10-04T15:27:39.000Z	    0.0 b 	foo/
-rwx---	2013-10-04T15:27:40.000Z	    0.0 b 	foo/bar
-rwx---	2013-10-04T15:25:32.000Z	   31.8 KB	screenshot.jpg
-rwx---	2013-10-04T15:26:48.000Z	    8.3 KB	thunderbird.xpm
================================================================================
		TOTAL:  	  353.3 KB 	6 Files

Directories

In an object store there are only buckets and keys (key=value store). This means that your traditional posix directory structure is only emulated using the UNIX "/" character within key names. Any key in the bucket ending in a / will be interpreted by the lsobjutility and website as a directory. You can also list only subdirectories with the lsobj utility.

$ lsobj test:foo/
foo/
-rwx---	2013-10-04T15:27:39.000Z	    0.0 b 	foo/
-rwx---	2013-10-04T15:27:40.000Z	    0.0 b 	foo/bar
================================================================================
		TOTAL:  	    0.0 b  	2 Files

mkobj

mkobj creates buckets and directories in the Object Store. Please note that bucket names are unique in the Object Store, so you may very well get an error back that the name has already been used.

$ mkobj foo
Created bucket foo.
$ lsobj
bob
foo
test
zeta

You can also create directories within your buckets to provide a way to group your data.

% mkobj foo:bar/
% lsobj foo
-rwx---	2013-10-04T15:38:38.000Z	    0.0 b 	bar/
================================================================================
		TOTAL:  	    0.0 b  	1 Files

cpobj

Copying files to the Object Store can be done per-file or recursively both to and from the Object Store.

To copy a single file to the Object Store you can use cpobj and specify a bucket with a trailing : (with an optional additional path).

% cpobj test.png foo:
100% |##############################################################################################|
% lsobj foo
-rwx---	2013-10-04T15:38:38.000Z	    0.0 b 	bar/
-rwx---	2013-10-07T20:06:48.000Z	   18.3 KB	test.png
================================================================================
		TOTAL:  	   18.3 KB 	2 Files

To copy a directory of files you will need to use the -r or --recursive flags.

% lsobj foo
================================================================================
		TOTAL:  	    0.0 b  	0 Files
% cpobj -r /tmp/stuff foo:stuff
100% |##############################################################################################|
100% |##############################################################################################|
100% |##############################################################################################|
% lsobj foo
-rwx---	2013-10-08T00:13:52.000Z	    0.0 b 	stuff/
-rwx---	2013-10-08T00:13:55.000Z	   26.0 KB	stuff/WindowsSecurity.png
-rwx---	2013-10-08T00:13:54.000Z	  226.5 KB	stuff/changepass.tiff
-rwx---	2013-10-08T00:13:55.000Z	   18.3 KB	stuff/test.png
================================================================================
		TOTAL:  	  270.8 KB 	9 Files

rmobj

chobj