Hi Matthieu,

I'm probably too late chiming in, but if you specifically want to specify the list of servers and the stripe size, you might want to look at these two specific examples in the src/apps/admin directory:

- pvfs2-touch: the -l option allows you to specify the list of servers
- pvfs2-cp: the -s option allows you to specify the strip size

I don't see an example that does both simultaneously, but if you combine the layout options from the former and the distribution options from the latter it should do what you want :)

It probably mentions this on the wiki somewhere, but both the layout and distribution (strip size) parameters must be set at file creation time. You cannot modify those parameters for an existing file.

-Phil

On 02/07/2013 11:53 AM, Becky Ligon wrote:
Matthieu:

Look at the Orangefs.org wiki page on distributions and layouts. This page describes how you can specify the different options when creating a file using the API. (http://www.orangefs.org/trac/orangefs/wiki/Distributions)


Becky

On Thu, Feb 7, 2013 at 11:37 AM, Kyle Schochenmaier <[email protected] <mailto:[email protected]>> wrote:

    Hi Mattieu -

    I'm not sure if a 0 size will work, in fact, if it wasnt designed
    in it may crash things (I havent looked at this distribution's
    code in years).

    Moreover, the server numbers you're seeing in the example are the
    servers in the 'stripe' but may not correspond to the logical
    server numbers that you're thinking of.
    This is because the '0th' server in the stripe is determined
    randomly among the set of servers in the filesystem and
    intentionally changes so as to avoid hitting the same server
    repeatedly for every file creation, or in the case of many small
    files that dont fill an entire stripe this prevents uneven
    distribution of the file handles.

    Regards,
    ~Kyle


    Kyle Schochenmaier


    On Thu, Feb 7, 2013 at 10:30 AM, Matthieu Dorier
    <[email protected] <mailto:[email protected]>> wrote:

        Hi Kyle,

        Thank you for the advice, these codes should be indeed a good
        place to start.

        Regarding the distribution, I dug a bit and found here
        http://www.orangefs.org/doxygen/index.html some functions to
        set/get extended attributes (e.g. pvfs_fsetxattr). Then at
        
http://www.pvfs.org/cvs/pvfs-2-8-branch-docs/doc/pvfs2-tuning/pvfs2-tuning.html
        in section 7.4 I see a way to set the stripe size on a
        per-server basis so I guess I could put 0 for the servers I
        don't want to use and a positive value for the servers I want
        to use. Would that work?

        Thanks,

        Matthieu

        ------------------------------------------------------------------------

            *De: *"Kyle Schochenmaier" <[email protected]
            <mailto:[email protected]>>
            *À: *"Matthieu Dorier" <[email protected]
            <mailto:[email protected]>>
            *Cc: *"pvfs2-users" <[email protected]
            <mailto:[email protected]>>
            *Envoyé: *Jeudi 7 Février 2013 17:05:06
            *Objet: *Re: [Pvfs2-users] Using PVFS2's API directly


            Hi Matthieu -

            For API examples I would start with looking at the admin
            tools  like pvfs2-cp, etc as they utilize the libpvfs apis
            directly.

            I'm not sure if you're able to specify any of the
            information you want to on a per-file basis at creation time.
            This information is pulled in from the distribution params
            of the directory the file is created in.  There may be
            other methods I'm not immediately thinking of though...
            I'll let others comment.

            ~Kyle

            Kyle Schochenmaier


            On Thu, Feb 7, 2013 at 7:05 AM, Matthieu Dorier
            <[email protected]
            <mailto:[email protected]>> wrote:

                Hi,

                I would like to use the client API provided by PVFS2,
                without any kernel support or MPI-I/O interface. Where
                can I find documentation and code samples of this API?
                Also I'd like to know if there is a way to specify,
                when creating a file (so from within a client
                application), the list of storage servers to which
                this file should go and the stripe size, in order to
                bypass the configuration of the directory in which the
                file is created?

                Thanks!

                Matthieu Dorier
                PhD student at ENS Cachan Brittany and IRISA
                http://people.irisa.fr/Matthieu.Dorier

                _______________________________________________
                Pvfs2-users mailing list
                [email protected]
                <mailto:[email protected]>
                http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users





    _______________________________________________
    Pvfs2-users mailing list
    [email protected]
    <mailto:[email protected]>
    http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users




--
Becky Ligon
OrangeFS Support and Development
Omnibond Systems
Anderson, South Carolina



_______________________________________________
Pvfs2-users mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users

_______________________________________________
Pvfs2-users mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users

Reply via email to