Group Storage

From Grid5000
Jump to: navigation, search
Note.png Note

This tutorial is actively maintained by the Grid'5000 team. If you encounter problems, please report them (see the Support page). Additionally, as it is a wiki page, you are free to make minor corrections yourself if needed. If you would like to suggest a more fundamental change, please contact the Grid'5000 team.

This service provides large storage spaces, possibly shared between multiple Grid'5000 users. Those storage spaces are accessible on Grid'5000 over NFS.

For smaller storage space (under 200GB), asking for a quota extension for your home may be a better solution.

Using an existing storage space

You must be member of the group associated to storage space to access it. Contact the storage space owner to request an access.

Once you have been authorized, the storage space is available from nodes and frontends at:

node:cd /srv/storage/storage_name@server_address

(autofs is used to remotely mount the storage)

For example:

node:cd /srv/storage/my_storage@storage1.lille.grid5000.fr

You may want to add a symbolic link to this path for convenience:

node:ln -s /srv/storage/my_storage@storage1.lille.grid5000.fr ~/my_storage

Warning.png Warning

This will only work from the frontends or from a node with nfs,big or std environment. Otherwise, you will need to use the storage API to enable access to the storage space. Contact the Grid'5000 team if needed.

Requesting a new storage space

To request a new storage space, please send an email to support-staff@lists.grid5000.fr. Please copy/paste the following text and fill all the required information

  • Email subject:
Group storage creation
  • Email content:
 What is your Grid'5000 login ?
 <...>
 What name do you want for your storage space ? (only lowercase letters, numbers and hyphen (-) allowed)
 <...>
 On which site do you want the storage space ? You can also specify the server.
 <...>
 What is the name of the group you want to be link with this storage space ? (must start by "sto-", only lowercase letters, numbers and hyphen (-) allowed)
 sto-<...>
 Does the group already exists (from another storage space) ?
 Yes/No
 What size do you require for the storage space?
 XXX GBytes/TBytes
 What is the intended usage, in a few lines ?
 <...>
 What is the expiration date (We will contact you before removing your storage) ?
 <...>

The Grid'5000 team will create the storage space, and if the group is new, will create and set you as an owner of the group.

Available servers for storage spaces

Site Server Name Size Status Notes
Lille storage1.lille.grid5000.fr 90TB
Check.png
Lille storage2.lille.grid5000.fr 90TB
Check.png

More servers will be added when this service will no longer be in beta.

Asking for storage extension

You can also contact the Grid'5000 team to get more space or to extend the expiration date of your storage. Just send a mail to support-staff@lists.grid5000.fr with Group storage extension as subject and include the name of your storage, what extension do you need and why do you need it.

Managing the group of users allowed to access the storage

For now, the only way to manage the group is by using the REST API.

To get information about a group you may do:

 frontend:curl 'https://api.grid5000.fr/stable/users/groups/sto-mygroup' | jq 
 {
   "uid": 1234,
   "name": "sto-mygroup",
   "manager_uid": "",
   "enabled": true,
   "system": false,
   "grants_access": false,
   "freely_join": false,
   "freely_leave": true,
   "created_at": "2019-03-06T09:11:13.000Z",
   "updated_at": "2019-03-06T09:22:12.000Z",
   "description": "My awesome group",
   "owners": [
     "dtennant"
   ],
   "delegates": [
     "msmith",
     "dtennant"
   ],
   "members": [
     "dtennant",
     "msmith",
     "pcapaldi"
   ],
   "site": false
 }
Note.png Note

The following point are relevant to basic group management:

  • groups have owners, delegates and members. All owners are delegates and all delegates are members. Owners and delegates have basically the same access rights with respect to membership management, but managing the group's meta-data such as its description is reserved to owners.
  • freely_join: if true, users can freely add themselves to the group. If not, one of the group's delegate must add the user.
  • freely_leave: if true, users can freely remove themselves to the group. If not, one of the group's delegate must remove the user.

To manage a group, for example adding 'jwhittaker' as a member, first we get the current group configuration:

 frontend:curl 'https://api.grid5000.fr/stable/users/groups/sto-mygroup' | jq '.' > group_config.json

Then edit group_config.json by adding 'jwhittaker' to the members array with your favorite text editor. Now we just need to send the new configuration to the API:

 frontend:curl -X PUT -H 'Content-Type: application/json' 'https://api.grid5000.fr/stable/users/groups/sto-mygroup' -d '@group_config.json' | jq

You may have to wait up to 15 minutes for the changes to take effect.