All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aurelien Degremont <aurelien.degremont@cea.fr>
To: lustre-devel@lists.lustre.org
Subject: [Lustre-devel] Lustre HSM HLD draft
Date: Wed, 27 Feb 2008 17:51:04 +0100	[thread overview]
Message-ID: <47C594F8.20409@cea.fr> (raw)
In-Reply-To: <47C34358.6050806@sun.com>


Peter J Braam a ?crit :
>> Coordinator:
>>
>> This element will manage migration externally (HSM) and internally of 
>> Lustre (space balancing?). Is the current API acceptable (specific 
>> calls for external migration, and other ones for internal migration)?
> I would like to see a parameter indicating what agent will be used and 
> keep all other parameters the same.

Agreed.

>>  The best way could have been to have generic call for migration, but 
>> we must also have generic objects to describe the migration sources 
>> and destinations and those are not simples.
> For migration to and from external sources, Lustre must already manage 
> this data in an extended attribute (e.g. to describe the file on tape to 
> which a Lustre file was migrated).  This data is opaque to Lustre and 
> can be passed as a blob.
>> It seems, to support Lustre internal migration, you have planned to 
>> implement specific Agents which will reside on OST.
> To avoid many complications involving locks, we decided that even the 
> agents used for internal migrations will layer on the file system.  The 
> Lustre file system will be mounted on the OST's and it will use the 
> "LOLND" to transport the data efficiently between the OST process and 
> the client file system cache.  In the internal case source and 
> destination lie in Lustre in the HSM case only one of them.
> 
> As a result I believe these two cases are closer together than you may 
> think, and should be one "type".


If we unify the API, we must have a way to request some data movement like:

copy elemA in placeP
copy elemA,stored in placeP bak into Lustre
copy elemA into placeC
move elemB into elemB


The elem could be unified using Lustre FID, but the places could be an 
external storage, or a precise OST. If we want a unify API, the API call 
should manipulate a generic object which could describe a Lustre storage 
element (ost) or a external storage (hsm,...)

ie:
   struct storage_place {
     ...
   }
   copy(fid,storage_place*)
   move(fid,storage_place*)

and their is some specific cases to handle. The other possibity:

   ext_copyout(fid, external storage)
   ext_copyin(fid, external object)
   int_copy(fid, fid, ost)
   int_move(fid, fid, ost)

I think this one, even if the design is not the most beautiful one, if 
the easiest one.

Instead you want to create some new generic objects to manipulate lustre 
object data and generic storage areas, the second case is the best one IMO.


-- 
Aurelien Degremont
CEA

  reply	other threads:[~2008-02-27 16:51 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-07 10:52 [Lustre-devel] Lustre HSM HLD draft DEGREMONT Aurelien
2008-02-08 21:18 ` Nathaniel Rutman
2008-02-11 14:59   ` Aurelien Degremont
2008-02-11 20:33     ` Nathaniel Rutman
2008-02-12  3:55       ` Andreas Dilger
2008-02-12 11:04         ` Eric Barton
2008-02-12 15:25           ` Aurelien Degremont
2008-02-12 17:23             ` Andreas Dilger
2008-02-12 19:43               ` Eric Barton
2008-02-12 23:24               ` Nathaniel Rutman
2008-02-18 21:51 ` Canon, Richard Shane
2008-02-19 17:13   ` Aurelien Degremont
2008-02-25 22:44   ` Peter J Braam
2008-02-21 15:26 ` Aurelien Degremont
2008-02-25 22:38   ` Peter J Braam
2008-02-27 16:51     ` Aurelien Degremont [this message]
2008-02-29  4:30       ` Peter Braam
  -- strict thread matches above, loose matches on Subject: below --
2008-02-07 16:19 Rick Matthews
2008-02-08  0:03 ` JC.LAFOUCRIERE at CEA.FR
2008-02-08 11:52   ` Rick Matthews
2008-02-08 15:55 ` Aurelien Degremont
2008-02-11 18:18   ` Andreas Dilger
2008-02-11 19:38     ` Peter Braam
2008-02-11 21:11     ` Ricardo M. Correia
2008-02-11 21:39       ` Andreas Dilger
2008-02-11 22:07         ` Ricardo M. Correia
2008-02-11 22:32           ` Nathaniel Rutman
2008-02-11 22:46             ` Rick Matthews
2008-02-12 15:41               ` Aurelien Degremont
2008-02-12  0:25             ` Ricardo M. Correia

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47C594F8.20409@cea.fr \
    --to=aurelien.degremont@cea.fr \
    --cc=lustre-devel@lists.lustre.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.