Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
software:globus:caviness [2024-04-08 11:38] – anita | software:globus:caviness [2024-04-08 14:49] (current) – [Request a Globus home staging point] anita | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Using Globus on Caviness ====== | ||
+ | ===== Overview ===== | ||
+ | Moving personal data onto and off of the Caviness cluster using the Globus file transfer service uses a staging area on the ''/ | ||
+ | |||
+ | - When you authenticate to activate your Caviness collection, Globus generates a certificate that identifies that activation. | ||
+ | - All navigation and file transfer requests against your Caviness collection are authenticated by that certificate. | ||
+ | - When you share that collection, you are essentially giving your certificate to other Globus users so that they access your Caviness collection as you. | ||
+ | - Thus, //any content to which you have access on your Caviness collection is also visible to the Globus users with whom you've shared access//. | ||
+ | |||
+ | If we were to simply expose the entirety of ''/ | ||
+ | |||
+ | A user requesting Globus-accessible storage is provided a directory (named with the uid number, e.g. 1001) which is his/her staging point: | ||
+ | |||
+ | === Getting files off Caviness === | ||
+ | * Make files already on ''/ | ||
+ | * Copy files from home or workgroup storage to ''/ | ||
+ | * **Please note:** do not create symbolic links in ''/ | ||
+ | |||
+ | === Moving data to Caviness === | ||
+ | * The ''/ | ||
+ | * Files copied to ''/ | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | **PLEASE BE AWARE** that all data moved to Caviness will be consuming storage space on the shared scratch filesystem, ''/ | ||
+ | |||
+ | Should capacity be neared, IT may request that you remove data on ''/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | <WRAP center round alert 60%> | ||
+ | **PLEASE REFRAIN** from modifying the group ownership and permissions on ''/ | ||
+ | </ | ||
+ | |||
+ | ===== Request a Globus home staging point ==== | ||
+ | <WRAP center round alert 60%> | ||
+ | Only available to UD accounts (UDelNet ID) **not** Guest accounts (// | ||
+ | </ | ||
+ | |||
+ | Please submit a [[https:// | ||
+ | |||
+ | ===== Where is my Globus home? ===== | ||
+ | You can find your uid number using the '' | ||
+ | |||
+ | <code bash> | ||
+ | $ id -u | ||
+ | 1001 | ||
+ | </ | ||
+ | |||
+ | This user's Globus home directory would be ''/ | ||
+ | |||
+ | <code bash> | ||
+ | export GLOBUS_HOME="/ | ||
+ | </ | ||
+ | |||
+ | On login, the GLOBUS_HOME environment variable will point to your Globus home directory: | ||
+ | |||
+ | <code bash> | ||
+ | $ echo $GLOBUS_HOME | ||
+ | / | ||
+ | |||
+ | $ ls -l $GLOBUS_HOME | ||
+ | total 100715 | ||
+ | -rw-r--r-- 1 frey everyone 104857600 Jul 30 15:27 borkbork | ||
+ | drwxr-xr-x 2 frey everyone | ||
+ | -rw-r--r-- 1 frey everyone 104857600 Jul 30 15:27 zeroes | ||
+ | </ | ||
+ | |||
+ | ===== Activating your collection ===== | ||
+ | Start by navigating to the [[http:// | ||
+ | |||
+ | * Choose the **University of Delaware** as your organization and click the **Continue** button; on the next page enter your UDelNet Id and Password and continue on to the dashboard. | ||
+ | |||
+ | Click the “File Manager” button {{: | ||
+ | | ||
+ | {{: | ||
+ | |||
+ | The "**UD CAVINESS Cluster - Staging Directory**" | ||
+ | |||
+ | If successful (and you have a Globus home directory) the list of files in ''/ | ||
+ | | ||
+ | {{: | ||
+ | |||
+ | ===== Guest collections ===== | ||
+ | To share your files with others via Globus, a user can create a Guest Collection, which enables sharing a directory in a user’s Globus Home directory. | ||
+ | To create a Guest Collection, you need to first go to the collection details. You can either click the three dots next to the collection: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Or right click on the directory you would like to share and select “Share” | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Click “Add Guest Collection” in the “Collections” tab | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Make sure you at least set the “Directory” and “Display Name” properly. It’s a good idea to fill in the other fields as well: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Once the guest collection is created, you may want to set the permissions of this guest collection, e.g. sharing with specific individuals, | ||
+ | |||
+ | Click the " | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | **PLEASE NOTE: | ||
+ | </ | ||
+ | |||
+ | ===== Examples ===== | ||
+ | |||
+ | ==== Data Upload Repository ==== | ||
+ | In this example, a directory is created under the '' | ||
+ | |||
+ | <code bash> | ||
+ | $ mkdir -p $GLOBUS_HOME/ | ||
+ | </ | ||
+ | |||
+ | A series of transfers are scheduled in the Globus web interface, placing the files in this directory. | ||
+ | |||
+ | After the files have been uploaded, the user moves them from this staging directory to a shared location his workgroup will be able to access: | ||
+ | <code bash> | ||
+ | $ mkdir -p / | ||
+ | $ mv $GLOBUS_HOME/ | ||
+ | </ | ||
+ | |||
+ | Since the source and destination paths are both on the / | ||
+ | |||
+ | ==== Moving to Workgroup Storage ==== | ||
+ | If the final destination of the incoming dataset is the workgroup storage (e.g. a path under '' | ||
+ | <code bash> | ||
+ | $ rsync -ar $GLOBUS_HOME/ | ||
+ | </ | ||
+ | |||
+ | The trailing slashes ("''/''" | ||
+ | |||
+ | See the man page for '' | ||
+ | |||
+ | ==== Data Upload Repository (Large Files) ==== | ||
+ | |||
+ | In the previous example the dataset consisted of many small (4 GB or less) files. | ||
+ | |||
+ | The default striping on ''/ | ||
+ | |||
+ | <code bash> | ||
+ | $ cd $GLOBUS_HOME/ | ||
+ | $ mkdir 20200103T1552-2x1G | ||
+ | $ lfs setstripe --stripe-count 2 --stripe-size 1G 20200103T1552-2x1G | ||
+ | $ ls -ld 20200103T1552-2x1G | ||
+ | drwxr-xr-x 2 frey everyone 95744 Jan 3 15:55 20200103T1552-2x1G | ||
+ | $ lfs getstripe 20200103T1552-2x1G | ||
+ | 20200103T1552-2x1G | ||
+ | stripe_count: | ||
+ | </ | ||
+ | |||
+ | The choice of 1 GB was somewhat arbitrary; in reality, the stripe size is often chosen to reflect an inherent record size associated with the file format. | ||
+ | |||
+ | Globus is used to transfer a data file to this directory. | ||
+ | |||
+ | <code bash> | ||
+ | $ cd $GLOBUS_HOME/ | ||
+ | $ ls -l | ||
+ | total 38 | ||
+ | -rw-r--r-- 1 frey everyone 10485760000 Jan 3 15:57 db-20191231.sqlite3db | ||
+ | $ lfs getstripe db-20191231.sqlite3db | ||
+ | db-20191231.sqlite3db | ||
+ | lmm_stripe_count: | ||
+ | lmm_stripe_size: | ||
+ | lmm_pattern: | ||
+ | lmm_layout_gen: | ||
+ | lmm_stripe_offset: | ||
+ | obdidx objid objid group | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | When this file (or directory) is moved to another directory on ''/ | ||
+ | |||
+ | <code bash> | ||
+ | $ mv $GLOBUS_HOME/ | ||
+ | > / | ||
+ | $ lfs getstripe / | ||
+ | / | ||
+ | lmm_stripe_count: | ||
+ | lmm_stripe_size: | ||
+ | lmm_pattern: | ||
+ | lmm_layout_gen: | ||
+ | lmm_stripe_offset: | ||
+ | obdidx objid objid group | ||
+ | | ||
+ | | ||
+ | </ |