Storage5k: Difference between revisions
No edit summary |
No edit summary |
||
Line 74: | Line 74: | ||
|} | |} | ||
= [[Storage5k]] = | |||
= | == Overview == | ||
[[Storage5k]] is a tool for the reservation of large storage, providing much more space than the one available in a user's /home. Contrary to other resource reservations in Grid'5000, the duration of a storage5k reservation is not limited, allowing data to be used in long term experiments. | |||
The data reserved by storage5k is directly accessible on Grid'5000 nodes, using NFS or iSCSI mounts. | |||
You | {{Warning|text=Storage5k is an experimental tool and data integrity is not guaranteed. You MUST backup your important data.}} | ||
See the [[Storage5k]] page to check on which sites Storage5k is available. | |||
== Usage == | |||
The Storage5k tool is available on Grid'5000 frontends. Check if the <code class="command">storage5k</code> command is installed with: | |||
== | <code class="host">frontend: </code><code class="command">storage5k</code> -v | ||
An individual Storage5k resource is called a "chunk", and represents the smallest allocatable unit of storage. A typical chunk size is 10GB but it may vary among Grid'5000 sites. To display the chunks size, use the following command: | |||
<code class="host">frontend: </code><code class="command">storage5k</code> -a chunk_size | |||
Let's say that you need 50GB of space during one day to carry out your experiment. To reserve this storage, use: | |||
<code class="host">frontend: </code><code class="command">storage5k</code> -a add -l chunks=<code class="replace">number</code>,walltime=24 | |||
You can get information on your reserved storage with: | |||
<code class="host">frontend: </code><code class="command">storage5k</code> -a info | |||
Note the '''Job_Id''' field. Actually, a Storage5k reservation is an OAR job ! You can use any of the OAR tools, such as: | |||
=== | <code class="host">frontend: </code><code class="command">oarstat</code> -f -j <code class="replace">storage_job_id</code> | ||
An other important field is '''Source nfs'''. It displays the NFS mount point where your storage is exported. Note that your storage is already available from the frontend: | |||
<code class="host">frontend: </code><code class="command">ls</code> /data/<code class="replace">username</code>_<code class="replace">storage_job_id</code> | |||
<code class="host">frontend: </code><code class="command">cp</code> <code class="replace">my_big_data</code> /data/<code class="replace">username</code>_<code class="replace">storage_job_id</code>/ | |||
Nodes you reserve will automatically have access to the storage. For instance, try this: | |||
<code class="host">frontend: </code><code class="command">oarsub</code> -l nodes=3 -I | |||
<code class="host">node: </code><code class="command">ls</code> /data/<code class="replace">username</code>_<code class="replace">storage_job_id</code>/ | |||
lost+found my_big_data | |||
<code class="host">node: </code><code class="command">oarsh</code> <code class="replace">othernode</code> | |||
<code class="host">othernode: </code><code class="command">ls</code> /data/<code class="replace">username</code>_<code class="replace">storage_job_id</code>/ | |||
lost+found my_big_data | |||
Though there is an exception: Deployed nodes do not mount your reserved storage by default. Let's try: | |||
<code class="host">frontend: </code><code class="command">oarsub</code> -l nodes=3 -t deploy -I | |||
<code class="host">frontend: </code><code class="command">kadeploy3</code> -e wheezy-x64-nfs -f $OAR_NODE_FILE -k | |||
<code class="host">frontend: </code><code class="command">ssh</code> <code class="replace">node</code> | |||
<code class="host">node: </code><code class="command">ls</code> /data | |||
ls: cannot access /data: No such file or directory | |||
<code class="host">node: </code><code class="command">exit</code> | |||
For this situation, Storage5k provides you with a way to mount the reserved space into your nodes. This command will mount your storage in all the nodes belonging to the job <code class="replace">nodes_job_id</code> | |||
<code class="host">frontend: </code><code class="command">storage5k</code> -a mount -j <code class="replace">nodes_job_id</code> | |||
<code class="host">frontend: </code><code class="command">ssh</code> <code class="replace">node</code> | |||
<code class="host">node: </code><code class="command">ls</code> /data/<code class="replace">username</code>_<code class="replace">storage_job_id</code>/ | |||
lost+found my_big_data | |||
You can umount storage with: | |||
<code class="host">frontend: </code><code class="command">storage5k</code> -a umount -j <code class="replace">nodes_job_id</code> | |||
With the knowledge of the '''Source nfs''' entry, you can manually mount your storage as well: | |||
<code class="host">frontend: </code><code class="command">ssh</code> root@<code class="replace">node</code> #As root | |||
root@<code class="host">node: </code><code class="command">mount</code> storage5k.lyon.grid5000.fr:/data/<code class="replace">username_storage_job_id</code> /mnt | |||
root@<code class="host">node: </code><code class="command">exit</code> | |||
<code class="host">frontend: </code><code class="command">ssh </code><code class="replace">node</code> #As normal user | |||
=== | |||
<code class="host">node: </code><code class="command">ls</code> /mnt/ | |||
lost+found my_big_data | |||
<code class="host">node: </code><code class="command">exit</code> | |||
{{Warning|text= | {{Warning|text=Accessing storage in deployed nodes requires the <code>nfs-common</code> package. It is included by default in the <code>nfs</code>, <code>big</code> and <code>prod</code> environments}} | ||
Revision as of 17:17, 1 February 2016
Grid'5000 storage resources
Sites | VM Name | Disk partition | Size | status |
---|---|---|---|---|
Sophia | stock.sophia.grid5000.fr | /dev/sda | 2TB | ![]() |
Grenoble | ![]() | |||
Lille | ![]() | |||
Lyon | mizar.lyon.grid5000.fr | 20TB | ![]() | |
Luxembourg | hera.luxembourg.grid5000.fr | 1.80TB | ![]() | |
Nancy | gras.nancy.grid5000.fr | 2.14TB | ![]() | |
Reims | ![]() | |||
Rennes | srv-bigdata.rennes.grid5000.fr | 6TB | ![]() | |
Bordeaux | ![]() | |||
Toulouse | ![]() |
Storage5k
Overview
Storage5k is a tool for the reservation of large storage, providing much more space than the one available in a user's /home. Contrary to other resource reservations in Grid'5000, the duration of a storage5k reservation is not limited, allowing data to be used in long term experiments.
The data reserved by storage5k is directly accessible on Grid'5000 nodes, using NFS or iSCSI mounts.
![]() |
Warning |
---|---|
Storage5k is an experimental tool and data integrity is not guaranteed. You MUST backup your important data. |
See the Storage5k page to check on which sites Storage5k is available.
Usage
The Storage5k tool is available on Grid'5000 frontends. Check if the storage5k
command is installed with:
frontend:
storage5k
-v
An individual Storage5k resource is called a "chunk", and represents the smallest allocatable unit of storage. A typical chunk size is 10GB but it may vary among Grid'5000 sites. To display the chunks size, use the following command:
frontend:
storage5k
-a chunk_size
Let's say that you need 50GB of space during one day to carry out your experiment. To reserve this storage, use:
frontend:
storage5k
-a add -l chunks=number
,walltime=24
You can get information on your reserved storage with:
frontend:
storage5k
-a info
Note the Job_Id field. Actually, a Storage5k reservation is an OAR job ! You can use any of the OAR tools, such as:
frontend:
oarstat
-f -jstorage_job_id
An other important field is Source nfs. It displays the NFS mount point where your storage is exported. Note that your storage is already available from the frontend:
frontend:
ls
/data/username
_storage_job_id
frontend:
cp
my_big_data
/data/username
_storage_job_id
/
Nodes you reserve will automatically have access to the storage. For instance, try this:
frontend:
oarsub
-l nodes=3 -Inode:
ls
/data/username
_storage_job_id
/ lost+found my_big_datanode:
oarsh
othernode
othernode:
ls
/data/username
_storage_job_id
/ lost+found my_big_data
Though there is an exception: Deployed nodes do not mount your reserved storage by default. Let's try:
frontend:
oarsub
-l nodes=3 -t deploy -Ifrontend:
kadeploy3
-e wheezy-x64-nfs -f $OAR_NODE_FILE -kfrontend:
ssh
node
node:
ls
/data ls: cannot access /data: No such file or directorynode:
exit
For this situation, Storage5k provides you with a way to mount the reserved space into your nodes. This command will mount your storage in all the nodes belonging to the job nodes_job_id
frontend:
storage5k
-a mount -jnodes_job_id
frontend:
ssh
node
node:
ls
/data/username
_storage_job_id
/ lost+found my_big_data
You can umount storage with:
frontend:
storage5k
-a umount -jnodes_job_id
With the knowledge of the Source nfs entry, you can manually mount your storage as well:
frontend:
ssh
root@node
#As root root@node:
mount
storage5k.lyon.grid5000.fr:/data/username_storage_job_id
/mnt root@node:
exit
frontend:
ssh
node
#As normal usernode:
ls
/mnt/ lost+found my_big_datanode:
exit