I will need to setup striping on specific OSTs on demand. Its not a fixed setup. <div><br></div><div>Here is what I am thinking, with my current understanding:</div><div><br></div><div>*) user app sends the details (OST ids, name of the pool) to a listener on MGS</div>
<div>*) a process on MGS executes the command and sends back an ack </div><div>*) user app sets up striping on the newly created pool</div><div>*) pool is deleted once striping is set</div><div><br></div><div>I was hoping to find out if there was a better (and easier) way to do this. </div>
<div><br></div><div>A simple usage case is as follows:</div><div>There are a mix of disks with varying performance in the file system. Depending on the application, I would like to change the disks used for that instance. Say, 10% spindle, 90% SSD, 50-50 for another etc.</div>
<div><br></div><div>The same can be applied to a mix of storage devices in the same file system - disks with varying levels of redundancy or even varying devices. </div><div><br></div><div>Regards,</div><div>Kalyan<br><br>
<div class="gmail_quote">On Mon, Nov 5, 2012 at 12:16 PM, White, Cliff <span dir="ltr"><<a href="mailto:cliff.white@intel.com" target="_blank">cliff.white@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div style="word-wrap:break-word">
<div>Creating/destroying pools must be done as per the manual, from MDS.</div>
<div>Do you need to frequently create/destroy pools, or would you have a fixed setup? </div>
<div><br>
</div>
The normal method is to map various pools (and other striping policies) to directories, then user space applications
<div>can access specific pools by pointing at the requisite directory, thus requiring no special API. </div>
<div>Once pools are created, the directory creation/striping is all done on a client via lfs setstripe, the liblustreapi can </div>
<div>also be used by clients to set striping via C calls. </div>
<div><br>
</div>
<div>Best</div>
<div>cliffw</div>
<div><br>
</div>
<div><br>
<div>
<div>
<div>On Nov 5, 2012, at 10:01 AM, Kalyana C <<a href="mailto:ckkccf@gmail.com" target="_blank">ckkccf@gmail.com</a>></div><div><div class="h5">
<div> wrote:</div>
<br>
<blockquote type="cite">
<div>> Have you considered using a combination of OST Pools and striping fit your needs?<br>
<div></div>
</div>
<div><br>
</div>
This is the only way possible that I currently know of. 
<div><br>
</div>
<div>But is it possible to manage OST pools via an API call? Can it be done from a client under a normal user application? Or does it have the same restrictions as described at <a href="http://wiki.lustre.org/index.php/Creating_and_Managing_OST_Pools" target="_blank">http://wiki.lustre.org/index.php/Creating_and_Managing_OST_Pools</a>
<div><br>
</div>
<div>Regards,</div>
<div>Kalyan<br>
<br>
<div class="gmail_quote">On Mon, Nov 5, 2012 at 11:57 AM, Ben Evans <span dir="ltr">
<<a href="mailto:Ben.Evans@terascala.com" target="_blank">Ben.Evans@terascala.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Have you considered using a combination of OST Pools and striping fit<br>
your needs?<br>
<div>
<div><br>
-----Original Message-----<br>
From: <a href="mailto:lustre-devel-bounces@lists.lustre.org" target="_blank">lustre-devel-bounces@lists.lustre.org</a><br>
[mailto:<a href="mailto:lustre-devel-bounces@lists.lustre.org" target="_blank">lustre-devel-bounces@lists.lustre.org</a>] On Behalf Of Atchley,<br>
Scott<br>
Sent: Monday, November 05, 2012 12:47 PM<br>
To: Kalyana C<br>
Cc: <a href="mailto:lustre-devel@lists.lustre.org" target="_blank">lustre-devel@lists.lustre.org</a><br>
Subject: Re: [Lustre-devel] Control file striping<br>
<br>
On Nov 3, 2012, at 1:41 PM, Kalyana C <<a href="mailto:ckkccf@gmail.com" target="_blank">ckkccf@gmail.com</a>> wrote:<br>
<br>
> Hello,<br>
><br>
> I am trying to figure out a way to:<br>
><br>
> set striping across a set of OSTs of my choice.<br>
><br>
> lfs setstripe command and API call does not allow for this currently.<br>
The user can only set the starting OST through the index parameter. I<br>
appreciate why there is no such feature currently; you do not want to<br>
let the users have control on how OSTs are used since it can result in<br>
OST usage imbalance.<br>
><br>
> However, I do have a valid usage case for such a feature and I am<br>
trying to figure out the best way to do it.<br>
<br>
I have a valid use for it as well. It would be nice to have this feature<br>
back.<br>
<br>
Scott<br>
<br>
><br>
> One way to achieve the same result is through the use of OST pools.<br>
However, the userland tools do not work from a client node, it has to be<br>
run on the MGS. There are also other restrictions as described here:<br>
<a href="http://wiki.lustre.org/index.php/Creating_and_Managing_OST_Pools" target="_blank">http://wiki.lustre.org/index.php/Creating_and_Managing_OST_Pools</a><br>
><br>
> I am also digging through the Lustre source and header files to see if<br>
there are other (undocumented) ways to do this.<br>
><br>
> So, my questions are as follows:<br>
><br>
> 1) Is there currently a way for a user to control the striping of a<br>
file / directory on a selected set of OSTs? If yes, is it possible to do<br>
it through an API call or a command line utility?<br>
><br>
> 2) If answer to (1) is No, Is there a way to do this with admin rights<br>
from the MDS or client nodes?<br>
><br>
> 3) If pools are the only way to achieve this, is there an API call to<br>
create, manage and destroy pools from a user application? Is there any<br>
impact on performance of MDS components if pools are dynamically created<br>
and deleted on demand? Can the API be called from a client node (root or<br>
user) or does it have to be on the MGS?<br>
><br>
> Thank you.<br>
><br>
> Regards,<br>
> Kalyana Chadalavada<br>
><br>
> _______________________________________________<br>
> Lustre-devel mailing list<br>
> <a href="mailto:Lustre-devel@lists.lustre.org" target="_blank">Lustre-devel@lists.lustre.org</a><br>
> <a href="http://lists.lustre.org/mailman/listinfo/lustre-devel" target="_blank">
http://lists.lustre.org/mailman/listinfo/lustre-devel</a><br>
<br>
_______________________________________________<br>
Lustre-devel mailing list<br>
<a href="mailto:Lustre-devel@lists.lustre.org" target="_blank">Lustre-devel@lists.lustre.org</a><br>
<a href="http://lists.lustre.org/mailman/listinfo/lustre-devel" target="_blank">http://lists.lustre.org/mailman/listinfo/lustre-devel</a><br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
_______________________________________________<br>
Lustre-devel mailing list<br>
<a href="mailto:Lustre-devel@lists.lustre.org" target="_blank">Lustre-devel@lists.lustre.org</a><br>
<a href="http://lists.lustre.org/mailman/listinfo/lustre-devel" target="_blank">http://lists.lustre.org/mailman/listinfo/lustre-devel</a><br>
</blockquote>
</div></div></div>
<br>
</div>
</div>
</div>

</blockquote></div><br></div>