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