Storage5k: Difference between revisions

From Grid5000
Jump to navigation Jump to search
(Redirected page to Unmaintained:Storage5k)
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Maintainer|Nicolas Niclausse}}
#REDIRECT [[Unmaintained:Storage5k]]
{{Portal|User}}
{{Status|In production}}
{{StorageHeader}}
 
= Grid'5000 storage resources =
 
{| class="checks" style="width: auto;"
! class="left" |Sites
! VM Name
! Disk partition
! Size
! status
|-
| class="left" |[[Sophia:Home|Sophia]]
| stock.sophia.grid5000.fr
| /dev/sda
| 2TB
| [[Image:Check.png]]
|-
| class="left" |[[Grenoble:Home|Grenoble]]
|
|
|
| [[Image:Fail.png]]
|-
| class="left" |[[Lille:Home|Lille]]
|
|
|
| [[Image:Fail.png]]
|-
| class="left" |[[Lyon:Home|Lyon]]
|mizar.lyon.grid5000.fr
|
|20TB
| [[Image:Check.png]]
|-
| class="left" |[[Luxembourg:Home|Luxembourg]]
|hera.luxembourg.grid5000.fr
|
|1.80TB
| [[Image:Check.png]]
|-
| class="left" |[[Nancy:Home|Nancy]]
|fgriffon2.nancy.grid5000.fr
|
|2.14TB
| {{Yes}}
|-
| class="left" |[[Rennes:Home|Rennes]]
| srv-bigdata.rennes.grid5000.fr
|
| 6TB
| [[Image:Check.png]]
|}
 
= [[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|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=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>std</code> environments}}

Latest revision as of 10:30, 22 October 2019